Files
anjis 427d0f7a9f Support file uploads and the device details page for Elegoo Centauri Carbon 2 (#13212)
* Support file uploads and the device details page for CC2 printers.

* Resolved build issues for Linux and macOS.

* 1. Added `ElegooPrinterWebViewHandler` to handle WebUI messages for Elegoo printers. Other printers will keep the current behavior.
2. Added a static `get_print_host_webui` method in `PrintHost` to retrieve the printer WebUI URL.

* Improved timeout handling for CC2 file upload and SN info APIs.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-16 15:22:31 +08:00

265 lines
3.4 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html lang=""><head><meta charset="UTF-8"><link rel="icon" href="./favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><title>ELEGOO-Create The Future</title><script type="module" crossorigin>var Dte=Object.defineProperty;var ZI=e=>{throw TypeError(e)};var Lte=(e,t,n)=>t in e?Dte(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Nte=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var et=(e,t,n)=>Lte(e,typeof t!="symbol"?t+"":t,n),C6=(e,t,n)=>t.has(e)||ZI("Cannot "+n);var ke=(e,t,n)=>(C6(e,t,"read from private field"),n?n.call(e):t.get(e)),lr=(e,t,n)=>t.has(e)?ZI("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),sn=(e,t,n,r)=>(C6(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Wt=(e,t,n)=>(C6(e,t,"access private method"),n);var d2=(e,t,n,r)=>({set _(i){sn(e,t,i,n)},get _(){return ke(e,t,r)}});var nZe=Nte((sa,aa)=>{/**
* @vue/shared v3.5.20
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**//*! #__NO_SIDE_EFFECTS__ */function vC(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Sr={},kh=[],$i=()=>{},_H=()=>!1,U4=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yC=e=>e.startsWith("onUpdate:"),lo=Object.assign,EC=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Mte=Object.prototype.hasOwnProperty,zn=(e,t)=>Mte.call(e,t),At=Array.isArray,xh=e=>Pg(e)==="[object Map]",j4=e=>Pg(e)==="[object Set]",YI=e=>Pg(e)==="[object Date]",kt=e=>typeof e=="function",Yt=e=>typeof e=="string",hc=e=>typeof e=="symbol",cn=e=>e!==null&&typeof e=="object",D3=e=>(cn(e)||kt(e))&&kt(e.then)&&kt(e.catch),RH=Object.prototype.toString,Pg=e=>RH.call(e),Bte=e=>Pg(e).slice(8,-1),bC=e=>Pg(e)==="[object Object]",SC=e=>Yt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,X1=vC(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),H4=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Fte=/-(\w)/g,Us=H4(e=>e.replace(Fte,(t,n)=>n?n.toUpperCase():"")),Ute=/\B([A-Z])/g,gl=H4(e=>e.replace(Ute,"-$1").toLowerCase()),z4=H4(e=>e.charAt(0).toUpperCase()+e.slice(1)),Q1=H4(e=>e?`on${z4(e)}`:""),Is=(e,t)=>!Object.is(e,t),N5=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},kH=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},JE=e=>{const t=parseFloat(e);return isNaN(t)?e:t},jte=e=>{const t=Yt(e)?Number(e):NaN;return isNaN(t)?e:t};let XI;const W4=()=>XI||(XI=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ut(e){if(At(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],i=Yt(r)?Vte(r):Ut(r);if(i)for(const o in i)t[o]=i[o]}return t}else if(Yt(e)||cn(e))return e}const Hte=/;(?![^(]*\))/g,zte=/:([^]+)/,Wte=/\/\*[^]*?\*\//g;function Vte(e){const t={};return e.replace(Wte,"").split(Hte).forEach(n=>{if(n){const r=n.split(zte);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function je(e){let t="";if(Yt(e))t=e;else if(At(e))for(let n=0;n<e.length;n++){const r=je(e[n]);r&&(t+=r+" ")}else if(cn(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function ZE(e){if(!e)return null;let{class:t,style:n}=e;return t&&!Yt(t)&&(e.class=je(t)),n&&(e.style=Ut(n)),e}const Gte="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Jte=vC(Gte);function xH(e){return!!e||e===""}function Zte(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Qh(e[r],t[r]);return n}function Qh(e,t){if(e===t)return!0;let n=YI(e),r=YI(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=hc(e),r=hc(t),n||r)return e===t;if(n=At(e),r=At(t),n||r)return n&&r?Zte(e,t):!1;if(n=cn(e),r=cn(t),n||r){if(!n||!r)return!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const s in e){const a=e.hasOwnProperty(s),c=t.hasOwnProperty(s);if(a&&!c||!a&&c||!Qh(e[s],t[s]))return!1}}return String(e)===String(t)}function DH(e,t){return e.findIndex(n=>Qh(n,t))}const LH=e=>!!(e&&e.__v_isRef===!0),Ue=e=>Yt(e)?e:e==null?"":At(e)||cn(e)&&(e.toString===RH||!kt(e.toString))?LH(e)?Ue(e.value):JSON.stringify(e,NH,2):String(e),NH=(e,t)=>LH(t)?NH(e,t.value):xh(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,i],o)=>(n[w6(r,o)+" =>"]=i,n),{})}:j4(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>w6(n))}:hc(t)?w6(t):cn(t)&&!At(t)&&!bC(t)?String(t):t,w6=(e,t="")=>{var n;return hc(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function Yte(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}/**
* @vue/reactivity v3.5.20
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let Vo;class MH{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Vo,!t&&Vo&&(this.index=(Vo.scopes||(Vo.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=Vo;try{return Vo=this,t()}finally{Vo=n}}}on(){++this._on===1&&(this.prevScope=Vo,Vo=this)}off(){this._on>0&&--this._on===0&&(Vo=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(this.effects.length=0,n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function V4(e){return new MH(e)}function G4(){return Vo}function J4(e,t=!1){Vo&&Vo.cleanups.push(e)}let Qr;const T6=new WeakSet;class BH{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,Vo&&Vo.active&&Vo.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,T6.has(this)&&(T6.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||UH(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,QI(this),jH(this);const t=Qr,n=lc;Qr=this,lc=!0;try{return this.fn()}finally{HH(this),Qr=t,lc=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)wC(t);this.deps=this.depsTail=void 0,QI(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?T6.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){YE(this)&&this.run()}get dirty(){return YE(this)}}let FH=0,K1,q1;function UH(e,t=!1){if(e.flags|=8,t){e.next=q1,q1=e;return}e.next=K1,K1=e}function AC(){FH++}function CC(){if(--FH>0)return;if(q1){let t=q1;for(q1=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;K1;){let t=K1;for(K1=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function jH(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function HH(e){let t,n=e.depsTail,r=n;for(;r;){const i=r.prevDep;r.version===-1?(r===n&&(n=i),wC(r),Xte(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=i}e.deps=t,e.depsTail=n}function YE(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(zH(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function zH(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Om)||(e.globalVersion=Om,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!YE(e))))return;e.flags|=2;const t=e.dep,n=Qr,r=lc;Qr=e,lc=!0;try{jH(e);const i=e.fn(e._value);(t.version===0||Is(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Qr=n,lc=r,HH(e),e.flags&=-3}}function wC(e,t=!1){const{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)wC(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xte(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let lc=!0;const WH=[];function mu(){WH.push(lc),lc=!1}function gu(){const e=WH.pop();lc=e===void 0?!0:e}function QI(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Qr;Qr=void 0;try{t()}finally{Qr=n}}}let Om=0;class Qte{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Z4{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(!Qr||!lc||Qr===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Qr)n=this.activeLink=new Qte(Qr,this),Qr.deps?(n.prevDep=Qr.depsTail,Qr.depsTail.nextDep=n,Qr.depsTail=n):Qr.deps=Qr.depsTail=n,VH(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Qr.depsTail,n.nextDep=void 0,Qr.depsTail.nextDep=n,Qr.depsTail=n,Qr.deps===n&&(Qr.deps=r)}return n}trigger(t){this.version++,Om++,this.notify(t)}notify(t){AC();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{CC()}}}function VH(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)VH(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const L3=new WeakMap,J0=Symbol(""),XE=Symbol(""),_m=Symbol("");function Zo(e,t,n){if(lc&&Qr){let r=L3.get(e);r||L3.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new Z4),i.map=r,i.key=n),i.track()}}function eu(e,t,n,r,i,o){const s=L3.get(e);if(!s){Om++;return}const a=c=>{c&&c.trigger()};if(AC(),t==="clear")s.forEach(a);else{const c=At(e),l=c&&SC(n);if(c&&n==="length"){const u=Number(r);s.forEach((d,f)=>{(f==="length"||f===_m||!hc(f)&&f>=u)&&a(d)})}else switch((n!==void 0||s.has(void 0))&&a(s.get(n)),l&&a(s.get(_m)),t){case"add":c?l&&a(s.get("length")):(a(s.get(J0)),xh(e)&&a(s.get(XE)));break;case"delete":c||(a(s.get(J0)),xh(e)&&a(s.get(XE)));break;case"set":xh(e)&&a(s.get(J0));break}}CC()}function Kte(e,t){const n=L3.get(e);return n&&n.get(t)}function Lf(e){const t=tr(e);return t===e?t:(Zo(t,"iterate",_m),ka(e)?t:t.map(Po))}function Y4(e){return Zo(e=tr(e),"iterate",_m),e}const qte={__proto__:null,[Symbol.iterator](){return I6(this,Symbol.iterator,Po)},concat(...e){return Lf(this).concat(...e.map(t=>At(t)?Lf(t):t))},entries(){return I6(this,"entries",e=>(e[1]=Po(e[1]),e))},every(e,t){return Pl(this,"every",e,t,void 0,arguments)},filter(e,t){return Pl(this,"filter",e,t,n=>n.map(Po),arguments)},find(e,t){return Pl(this,"find",e,t,Po,arguments)},findIndex(e,t){return Pl(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Pl(this,"findLast",e,t,Po,arguments)},findLastIndex(e,t){return Pl(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Pl(this,"forEach",e,t,void 0,arguments)},includes(...e){return P6(this,"includes",e)},indexOf(...e){return P6(this,"indexOf",e)},join(e){return Lf(this).join(e)},lastIndexOf(...e){return P6(this,"lastIndexOf",e)},map(e,t){return Pl(this,"map",e,t,void 0,arguments)},pop(){return o1(this,"pop")},push(...e){return o1(this,"push",e)},reduce(e,...t){return KI(this,"reduce",e,t)},reduceRight(e,...t){return KI(this,"reduceRight",e,t)},shift(){return o1(this,"shift")},some(e,t){return Pl(this,"some",e,t,void 0,arguments)},splice(...e){return o1(this,"splice",e)},toReversed(){return Lf(this).toReversed()},toSorted(e){return Lf(this).toSorted(e)},toSpliced(...e){return Lf(this).toSpliced(...e)},unshift(...e){return o1(this,"unshift",e)},values(){return I6(this,"values",Po)}};function I6(e,t,n){const r=Y4(e),i=r[t]();return r!==e&&!ka(e)&&(i._next=i.next,i.next=()=>{const o=i._next();return o.value&&(o.value=n(o.value)),o}),i}const $te=Array.prototype;function Pl(e,t,n,r,i,o){const s=Y4(e),a=s!==e&&!ka(e),c=s[t];if(c!==$te[t]){const d=c.apply(e,o);return a?Po(d):d}let l=n;s!==e&&(a?l=function(d,f){return n.call(this,Po(d),f,e)}:n.length>2&&(l=function(d,f){return n.call(this,d,f,e)}));const u=c.call(s,l,r);return a&&i?i(u):u}function KI(e,t,n,r){const i=Y4(e);let o=n;return i!==e&&(ka(e)?n.length>3&&(o=function(s,a,c){return n.call(this,s,a,c,e)}):o=function(s,a,c){return n.call(this,s,Po(a),c,e)}),i[t](o,...r)}function P6(e,t,n){const r=tr(e);Zo(r,"iterate",_m);const i=r[t](...n);return(i===-1||i===!1)&&PC(n[0])?(n[0]=tr(n[0]),r[t](...n)):i}function o1(e,t,n=[]){mu(),AC();const r=tr(e)[t].apply(e,n);return CC(),gu(),r}const ene=vC("__proto__,__v_isRef,__isVue"),GH=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(hc));function tne(e){hc(e)||(e=String(e));const t=tr(this);return Zo(t,"has",e),t.hasOwnProperty(e)}class JH{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(i?o?dne:QH:o?XH:YH).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=At(t);if(!i){let c;if(s&&(c=qte[n]))return c;if(n==="hasOwnProperty")return tne}const a=Reflect.get(t,n,En(t)?t:r);return(hc(n)?GH.has(n):ene(n))||(i||Zo(t,"get",n),o)?a:En(a)?s&&SC(n)?a:a.value:cn(a)?i?vf(a):eo(a):a}}class ZH extends JH{constructor(t=!1){super(!1,t)}set(t,n,r,i){let o=t[n];if(!this._isShallow){const c=Dd(o);if(!ka(r)&&!Dd(r)&&(o=tr(o),r=tr(r)),!At(t)&&En(o)&&!En(r))return c||(o.value=r),!0}const s=At(t)&&SC(n)?Number(n)<t.length:zn(t,n),a=Reflect.set(t,n,r,En(t)?t:i);return t===tr(i)&&(s?Is(r,o)&&eu(t,"set",n,r):eu(t,"add",n,r)),a}deleteProperty(t,n){const r=zn(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&r&&eu(t,"delete",n,void 0),i}has(t,n){const r=Reflect.has(t,n);return(!hc(n)||!GH.has(n))&&Zo(t,"has",n),r}ownKeys(t){return Zo(t,"iterate",At(t)?"length":J0),Reflect.ownKeys(t)}}class nne extends JH{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const rne=new ZH,ine=new nne,one=new ZH(!0),QE=e=>e,f2=e=>Reflect.getPrototypeOf(e);function sne(e,t,n){return function(...r){const i=this.__v_raw,o=tr(i),s=xh(o),a=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,l=i[e](...r),u=n?QE:t?N3:Po;return!t&&Zo(o,"iterate",c?XE:J0),{next(){const{value:d,done:f}=l.next();return f?{value:d,done:f}:{value:a?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function h2(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ane(e,t){const n={get(i){const o=this.__v_raw,s=tr(o),a=tr(i);e||(Is(i,a)&&Zo(s,"get",i),Zo(s,"get",a));const{has:c}=f2(s),l=t?QE:e?N3:Po;if(c.call(s,i))return l(o.get(i));if(c.call(s,a))return l(o.get(a));o!==s&&o.get(i)},get size(){const i=this.__v_raw;return!e&&Zo(tr(i),"iterate",J0),i.size},has(i){const o=this.__v_raw,s=tr(o),a=tr(i);return e||(Is(i,a)&&Zo(s,"has",i),Zo(s,"has",a)),i===a?o.has(i):o.has(i)||o.has(a)},forEach(i,o){const s=this,a=s.__v_raw,c=tr(a),l=t?QE:e?N3:Po;return!e&&Zo(c,"iterate",J0),a.forEach((u,d)=>i.call(o,l(u),l(d),s))}};return lo(n,e?{add:h2("add"),set:h2("set"),delete:h2("delete"),clear:h2("clear")}:{add(i){!t&&!ka(i)&&!Dd(i)&&(i=tr(i));const o=tr(this);return f2(o).has.call(o,i)||(o.add(i),eu(o,"add",i,i)),this},set(i,o){!t&&!ka(o)&&!Dd(o)&&(o=tr(o));const s=tr(this),{has:a,get:c}=f2(s);let l=a.call(s,i);l||(i=tr(i),l=a.call(s,i));const u=c.call(s,i);return s.set(i,o),l?Is(o,u)&&eu(s,"set",i,o):eu(s,"add",i,o),this},delete(i){const o=tr(this),{has:s,get:a}=f2(o);let c=s.call(o,i);c||(i=tr(i),c=s.call(o,i)),a&&a.call(o,i);const l=o.delete(i);return c&&eu(o,"delete",i,void 0),l},clear(){const i=tr(this),o=i.size!==0,s=i.clear();return o&&eu(i,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=sne(i,e,t)}),n}function TC(e,t){const n=ane(e,t);return(r,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?r:Reflect.get(zn(n,i)&&i in r?n:r,i,o)}const cne={get:TC(!1,!1)},lne={get:TC(!1,!0)},une={get:TC(!0,!1)},YH=new WeakMap,XH=new WeakMap,QH=new WeakMap,dne=new WeakMap;function fne(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function hne(e){return e.__v_skip||!Object.isExtensible(e)?0:fne(Bte(e))}function eo(e){return Dd(e)?e:IC(e,!1,rne,cne,YH)}function X4(e){return IC(e,!1,one,lne,XH)}function vf(e){return IC(e,!0,ine,une,QH)}function IC(e,t,n,r,i){if(!cn(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=hne(e);if(o===0)return e;const s=i.get(e);if(s)return s;const a=new Proxy(e,o===2?r:n);return i.set(e,a),a}function Td(e){return Dd(e)?Td(e.__v_raw):!!(e&&e.__v_isReactive)}function Dd(e){return!!(e&&e.__v_isReadonly)}function ka(e){return!!(e&&e.__v_isShallow)}function PC(e){return e?!!e.__v_raw:!1}function tr(e){const t=e&&e.__v_raw;return t?tr(t):e}function Rm(e){return!zn(e,"__v_skip")&&Object.isExtensible(e)&&kH(e,"__v_skip",!0),e}const Po=e=>cn(e)?eo(e):e,N3=e=>cn(e)?vf(e):e;function En(e){return e?e.__v_isRef===!0:!1}function se(e){return KH(e,!1)}function xo(e){return KH(e,!0)}function KH(e,t){return En(e)?e:new pne(e,t)}class pne{constructor(t,n){this.dep=new Z4,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:tr(t),this._value=n?t:Po(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||ka(t)||Dd(t);t=r?t:tr(t),Is(t,n)&&(this._rawValue=t,this._value=r?t:Po(t),this.dep.trigger())}}function P(e){return En(e)?e.value:e}function xa(e){return kt(e)?e():P(e)}const mne={get:(e,t,n)=>t==="__v_raw"?e:P(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const i=e[t];return En(i)&&!En(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function qH(e){return Td(e)?e:new Proxy(e,mne)}class gne{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Z4,{get:r,set:i}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=i}get value(){return this._value=this._get()}set value(t){this._set(t)}}function $H(e){return new gne(e)}function Ud(e){const t=At(e)?new Array(e.length):{};for(const n in e)t[n]=ez(e,n);return t}class vne{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Kte(tr(this._object),this._key)}}class yne{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function _a(e,t,n){return En(e)?e:kt(e)?new yne(e):cn(e)&&arguments.length>1?ez(e,t,n):se(e)}function ez(e,t,n){const r=e[t];return En(r)?r:new vne(e,t,n)}class Ene{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Z4(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Om-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Qr!==this)return UH(this,!0),!0}get value(){const t=this.dep.track();return zH(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function bne(e,t,n=!1){let r,i;return kt(e)?r=e:(r=e.get,i=e.set),new Ene(r,i,n)}const p2={},M3=new WeakMap;let y0;function Sne(e,t=!1,n=y0){if(n){let r=M3.get(n);r||M3.set(n,r=[]),r.push(e)}}function Ane(e,t,n=Sr){const{immediate:r,deep:i,once:o,scheduler:s,augmentJob:a,call:c}=n,l=b=>i?b:ka(b)||i===!1||i===0?tu(b,1):tu(b);let u,d,f,h,p=!1,g=!1;if(En(e)?(d=()=>e.value,p=ka(e)):Td(e)?(d=()=>l(e),p=!0):At(e)?(g=!0,p=e.some(b=>Td(b)||ka(b)),d=()=>e.map(b=>{if(En(b))return b.value;if(Td(b))return l(b);if(kt(b))return c?c(b,2):b()})):kt(e)?t?d=c?()=>c(e,2):e:d=()=>{if(f){mu();try{f()}finally{gu()}}const b=y0;y0=u;try{return c?c(e,3,[h]):e(h)}finally{y0=b}}:d=$i,t&&i){const b=d,S=i===!0?1/0:i;d=()=>tu(b(),S)}const m=G4(),y=()=>{u.stop(),m&&m.active&&EC(m.effects,u)};if(o&&t){const b=t;t=(...S)=>{b(...S),y()}}let v=g?new Array(e.length).fill(p2):p2;const E=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const S=u.run();if(i||p||(g?S.some((w,C)=>Is(w,v[C])):Is(S,v))){f&&f();const w=y0;y0=u;try{const C=[S,v===p2?void 0:g&&v[0]===p2?[]:v,h];v=S,c?c(t,3,C):t(...C)}finally{y0=w}}}else u.run()};return a&&a(E),u=new BH(d),u.scheduler=s?()=>s(E,!1):E,h=b=>Sne(b,!1,u),f=u.onStop=()=>{const b=M3.get(u);if(b){if(c)c(b,4);else for(const S of b)S();M3.delete(u)}},t?r?E(!0):v=u.run():s?s(E.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function tu(e,t=1/0,n){if(t<=0||!cn(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,En(e))tu(e.value,t,n);else if(At(e))for(let r=0;r<e.length;r++)tu(e[r],t,n);else if(j4(e)||xh(e))e.forEach(r=>{tu(r,t,n)});else if(bC(e)){for(const r in e)tu(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tu(e[r],t,n)}return e}/**
* @vue/runtime-core v3.5.20
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Og(e,t,n,r){try{return r?e(...r):e()}catch(i){Q4(i,t,n)}}function pc(e,t,n,r){if(kt(e)){const i=Og(e,t,n,r);return i&&D3(i)&&i.catch(o=>{Q4(o,t,n)}),i}if(At(e)){const i=[];for(let o=0;o<e.length;o++)i.push(pc(e[o],t,n,r));return i}}function Q4(e,t,n,r=!0){const i=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||Sr;if(t){let a=t.parent;const c=t.proxy,l=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const u=a.ec;if(u){for(let d=0;d<u.length;d++)if(u[d](e,c,l)===!1)return}a=a.parent}if(o){mu(),Og(o,null,10,[e,c,l]),gu();return}}Cne(e,n,i,r,s)}function Cne(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}const us=[];let Uc=-1;const Dh=[];let cd=null,sh=0;const tz=Promise.resolve();let B3=null;function Cn(e){const t=B3||tz;return e?t.then(this?e.bind(this):e):t}function wne(e){let t=Uc+1,n=us.length;for(;t<n;){const r=t+n>>>1,i=us[r],o=km(i);o<e||o===e&&i.flags&2?t=r+1:n=r}return t}function OC(e){if(!(e.flags&1)){const t=km(e),n=us[us.length-1];!n||!(e.flags&2)&&t>=km(n)?us.push(e):us.splice(wne(t),0,e),e.flags|=1,nz()}}function nz(){B3||(B3=tz.then(oz))}function rz(e){At(e)?Dh.push(...e):cd&&e.id===-1?cd.splice(sh+1,0,e):e.flags&1||(Dh.push(e),e.flags|=1),nz()}function qI(e,t,n=Uc+1){for(;n<us.length;n++){const r=us[n];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;us.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function iz(e){if(Dh.length){const t=[...new Set(Dh)].sort((n,r)=>km(n)-km(r));if(Dh.length=0,cd){cd.push(...t);return}for(cd=t,sh=0;sh<cd.length;sh++){const n=cd[sh];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}cd=null,sh=0}}const km=e=>e.id==null?e.flags&2?-1:1/0:e.id;function oz(e){try{for(Uc=0;Uc<us.length;Uc++){const t=us[Uc];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Og(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Uc<us.length;Uc++){const t=us[Uc];t&&(t.flags&=-2)}Uc=-1,us.length=0,iz(),B3=null,(us.length||Dh.length)&&oz()}}let ko=null,sz=null;function F3(e){const t=ko;return ko=e,sz=e&&e.type.__scopeId||null,t}function Re(e,t=ko,n){if(!t||e._n)return e;const r=(...i)=>{r._d&&dP(-1);const o=F3(t);let s;try{s=e(...i)}finally{F3(o),r._d&&dP(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function vn(e,t){if(ko===null)return e;const n=ry(ko),r=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[o,s,a,c=Sr]=t[i];o&&(kt(o)&&(o={mounted:o,updated:o}),o.deep&&tu(s),r.push({dir:o,instance:n,value:s,oldValue:void 0,arg:a,modifiers:c}))}return e}function a0(e,t,n,r){const i=e.dirs,o=t&&t.dirs;for(let s=0;s<i.length;s++){const a=i[s];o&&(a.oldValue=o[s].value);let c=a.dir[r];c&&(mu(),pc(c,n,8,[e.el,a,e,t]),gu())}}const az=Symbol("_vte"),cz=e=>e.__isTeleport,$1=e=>e&&(e.disabled||e.disabled===""),$I=e=>e&&(e.defer||e.defer===""),eP=e=>typeof SVGElement<"u"&&e instanceof SVGElement,tP=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,KE=(e,t)=>{const n=e&&e.to;return Yt(n)?t?t(n):null:n},lz={name:"Teleport",__isTeleport:!0,process(e,t,n,r,i,o,s,a,c,l){const{mc:u,pc:d,pbc:f,o:{insert:h,querySelector:p,createText:g,createComment:m}}=l,y=$1(t.props);let{shapeFlag:v,children:E,dynamicChildren:b}=t;if(e==null){const S=t.el=g(""),w=t.anchor=g("");h(S,n,r),h(w,n,r);const C=(I,O)=>{v&16&&(i&&i.isCE&&(i.ce._teleportTarget=I),u(E,I,O,i,o,s,a,c))},_=()=>{const I=t.target=KE(t.props,p),O=uz(I,t,g,h);I&&(s!=="svg"&&eP(I)?s="svg":s!=="mathml"&&tP(I)&&(s="mathml"),y||(C(I,O),M5(t,!1)))};y&&(C(n,w),M5(t,!0)),$I(t.props)?(t.el.__isMounted=!1,os(()=>{_(),delete t.el.__isMounted},o)):_()}else{if($I(t.props)&&e.el.__isMounted===!1){os(()=>{lz.process(e,t,n,r,i,o,s,a,c,l)},o);return}t.el=e.el,t.targetStart=e.targetStart;const S=t.anchor=e.anchor,w=t.target=e.target,C=t.targetAnchor=e.targetAnchor,_=$1(e.props),I=_?n:w,O=_?S:C;if(s==="svg"||eP(w)?s="svg":(s==="mathml"||tP(w))&&(s="mathml"),b?(f(e.dynamicChildren,b,I,i,o,s,a),MC(e,t,!0)):c||d(e,t,I,O,i,o,s,a,!1),y)_?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):m2(t,n,S,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const L=t.target=KE(t.props,p);L&&m2(t,L,null,l,0)}else _&&m2(t,w,C,l,1);M5(t,y)}},remove(e,t,n,{um:r,o:{remove:i}},o){const{shapeFlag:s,children:a,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e;if(d&&(i(l),i(u)),o&&i(c),s&16){const h=o||!$1(f);for(let p=0;p<a.length;p++){const g=a[p];r(g,t,n,h,!!g.dynamicChildren)}}},move:m2,hydrate:Tne};function m2(e,t,n,{o:{insert:r},m:i},o=2){o===0&&r(e.targetAnchor,t,n);const{el:s,anchor:a,shapeFlag:c,children:l,props:u}=e,d=o===2;if(d&&r(s,t,n),(!d||$1(u))&&c&16)for(let f=0;f<l.length;f++)i(l[f],t,n,2);d&&r(a,t,n)}function Tne(e,t,n,r,i,o,{o:{nextSibling:s,parentNode:a,querySelector:c,insert:l,createText:u}},d){const f=t.target=KE(t.props,c);if(f){const h=$1(t.props),p=f._lpa||f.firstChild;if(t.shapeFlag&16)if(h)t.anchor=d(s(e),t,a(e),n,r,i,o),t.targetStart=p,t.targetAnchor=p&&s(p);else{t.anchor=s(e);let g=p;for(;g;){if(g&&g.nodeType===8){if(g.data==="teleport start anchor")t.targetStart=g;else if(g.data==="teleport anchor"){t.targetAnchor=g,f._lpa=t.targetAnchor&&s(t.targetAnchor);break}}g=s(g)}t.targetAnchor||uz(f,t,u,l),d(p&&s(p),t,f,n,r,i,o)}M5(t,h)}return t.anchor&&s(t.anchor)}const Ine=lz;function M5(e,t){const n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute("data-v-owner",n.uid),r=r.nextSibling;n.ut()}}function uz(e,t,n,r){const i=t.targetStart=n(""),o=t.targetAnchor=n("");return i[az]=o,e&&(r(i,e),r(o,e)),o}const Yl=Symbol("_leaveCb"),g2=Symbol("_enterCb");function Pne(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ln(()=>{e.isMounted=!0}),xi(()=>{e.isUnmounting=!0}),e}const da=[Function,Array],dz={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:da,onEnter:da,onAfterEnter:da,onEnterCancelled:da,onBeforeLeave:da,onLeave:da,onAfterLeave:da,onLeaveCancelled:da,onBeforeAppear:da,onAppear:da,onAfterAppear:da,onAppearCancelled:da},fz=e=>{const t=e.subTree;return t.component?fz(t.component):t},One={name:"BaseTransition",props:dz,setup(e,{slots:t}){const n=yn(),r=Pne();return()=>{const i=t.default&&mz(t.default(),!0);if(!i||!i.length)return;const o=hz(i),s=tr(e),{mode:a}=s;if(r.isLeaving)return O6(o);const c=nP(o);if(!c)return O6(o);let l=qE(c,s,r,n,d=>l=d);c.type!==mo&&xm(c,l);let u=n.subTree&&nP(n.subTree);if(u&&u.type!==mo&&!T0(c,u)&&fz(n).type!==mo){let d=qE(u,s,r,n);if(xm(u,d),a==="out-in"&&c.type!==mo)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},O6(o);a==="in-out"&&c.type!==mo?d.delayLeave=(f,h,p)=>{const g=pz(r,u);g[String(u.key)]=u,f[Yl]=()=>{h(),f[Yl]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function hz(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==mo){t=n;break}}return t}const _ne=One;function pz(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function qE(e,t,n,r,i){const{appear:o,mode:s,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:h,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:m,onAppear:y,onAfterAppear:v,onAppearCancelled:E}=t,b=String(e.key),S=pz(n,e),w=(I,O)=>{I&&pc(I,r,9,O)},C=(I,O)=>{const L=O[1];w(I,O),At(I)?I.every(R=>R.length<=1)&&L():I.length<=1&&L()},_={mode:s,persisted:a,beforeEnter(I){let O=c;if(!n.isMounted)if(o)O=m||c;else return;I[Yl]&&I[Yl](!0);const L=S[b];L&&T0(e,L)&&L.el[Yl]&&L.el[Yl](),w(O,[I])},enter(I){let O=l,L=u,R=d;if(!n.isMounted)if(o)O=y||l,L=v||u,R=E||d;else return;let F=!1;const W=I[g2]=J=>{F||(F=!0,J?w(R,[I]):w(L,[I]),_.delayedLeave&&_.delayedLeave(),I[g2]=void 0)};O?C(O,[I,W]):W()},leave(I,O){const L=String(e.key);if(I[g2]&&I[g2](!0),n.isUnmounting)return O();w(f,[I]);let R=!1;const F=I[Yl]=W=>{R||(R=!0,O(),W?w(g,[I]):w(p,[I]),I[Yl]=void 0,S[L]===e&&delete S[L])};S[L]=e,h?C(h,[I,F]):F()},clone(I){const O=qE(I,t,n,r,i);return i&&i(O),O}};return _}function O6(e){if(K4(e))return e=vu(e),e.children=null,e}function nP(e){if(!K4(e))return cz(e.type)&&e.children?hz(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&kt(n.default))return n.default()}}function xm(e,t){e.shapeFlag&6&&e.component?(e.transition=t,xm(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function mz(e,t=!1,n){let r=[],i=0;for(let o=0;o<e.length;o++){let s=e[o];const a=n==null?s.key:String(n)+String(s.key!=null?s.key:o);s.type===Ft?(s.patchFlag&128&&i++,r=r.concat(mz(s.children,t,a))):(t||s.type!==mo)&&r.push(a!=null?vu(s,{key:a}):s)}if(i>1)for(let o=0;o<r.length;o++)r[o].patchFlag=-2;return r}/*! #__NO_SIDE_EFFECTS__ */function Je(e,t){return kt(e)?lo({name:e.name},t,{setup:e}):e}function gz(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function em(e,t,n,r,i=!1){if(At(e)){e.forEach((p,g)=>em(p,t&&(At(t)?t[g]:t),n,r,i));return}if(Lh(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&em(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?ry(r.component):r.el,s=i?null:o,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Sr?a.refs={}:a.refs,d=a.setupState,f=tr(d),h=d===Sr?_H:p=>zn(f,p);if(l!=null&&l!==c){if(Yt(l))u[l]=null,h(l)&&(d[l]=null);else if(En(l)){l.value=null;const p=t;p.k&&(u[p.k]=null)}}if(kt(c))Og(c,a,12,[s,u]);else{const p=Yt(c),g=En(c);if(p||g){const m=()=>{if(e.f){const y=p?h(c)?d[c]:u[c]:c.value;if(i)At(y)&&EC(y,o);else if(At(y))y.includes(o)||y.push(o);else if(p)u[c]=[o],h(c)&&(d[c]=u[c]);else{const v=[o];c.value=v,e.k&&(u[e.k]=v)}}else p?(u[c]=s,h(c)&&(d[c]=s)):g&&(c.value=s,e.k&&(u[e.k]=s))};s?(m.id=-1,os(m,n)):m()}}}W4().requestIdleCallback;W4().cancelIdleCallback;const Lh=e=>!!e.type.__asyncLoader,K4=e=>e.type.__isKeepAlive;function vz(e,t){Ez(e,"a",t)}function yz(e,t){Ez(e,"da",t)}function Ez(e,t,n=Yo){const r=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(q4(t,r,n),n){let i=n.parent;for(;i&&i.parent;)K4(i.parent.vnode)&&Rne(r,t,n,i),i=i.parent}}function Rne(e,t,n,r){const i=q4(t,e,r,!0);yc(()=>{EC(r[t],i)},n)}function q4(e,t,n=Yo,r=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{mu();const a=Rg(n),c=pc(t,n,e,s);return a(),gu(),c});return r?i.unshift(o):i.push(o),o}}const Au=e=>(t,n=Yo)=>{(!Nm||e==="sp")&&q4(e,(...r)=>t(...r),n)},$4=Au("bm"),ln=Au("m"),bz=Au("bu"),ey=Au("u"),xi=Au("bum"),yc=Au("um"),kne=Au("sp"),xne=Au("rtg"),Dne=Au("rtc");function Lne(e,t=Yo){q4("ec",e,t)}const _C="components",Nne="directives";function Ki(e,t){return kC(_C,e,!0,t)||e}const Sz=Symbol.for("v-ndc");function Br(e){return Yt(e)?kC(_C,e,!1)||e:e||Sz}function RC(e){return kC(Nne,e)}function kC(e,t,n=!0,r=!1){const i=ko||Yo;if(i){const o=i.type;if(e===_C){const a=Ere(o,!1);if(a&&(a===t||a===Us(t)||a===z4(Us(t))))return o}const s=rP(i[e]||o[e],t)||rP(i.appContext[e],t);return!s&&r?o:s}}function rP(e,t){return e&&(e[t]||e[Us(t)]||e[z4(Us(t))])}function Rr(e,t,n,r){let i;const o=n,s=At(e);if(s||Yt(e)){const a=s&&Td(e);let c=!1,l=!1;a&&(c=!ka(e),l=Dd(e),e=Y4(e)),i=new Array(e.length);for(let u=0,d=e.length;u<d;u++)i[u]=t(c?l?N3(Po(e[u])):Po(e[u]):e[u],u,void 0,o)}else if(typeof e=="number"){i=new Array(e);for(let a=0;a<e;a++)i[a]=t(a+1,a,void 0,o)}else if(cn(e))if(e[Symbol.iterator])i=Array.from(e,(a,c)=>t(a,c,void 0,o));else{const a=Object.keys(e);i=new Array(a.length);for(let c=0,l=a.length;c<l;c++){const u=a[c];i[c]=t(e[u],u,c,o)}}else i=[];return i}function xC(e,t){for(let n=0;n<t.length;n++){const r=t[n];if(At(r))for(let i=0;i<r.length;i++)e[r[i].name]=r[i].fn;else r&&(e[r.name]=r.key?(...i)=>{const o=r.fn(...i);return o&&(o.key=r.key),o}:r.fn)}return e}function St(e,t,n={},r,i){if(ko.ce||ko.parent&&Lh(ko.parent)&&ko.parent.ce)return t!=="default"&&(n.name=t),ne(),Ze(Ft,null,[be("slot",n,r&&r())],64);let o=e[t];o&&o._c&&(o._d=!1),ne();const s=o&&Az(o(n)),a=n.key||s&&s.key,c=Ze(Ft,{key:(a&&!hc(a)?a:`_${t}`)+(!s&&r?"_fb":"")},s||(r?r():[]),s&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function Az(e){return e.some(t=>Da(t)?!(t.type===mo||t.type===Ft&&!Az(t.children)):!0)?e:null}function Mne(e,t){const n={};for(const r in e)n[Q1(r)]=e[r];return n}const $E=e=>e?Wz(e)?ry(e):$E(e.parent):null,tm=lo(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=>$E(e.parent),$root:e=>$E(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Iz(e),$forceUpdate:e=>e.f||(e.f=()=>{OC(e.update)}),$nextTick:e=>e.n||(e.n=Cn.bind(e.proxy)),$watch:e=>ire.bind(e)}),_6=(e,t)=>e!==Sr&&!e.__isScriptSetup&&zn(e,t),Bne={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:i,props:o,accessCache:s,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const h=s[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(_6(r,t))return s[t]=1,r[t];if(i!==Sr&&zn(i,t))return s[t]=2,i[t];if((l=e.propsOptions[0])&&zn(l,t))return s[t]=3,o[t];if(n!==Sr&&zn(n,t))return s[t]=4,n[t];e7&&(s[t]=0)}}const u=tm[t];let d,f;if(u)return t==="$attrs"&&Zo(e.attrs,"get",""),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==Sr&&zn(n,t))return s[t]=4,n[t];if(f=c.config.globalProperties,zn(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:i,ctx:o}=e;return _6(i,t)?(i[t]=n,!0):r!==Sr&&zn(r,t)?(r[t]=n,!0):zn(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:o,type:s}},a){let c,l;return!!(n[a]||e!==Sr&&a[0]!=="$"&&zn(e,a)||_6(t,a)||(c=o[0])&&zn(c,a)||zn(r,a)||zn(tm,a)||zn(i.config.globalProperties,a)||(l=s.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:zn(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function _g(){return wz().slots}function Cz(){return wz().attrs}function wz(e){const t=yn();return t.setupContext||(t.setupContext=Gz(t))}function U3(e){return At(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Dm(e,t){return!e||!t?e||t:At(e)&&At(t)?e.concat(t):lo({},U3(e),U3(t))}let e7=!0;function Fne(e){const t=Iz(e),n=e.proxy,r=e.ctx;e7=!1,t.beforeCreate&&iP(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:s,watch:a,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:h,updated:p,activated:g,deactivated:m,beforeDestroy:y,beforeUnmount:v,destroyed:E,unmounted:b,render:S,renderTracked:w,renderTriggered:C,errorCaptured:_,serverPrefetch:I,expose:O,inheritAttrs:L,components:R,directives:F,filters:W}=t;if(l&&Une(l,r,null),s)for(const M in s){const B=s[M];kt(B)&&(r[M]=B.bind(n))}if(i){const M=i.call(n,n);cn(M)&&(e.data=eo(M))}if(e7=!0,o)for(const M in o){const B=o[M],q=kt(B)?B.bind(n,n):kt(B.get)?B.get.bind(n,n):$i,z=!kt(B)&&kt(B.set)?B.set.bind(n):$i,A=V({get:q,set:z});Object.defineProperty(r,M,{enumerable:!0,configurable:!0,get:()=>A.value,set:T=>A.value=T})}if(a)for(const M in a)Tz(a[M],r,n,M);if(c){const M=kt(c)?c.call(n):c;Reflect.ownKeys(M).forEach(B=>{ui(B,M[B])})}u&&iP(u,e,"c");function Y(M,B){At(B)?B.forEach(q=>M(q.bind(n))):B&&M(B.bind(n))}if(Y($4,d),Y(ln,f),Y(bz,h),Y(ey,p),Y(vz,g),Y(yz,m),Y(Lne,_),Y(Dne,w),Y(xne,C),Y(xi,v),Y(yc,b),Y(kne,I),At(O))if(O.length){const M=e.exposed||(e.exposed={});O.forEach(B=>{Object.defineProperty(M,B,{get:()=>n[B],set:q=>n[B]=q,enumerable:!0})})}else e.exposed||(e.exposed={});S&&e.render===$i&&(e.render=S),L!=null&&(e.inheritAttrs=L),R&&(e.components=R),F&&(e.directives=F),I&&gz(e)}function Une(e,t,n=$i){At(e)&&(e=t7(e));for(const r in e){const i=e[r];let o;cn(i)?"default"in i?o=Vt(i.from||r,i.default,!0):o=Vt(i.from||r):o=Vt(i),En(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:s=>o.value=s}):t[r]=o}}function iP(e,t,n){pc(At(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Tz(e,t,n,r){let i=r.includes(".")?Bz(n,r):()=>n[r];if(Yt(e)){const o=t[e];kt(o)&&Ye(i,o)}else if(kt(e))Ye(i,e.bind(n));else if(cn(e))if(At(e))e.forEach(o=>Tz(o,t,n,r));else{const o=kt(e.handler)?e.handler.bind(n):t[e.handler];kt(o)&&Ye(i,o,e)}}function Iz(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,a=o.get(t);let c;return a?c=a:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(l=>j3(c,l,s,!0)),j3(c,t,s)),cn(t)&&o.set(t,c),c}function j3(e,t,n,r=!1){const{mixins:i,extends:o}=t;o&&j3(e,o,n,!0),i&&i.forEach(s=>j3(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const a=jne[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const jne={data:oP,props:sP,emits:sP,methods:_1,computed:_1,beforeCreate:ts,created:ts,beforeMount:ts,mounted:ts,beforeUpdate:ts,updated:ts,beforeDestroy:ts,beforeUnmount:ts,destroyed:ts,unmounted:ts,activated:ts,deactivated:ts,errorCaptured:ts,serverPrefetch:ts,components:_1,directives:_1,watch:zne,provide:oP,inject:Hne};function oP(e,t){return t?e?function(){return lo(kt(e)?e.call(this,this):e,kt(t)?t.call(this,this):t)}:t:e}function Hne(e,t){return _1(t7(e),t7(t))}function t7(e){if(At(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ts(e,t){return e?[...new Set([].concat(e,t))]:t}function _1(e,t){return e?lo(Object.create(null),e,t):t}function sP(e,t){return e?At(e)&&At(t)?[...new Set([...e,...t])]:lo(Object.create(null),U3(e),U3(t??{})):t}function zne(e,t){if(!e)return t;if(!t)return e;const n=lo(Object.create(null),e);for(const r in t)n[r]=ts(e[r],t[r]);return n}function Pz(){return{app:null,config:{isNativeTag:_H,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 Wne=0;function Vne(e,t){return function(r,i=null){kt(r)||(r=lo({},r)),i!=null&&!cn(i)&&(i=null);const o=Pz(),s=new WeakSet,a=[];let c=!1;const l=o.app={_uid:Wne++,_component:r,_props:i,_container:null,_context:o,_instance:null,version:Sre,get config(){return o.config},set config(u){},use(u,...d){return s.has(u)||(u&&kt(u.install)?(s.add(u),u.install(l,...d)):kt(u)&&(s.add(u),u(l,...d))),l},mixin(u){return o.mixins.includes(u)||o.mixins.push(u),l},component(u,d){return d?(o.components[u]=d,l):o.components[u]},directive(u,d){return d?(o.directives[u]=d,l):o.directives[u]},mount(u,d,f){if(!c){const h=l._ceVNode||be(r,i);return h.appContext=o,f===!0?f="svg":f===!1&&(f=void 0),e(h,u,f),c=!0,l._container=u,u.__vue_app__=l,ry(h.component)}},onUnmount(u){a.push(u)},unmount(){c&&(pc(a,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(u,d){return o.provides[u]=d,l},runWithContext(u){const d=Z0;Z0=l;try{return u()}finally{Z0=d}}};return l}}let Z0=null;function ui(e,t){if(Yo){let n=Yo.provides;const r=Yo.parent&&Yo.parent.provides;r===n&&(n=Yo.provides=Object.create(r)),n[e]=t}}function Vt(e,t,n=!1){const r=yn();if(r||Z0){let i=Z0?Z0._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&kt(t)?t.call(r&&r.proxy):t}}function DC(){return!!(yn()||Z0)}const Oz={},_z=()=>Object.create(Oz),Rz=e=>Object.getPrototypeOf(e)===Oz;function Gne(e,t,n,r=!1){const i={},o=_z();e.propsDefaults=Object.create(null),kz(e,t,i,o);for(const s in e.propsOptions[0])s in i||(i[s]=void 0);n?e.props=r?i:X4(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function Jne(e,t,n,r){const{props:i,attrs:o,vnode:{patchFlag:s}}=e,a=tr(i),[c]=e.propsOptions;let l=!1;if((r||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let d=0;d<u.length;d++){let f=u[d];if(ny(e.emitsOptions,f))continue;const h=t[f];if(c)if(zn(o,f))h!==o[f]&&(o[f]=h,l=!0);else{const p=Us(f);i[p]=n7(c,a,p,h,e,!1)}else h!==o[f]&&(o[f]=h,l=!0)}}}else{kz(e,t,i,o)&&(l=!0);let u;for(const d in a)(!t||!zn(t,d)&&((u=gl(d))===d||!zn(t,u)))&&(c?n&&(n[d]!==void 0||n[u]!==void 0)&&(i[d]=n7(c,a,d,void 0,e,!0)):delete i[d]);if(o!==a)for(const d in o)(!t||!zn(t,d))&&(delete o[d],l=!0)}l&&eu(e.attrs,"set","")}function kz(e,t,n,r){const[i,o]=e.propsOptions;let s=!1,a;if(t)for(let c in t){if(X1(c))continue;const l=t[c];let u;i&&zn(i,u=Us(c))?!o||!o.includes(u)?n[u]=l:(a||(a={}))[u]=l:ny(e.emitsOptions,c)||(!(c in r)||l!==r[c])&&(r[c]=l,s=!0)}if(o){const c=tr(n),l=a||Sr;for(let u=0;u<o.length;u++){const d=o[u];n[d]=n7(i,c,d,l[d],e,!zn(l,d))}}return s}function n7(e,t,n,r,i,o){const s=e[n];if(s!=null){const a=zn(s,"default");if(a&&r===void 0){const c=s.default;if(s.type!==Function&&!s.skipFactory&&kt(c)){const{propsDefaults:l}=i;if(n in l)r=l[n];else{const u=Rg(i);r=l[n]=c.call(null,t),u()}}else r=c;i.ce&&i.ce._setProp(n,r)}s[0]&&(o&&!a?r=!1:s[1]&&(r===""||r===gl(n))&&(r=!0))}return r}const Zne=new WeakMap;function xz(e,t,n=!1){const r=n?Zne:t.propsCache,i=r.get(e);if(i)return i;const o=e.props,s={},a=[];let c=!1;if(!kt(e)){const u=d=>{c=!0;const[f,h]=xz(d,t,!0);lo(s,f),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return cn(e)&&r.set(e,kh),kh;if(At(o))for(let u=0;u<o.length;u++){const d=Us(o[u]);aP(d)&&(s[d]=Sr)}else if(o)for(const u in o){const d=Us(u);if(aP(d)){const f=o[u],h=s[d]=At(f)||kt(f)?{type:f}:lo({},f),p=h.type;let g=!1,m=!0;if(At(p))for(let y=0;y<p.length;++y){const v=p[y],E=kt(v)&&v.name;if(E==="Boolean"){g=!0;break}else E==="String"&&(m=!1)}else g=kt(p)&&p.name==="Boolean";h[0]=g,h[1]=m,(g||zn(h,"default"))&&a.push(d)}}const l=[s,a];return cn(e)&&r.set(e,l),l}function aP(e){return e[0]!=="$"&&!X1(e)}const LC=e=>e==="_"||e==="_ctx"||e==="$stable",NC=e=>At(e)?e.map(Hc):[Hc(e)],Yne=(e,t,n)=>{if(t._n)return t;const r=Re((...i)=>NC(t(...i)),n);return r._c=!1,r},Dz=(e,t,n)=>{const r=e._ctx;for(const i in e){if(LC(i))continue;const o=e[i];if(kt(o))t[i]=Yne(i,o,r);else if(o!=null){const s=NC(o);t[i]=()=>s}}},Lz=(e,t)=>{const n=NC(t);e.slots.default=()=>n},Nz=(e,t,n)=>{for(const r in t)(n||!LC(r))&&(e[r]=t[r])},Xne=(e,t,n)=>{const r=e.slots=_z();if(e.vnode.shapeFlag&32){const i=t._;i?(Nz(r,t,n),n&&kH(r,"_",i,!0)):Dz(t,r)}else t&&Lz(e,t)},Qne=(e,t,n)=>{const{vnode:r,slots:i}=e;let o=!0,s=Sr;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Nz(i,t,n):(o=!t.$stable,Dz(t,i)),s=t}else t&&(Lz(e,t),s={default:1});if(o)for(const a in i)!LC(a)&&s[a]==null&&delete i[a]},os=ure;function Kne(e){return qne(e)}function qne(e,t){const n=W4();n.__VUE__=!0;const{insert:r,remove:i,patchProp:o,createElement:s,createText:a,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:h=$i,insertStaticContent:p}=e,g=(Z,ae,pe,K=null,ce=null,ye=null,ee=void 0,$=null,ge=!!ae.dynamicChildren)=>{if(Z===ae)return;Z&&!T0(Z,ae)&&(K=te(Z),T(Z,ce,ye,!0),Z=null),ae.patchFlag===-2&&(ge=!1,ae.dynamicChildren=null);const{type:ie,ref:Ie,shapeFlag:Ce}=ae;switch(ie){case yf:m(Z,ae,pe,K);break;case mo:y(Z,ae,pe,K);break;case nm:Z==null&&v(ae,pe,K,ee);break;case Ft:R(Z,ae,pe,K,ce,ye,ee,$,ge);break;default:Ce&1?S(Z,ae,pe,K,ce,ye,ee,$,ge):Ce&6?F(Z,ae,pe,K,ce,ye,ee,$,ge):(Ce&64||Ce&128)&&ie.process(Z,ae,pe,K,ce,ye,ee,$,ge,le)}Ie!=null&&ce?em(Ie,Z&&Z.ref,ye,ae||Z,!ae):Ie==null&&Z&&Z.ref!=null&&em(Z.ref,null,ye,Z,!0)},m=(Z,ae,pe,K)=>{if(Z==null)r(ae.el=a(ae.children),pe,K);else{const ce=ae.el=Z.el;ae.children!==Z.children&&l(ce,ae.children)}},y=(Z,ae,pe,K)=>{Z==null?r(ae.el=c(ae.children||""),pe,K):ae.el=Z.el},v=(Z,ae,pe,K)=>{[Z.el,Z.anchor]=p(Z.children,ae,pe,K,Z.el,Z.anchor)},E=({el:Z,anchor:ae},pe,K)=>{let ce;for(;Z&&Z!==ae;)ce=f(Z),r(Z,pe,K),Z=ce;r(ae,pe,K)},b=({el:Z,anchor:ae})=>{let pe;for(;Z&&Z!==ae;)pe=f(Z),i(Z),Z=pe;i(ae)},S=(Z,ae,pe,K,ce,ye,ee,$,ge)=>{ae.type==="svg"?ee="svg":ae.type==="math"&&(ee="mathml"),Z==null?w(ae,pe,K,ce,ye,ee,$,ge):I(Z,ae,ce,ye,ee,$,ge)},w=(Z,ae,pe,K,ce,ye,ee,$)=>{let ge,ie;const{props:Ie,shapeFlag:Ce,transition:oe,dirs:Ne}=Z;if(ge=Z.el=s(Z.type,ye,Ie&&Ie.is,Ie),Ce&8?u(ge,Z.children):Ce&16&&_(Z.children,ge,null,K,ce,R6(Z,ye),ee,$),Ne&&a0(Z,null,K,"created"),C(ge,Z,Z.scopeId,ee,K),Ie){for(const N in Ie)N!=="value"&&!X1(N)&&o(ge,N,null,Ie[N],ye,K);"value"in Ie&&o(ge,"value",null,Ie.value,ye),(ie=Ie.onVnodeBeforeMount)&&Ic(ie,K,Z)}Ne&&a0(Z,null,K,"beforeMount");const x=$ne(ce,oe);x&&oe.beforeEnter(ge),r(ge,ae,pe),((ie=Ie&&Ie.onVnodeMounted)||x||Ne)&&os(()=>{ie&&Ic(ie,K,Z),x&&oe.enter(ge),Ne&&a0(Z,null,K,"mounted")},ce)},C=(Z,ae,pe,K,ce)=>{if(pe&&h(Z,pe),K)for(let ye=0;ye<K.length;ye++)h(Z,K[ye]);if(ce){let ye=ce.subTree;if(ae===ye||jz(ye.type)&&(ye.ssContent===ae||ye.ssFallback===ae)){const ee=ce.vnode;C(Z,ee,ee.scopeId,ee.slotScopeIds,ce.parent)}}},_=(Z,ae,pe,K,ce,ye,ee,$,ge=0)=>{for(let ie=ge;ie<Z.length;ie++){const Ie=Z[ie]=$?ld(Z[ie]):Hc(Z[ie]);g(null,Ie,ae,pe,K,ce,ye,ee,$)}},I=(Z,ae,pe,K,ce,ye,ee)=>{const $=ae.el=Z.el;let{patchFlag:ge,dynamicChildren:ie,dirs:Ie}=ae;ge|=Z.patchFlag&16;const Ce=Z.props||Sr,oe=ae.props||Sr;let Ne;if(pe&&c0(pe,!1),(Ne=oe.onVnodeBeforeUpdate)&&Ic(Ne,pe,ae,Z),Ie&&a0(ae,Z,pe,"beforeUpdate"),pe&&c0(pe,!0),(Ce.innerHTML&&oe.innerHTML==null||Ce.textContent&&oe.textContent==null)&&u($,""),ie?O(Z.dynamicChildren,ie,$,pe,K,R6(ae,ce),ye):ee||B(Z,ae,$,null,pe,K,R6(ae,ce),ye,!1),ge>0){if(ge&16)L($,Ce,oe,pe,ce);else if(ge&2&&Ce.class!==oe.class&&o($,"class",null,oe.class,ce),ge&4&&o($,"style",Ce.style,oe.style,ce),ge&8){const x=ae.dynamicProps;for(let N=0;N<x.length;N++){const U=x[N],de=Ce[U],we=oe[U];(we!==de||U==="value")&&o($,U,de,we,ce,pe)}}ge&1&&Z.children!==ae.children&&u($,ae.children)}else!ee&&ie==null&&L($,Ce,oe,pe,ce);((Ne=oe.onVnodeUpdated)||Ie)&&os(()=>{Ne&&Ic(Ne,pe,ae,Z),Ie&&a0(ae,Z,pe,"updated")},K)},O=(Z,ae,pe,K,ce,ye,ee)=>{for(let $=0;$<ae.length;$++){const ge=Z[$],ie=ae[$],Ie=ge.el&&(ge.type===Ft||!T0(ge,ie)||ge.shapeFlag&198)?d(ge.el):pe;g(ge,ie,Ie,null,K,ce,ye,ee,!0)}},L=(Z,ae,pe,K,ce)=>{if(ae!==pe){if(ae!==Sr)for(const ye in ae)!X1(ye)&&!(ye in pe)&&o(Z,ye,ae[ye],null,ce,K);for(const ye in pe){if(X1(ye))continue;const ee=pe[ye],$=ae[ye];ee!==$&&ye!=="value"&&o(Z,ye,$,ee,ce,K)}"value"in pe&&o(Z,"value",ae.value,pe.value,ce)}},R=(Z,ae,pe,K,ce,ye,ee,$,ge)=>{const ie=ae.el=Z?Z.el:a(""),Ie=ae.anchor=Z?Z.anchor:a("");let{patchFlag:Ce,dynamicChildren:oe,slotScopeIds:Ne}=ae;Ne&&($=$?$.concat(Ne):Ne),Z==null?(r(ie,pe,K),r(Ie,pe,K),_(ae.children||[],pe,Ie,ce,ye,ee,$,ge)):Ce>0&&Ce&64&&oe&&Z.dynamicChildren?(O(Z.dynamicChildren,oe,pe,ce,ye,ee,$),(ae.key!=null||ce&&ae===ce.subTree)&&MC(Z,ae,!0)):B(Z,ae,pe,Ie,ce,ye,ee,$,ge)},F=(Z,ae,pe,K,ce,ye,ee,$,ge)=>{ae.slotScopeIds=$,Z==null?ae.shapeFlag&512?ce.ctx.activate(ae,pe,K,ee,ge):W(ae,pe,K,ce,ye,ee,ge):J(Z,ae,ge)},W=(Z,ae,pe,K,ce,ye,ee)=>{const $=Z.component=mre(Z,K,ce);if(K4(Z)&&($.ctx.renderer=le),gre($,!1,ee),$.asyncDep){if(ce&&ce.registerDep($,Y,ee),!Z.el){const ge=$.subTree=be(mo);y(null,ge,ae,pe),Z.placeholder=ge.el}}else Y($,Z,ae,pe,ce,ye,ee)},J=(Z,ae,pe)=>{const K=ae.component=Z.component;if(cre(Z,ae,pe))if(K.asyncDep&&!K.asyncResolved){M(K,ae,pe);return}else K.next=ae,K.update();else ae.el=Z.el,K.vnode=ae},Y=(Z,ae,pe,K,ce,ye,ee)=>{const $=()=>{if(Z.isMounted){let{next:Ce,bu:oe,u:Ne,parent:x,vnode:N}=Z;{const Le=Mz(Z);if(Le){Ce&&(Ce.el=N.el,M(Z,Ce,ee)),Le.asyncDep.then(()=>{Z.isUnmounted||$()});return}}let U=Ce,de;c0(Z,!1),Ce?(Ce.el=N.el,M(Z,Ce,ee)):Ce=N,oe&&N5(oe),(de=Ce.props&&Ce.props.onVnodeBeforeUpdate)&&Ic(de,x,Ce,N),c0(Z,!0);const we=lP(Z),Ae=Z.subTree;Z.subTree=we,g(Ae,we,d(Ae.el),te(Ae),Z,ce,ye),Ce.el=we.el,U===null&&lre(Z,we.el),Ne&&os(Ne,ce),(de=Ce.props&&Ce.props.onVnodeUpdated)&&os(()=>Ic(de,x,Ce,N),ce)}else{let Ce;const{el:oe,props:Ne}=ae,{bm:x,m:N,parent:U,root:de,type:we}=Z,Ae=Lh(ae);c0(Z,!1),x&&N5(x),!Ae&&(Ce=Ne&&Ne.onVnodeBeforeMount)&&Ic(Ce,U,ae),c0(Z,!0);{de.ce&&de.ce._def.shadowRoot!==!1&&de.ce._injectChildStyle(we);const Le=Z.subTree=lP(Z);g(null,Le,pe,K,Z,ce,ye),ae.el=Le.el}if(N&&os(N,ce),!Ae&&(Ce=Ne&&Ne.onVnodeMounted)){const Le=ae;os(()=>Ic(Ce,U,Le),ce)}(ae.shapeFlag&256||U&&Lh(U.vnode)&&U.vnode.shapeFlag&256)&&Z.a&&os(Z.a,ce),Z.isMounted=!0,ae=pe=K=null}};Z.scope.on();const ge=Z.effect=new BH($);Z.scope.off();const ie=Z.update=ge.run.bind(ge),Ie=Z.job=ge.runIfDirty.bind(ge);Ie.i=Z,Ie.id=Z.uid,ge.scheduler=()=>OC(Ie),c0(Z,!0),ie()},M=(Z,ae,pe)=>{ae.component=Z;const K=Z.vnode.props;Z.vnode=ae,Z.next=null,Jne(Z,ae.props,K,pe),Qne(Z,ae.children,pe),mu(),qI(Z),gu()},B=(Z,ae,pe,K,ce,ye,ee,$,ge=!1)=>{const ie=Z&&Z.children,Ie=Z?Z.shapeFlag:0,Ce=ae.children,{patchFlag:oe,shapeFlag:Ne}=ae;if(oe>0){if(oe&128){z(ie,Ce,pe,K,ce,ye,ee,$,ge);return}else if(oe&256){q(ie,Ce,pe,K,ce,ye,ee,$,ge);return}}Ne&8?(Ie&16&&me(ie,ce,ye),Ce!==ie&&u(pe,Ce)):Ie&16?Ne&16?z(ie,Ce,pe,K,ce,ye,ee,$,ge):me(ie,ce,ye,!0):(Ie&8&&u(pe,""),Ne&16&&_(Ce,pe,K,ce,ye,ee,$,ge))},q=(Z,ae,pe,K,ce,ye,ee,$,ge)=>{Z=Z||kh,ae=ae||kh;const ie=Z.length,Ie=ae.length,Ce=Math.min(ie,Ie);let oe;for(oe=0;oe<Ce;oe++){const Ne=ae[oe]=ge?ld(ae[oe]):Hc(ae[oe]);g(Z[oe],Ne,pe,null,ce,ye,ee,$,ge)}ie>Ie?me(Z,ce,ye,!0,!1,Ce):_(ae,pe,K,ce,ye,ee,$,ge,Ce)},z=(Z,ae,pe,K,ce,ye,ee,$,ge)=>{let ie=0;const Ie=ae.length;let Ce=Z.length-1,oe=Ie-1;for(;ie<=Ce&&ie<=oe;){const Ne=Z[ie],x=ae[ie]=ge?ld(ae[ie]):Hc(ae[ie]);if(T0(Ne,x))g(Ne,x,pe,null,ce,ye,ee,$,ge);else break;ie++}for(;ie<=Ce&&ie<=oe;){const Ne=Z[Ce],x=ae[oe]=ge?ld(ae[oe]):Hc(ae[oe]);if(T0(Ne,x))g(Ne,x,pe,null,ce,ye,ee,$,ge);else break;Ce--,oe--}if(ie>Ce){if(ie<=oe){const Ne=oe+1,x=Ne<Ie?ae[Ne].el:K;for(;ie<=oe;)g(null,ae[ie]=ge?ld(ae[ie]):Hc(ae[ie]),pe,x,ce,ye,ee,$,ge),ie++}}else if(ie>oe)for(;ie<=Ce;)T(Z[ie],ce,ye,!0),ie++;else{const Ne=ie,x=ie,N=new Map;for(ie=x;ie<=oe;ie++){const He=ae[ie]=ge?ld(ae[ie]):Hc(ae[ie]);He.key!=null&&N.set(He.key,ie)}let U,de=0;const we=oe-x+1;let Ae=!1,Le=0;const ue=new Array(we);for(ie=0;ie<we;ie++)ue[ie]=0;for(ie=Ne;ie<=Ce;ie++){const He=Z[ie];if(de>=we){T(He,ce,ye,!0);continue}let Xe;if(He.key!=null)Xe=N.get(He.key);else for(U=x;U<=oe;U++)if(ue[U-x]===0&&T0(He,ae[U])){Xe=U;break}Xe===void 0?T(He,ce,ye,!0):(ue[Xe-x]=ie+1,Xe>=Le?Le=Xe:Ae=!0,g(He,ae[Xe],pe,null,ce,ye,ee,$,ge),de++)}const Ee=Ae?ere(ue):kh;for(U=Ee.length-1,ie=we-1;ie>=0;ie--){const He=x+ie,Xe=ae[He],qe=ae[He+1],It=He+1<Ie?qe.el||qe.placeholder:K;ue[ie]===0?g(null,Xe,pe,It,ce,ye,ee,$,ge):Ae&&(U<0||ie!==Ee[U]?A(Xe,pe,It,2):U--)}}},A=(Z,ae,pe,K,ce=null)=>{const{el:ye,type:ee,transition:$,children:ge,shapeFlag:ie}=Z;if(ie&6){A(Z.component.subTree,ae,pe,K);return}if(ie&128){Z.suspense.move(ae,pe,K);return}if(ie&64){ee.move(Z,ae,pe,le);return}if(ee===Ft){r(ye,ae,pe);for(let Ce=0;Ce<ge.length;Ce++)A(ge[Ce],ae,pe,K);r(Z.anchor,ae,pe);return}if(ee===nm){E(Z,ae,pe);return}if(K!==2&&ie&1&&$)if(K===0)$.beforeEnter(ye),r(ye,ae,pe),os(()=>$.enter(ye),ce);else{const{leave:Ce,delayLeave:oe,afterLeave:Ne}=$,x=()=>{Z.ctx.isUnmounted?i(ye):r(ye,ae,pe)},N=()=>{ye._isLeaving&&ye[Yl](!0),Ce(ye,()=>{x(),Ne&&Ne()})};oe?oe(ye,x,N):N()}else r(ye,ae,pe)},T=(Z,ae,pe,K=!1,ce=!1)=>{const{type:ye,props:ee,ref:$,children:ge,dynamicChildren:ie,shapeFlag:Ie,patchFlag:Ce,dirs:oe,cacheIndex:Ne}=Z;if(Ce===-2&&(ce=!1),$!=null&&(mu(),em($,null,pe,Z,!0),gu()),Ne!=null&&(ae.renderCache[Ne]=void 0),Ie&256){ae.ctx.deactivate(Z);return}const x=Ie&1&&oe,N=!Lh(Z);let U;if(N&&(U=ee&&ee.onVnodeBeforeUnmount)&&Ic(U,ae,Z),Ie&6)re(Z.component,pe,K);else{if(Ie&128){Z.suspense.unmount(pe,K);return}x&&a0(Z,null,ae,"beforeUnmount"),Ie&64?Z.type.remove(Z,ae,pe,le,K):ie&&!ie.hasOnce&&(ye!==Ft||Ce>0&&Ce&64)?me(ie,ae,pe,!1,!0):(ye===Ft&&Ce&384||!ce&&Ie&16)&&me(ge,ae,pe),K&&k(Z)}(N&&(U=ee&&ee.onVnodeUnmounted)||x)&&os(()=>{U&&Ic(U,ae,Z),x&&a0(Z,null,ae,"unmounted")},pe)},k=Z=>{const{type:ae,el:pe,anchor:K,transition:ce}=Z;if(ae===Ft){j(pe,K);return}if(ae===nm){b(Z);return}const ye=()=>{i(pe),ce&&!ce.persisted&&ce.afterLeave&&ce.afterLeave()};if(Z.shapeFlag&1&&ce&&!ce.persisted){const{leave:ee,delayLeave:$}=ce,ge=()=>ee(pe,ye);$?$(Z.el,ye,ge):ge()}else ye()},j=(Z,ae)=>{let pe;for(;Z!==ae;)pe=f(Z),i(Z),Z=pe;i(ae)},re=(Z,ae,pe)=>{const{bum:K,scope:ce,job:ye,subTree:ee,um:$,m:ge,a:ie}=Z;cP(ge),cP(ie),K&&N5(K),ce.stop(),ye&&(ye.flags|=8,T(ee,Z,ae,pe)),$&&os($,ae),os(()=>{Z.isUnmounted=!0},ae)},me=(Z,ae,pe,K=!1,ce=!1,ye=0)=>{for(let ee=ye;ee<Z.length;ee++)T(Z[ee],ae,pe,K,ce)},te=Z=>{if(Z.shapeFlag&6)return te(Z.component.subTree);if(Z.shapeFlag&128)return Z.suspense.next();const ae=f(Z.anchor||Z.el),pe=ae&&ae[az];return pe?f(pe):ae};let X=!1;const fe=(Z,ae,pe)=>{Z==null?ae._vnode&&T(ae._vnode,null,null,!0):g(ae._vnode||null,Z,ae,null,null,null,pe),ae._vnode=Z,X||(X=!0,qI(),iz(),X=!1)},le={p:g,um:T,m:A,r:k,mt:W,mc:_,pc:B,pbc:O,n:te,o:e};return{render:fe,hydrate:void 0,createApp:Vne(fe)}}function R6({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function c0({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function $ne(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function MC(e,t,n=!1){const r=e.children,i=t.children;if(At(r)&&At(i))for(let o=0;o<r.length;o++){const s=r[o];let a=i[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[o]=ld(i[o]),a.el=s.el),!n&&a.patchFlag!==-2&&MC(s,a)),a.type===yf&&a.patchFlag!==-1&&(a.el=s.el),a.type===mo&&!a.el&&(a.el=s.el)}}function ere(e){const t=e.slice(),n=[0];let r,i,o,s,a;const c=e.length;for(r=0;r<c;r++){const l=e[r];if(l!==0){if(i=n[n.length-1],e[i]<l){t[r]=i,n.push(r);continue}for(o=0,s=n.length-1;o<s;)a=o+s>>1,e[n[a]]<l?o=a+1:s=a;l<e[n[o]]&&(o>0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,s=n[o-1];o-- >0;)n[o]=s,s=t[s];return n}function Mz(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Mz(t)}function cP(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const tre=Symbol.for("v-scx"),nre=()=>Vt(tre);function cu(e,t){return ty(e,null,t)}function rre(e,t){return ty(e,null,{flush:"sync"})}function Ye(e,t,n){return ty(e,t,n)}function ty(e,t,n=Sr){const{immediate:r,deep:i,flush:o,once:s}=n,a=lo({},n),c=t&&r||!t&&o!=="post";let l;if(Nm){if(o==="sync"){const h=nre();l=h.__watcherHandles||(h.__watcherHandles=[])}else if(!c){const h=()=>{};return h.stop=$i,h.resume=$i,h.pause=$i,h}}const u=Yo;a.call=(h,p,g)=>pc(h,u,p,g);let d=!1;o==="post"?a.scheduler=h=>{os(h,u&&u.suspense)}:o!=="sync"&&(d=!0,a.scheduler=(h,p)=>{p?h():OC(h)}),a.augmentJob=h=>{t&&(h.flags|=4),d&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const f=Ane(e,t,a);return Nm&&(l?l.push(f):c&&f()),f}function ire(e,t,n){const r=this.proxy,i=Yt(e)?e.includes(".")?Bz(r,e):()=>r[e]:e.bind(r,r);let o;kt(t)?o=t:(o=t.handler,n=t);const s=Rg(this),a=ty(i,o.bind(r),n);return s(),a}function Bz(e,t){const n=t.split(".");return()=>{let r=e;for(let i=0;i<n.length&&r;i++)r=r[n[i]];return r}}function Nh(e,t,n=Sr){const r=yn(),i=Us(t),o=gl(t),s=Fz(e,i),a=$H((c,l)=>{let u,d=Sr,f;return rre(()=>{const h=e[i];Is(u,h)&&(u=h,l())}),{get(){return c(),n.get?n.get(u):u},set(h){const p=n.set?n.set(h):h;if(!Is(p,u)&&!(d!==Sr&&Is(h,d)))return;const g=r.vnode.props;g&&(t in g||i in g||o in g)&&(`onUpdate:${t}`in g||`onUpdate:${i}`in g||`onUpdate:${o}`in g)||(u=h,l()),r.emit(`update:${t}`,p),Is(h,p)&&Is(h,d)&&!Is(p,f)&&l(),d=h,f=p}}});return a[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?s||Sr:a,done:!1}:{done:!0}}}},a}const Fz=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Us(t)}Modifiers`]||e[`${gl(t)}Modifiers`];function ore(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Sr;let i=n;const o=t.startsWith("update:"),s=o&&Fz(r,t.slice(7));s&&(s.trim&&(i=n.map(u=>Yt(u)?u.trim():u)),s.number&&(i=n.map(JE)));let a,c=r[a=Q1(t)]||r[a=Q1(Us(t))];!c&&o&&(c=r[a=Q1(gl(t))]),c&&pc(c,e,6,i);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,pc(l,e,6,i)}}function Uz(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(i!==void 0)return i;const o=e.emits;let s={},a=!1;if(!kt(e)){const c=l=>{const u=Uz(l,t,!0);u&&(a=!0,lo(s,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!a?(cn(e)&&r.set(e,null),null):(At(o)?o.forEach(c=>s[c]=null):lo(s,o),cn(e)&&r.set(e,s),s)}function ny(e,t){return!e||!U4(t)?!1:(t=t.slice(2).replace(/Once$/,""),zn(e,t[0].toLowerCase()+t.slice(1))||zn(e,gl(t))||zn(e,t))}function lP(e){const{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[o],slots:s,attrs:a,emit:c,render:l,renderCache:u,props:d,data:f,setupState:h,ctx:p,inheritAttrs:g}=e,m=F3(e);let y,v;try{if(n.shapeFlag&4){const b=i||r,S=b;y=Hc(l.call(S,b,u,d,h,f,p)),v=a}else{const b=t;y=Hc(b.length>1?b(d,{attrs:a,slots:s,emit:c}):b(d,null)),v=t.props?a:sre(a)}}catch(b){rm.length=0,Q4(b,e,1),y=be(mo)}let E=y;if(v&&g!==!1){const b=Object.keys(v),{shapeFlag:S}=E;b.length&&S&7&&(o&&b.some(yC)&&(v=are(v,o)),E=vu(E,v,!1,!0))}return n.dirs&&(E=vu(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&xm(E,n.transition),y=E,F3(m),y}const sre=e=>{let t;for(const n in e)(n==="class"||n==="style"||U4(n))&&((t||(t={}))[n]=e[n]);return t},are=(e,t)=>{const n={};for(const r in e)(!yC(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cre(e,t,n){const{props:r,children:i,component:o}=e,{props:s,children:a,patchFlag:c}=t,l=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?uP(r,s,l):!!s;if(c&8){const u=t.dynamicProps;for(let d=0;d<u.length;d++){const f=u[d];if(s[f]!==r[f]&&!ny(l,f))return!0}}}else return(i||a)&&(!a||!a.$stable)?!0:r===s?!1:r?s?uP(r,s,l):!0:!!s;return!1}function uP(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){const o=r[i];if(t[o]!==e[o]&&!ny(n,o))return!0}return!1}function lre({vnode:e,parent:t},n){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r===e)(e=t.vnode).el=n,t=t.parent;else break}}const jz=e=>e.__isSuspense;function ure(e,t){t&&t.pendingBranch?At(e)?t.effects.push(...e):t.effects.push(e):rz(e)}const Ft=Symbol.for("v-fgt"),yf=Symbol.for("v-txt"),mo=Symbol.for("v-cmt"),nm=Symbol.for("v-stc"),rm=[];let ta=null;function ne(e=!1){rm.push(ta=e?null:[])}function dre(){rm.pop(),ta=rm[rm.length-1]||null}let Lm=1;function dP(e,t=!1){Lm+=e,e<0&&ta&&t&&(ta.hasOnce=!0)}function Hz(e){return e.dynamicChildren=Lm>0?ta||kh:null,dre(),Lm>0&&ta&&ta.push(e),e}function Te(e,t,n,r,i,o){return Hz(G(e,t,n,r,i,o,!0))}function Ze(e,t,n,r,i){return Hz(be(e,t,n,r,i,!0))}function Da(e){return e?e.__v_isVNode===!0:!1}function T0(e,t){return e.type===t.type&&e.key===t.key}const zz=({key:e})=>e??null,B5=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Yt(e)||En(e)||kt(e)?{i:ko,r:e,k:t,f:!!n}:e:null);function G(e,t=null,n=null,r=0,i=null,o=e===Ft?0:1,s=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zz(t),ref:t&&B5(t),scopeId:sz,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:ko};return a?(BC(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Yt(n)?8:16),Lm>0&&!s&&ta&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&ta.push(c),c}const be=fre;function fre(e,t=null,n=null,r=0,i=null,o=!1){if((!e||e===Sz)&&(e=mo),Da(e)){const a=vu(e,t,!0);return n&&BC(a,n),Lm>0&&!o&&ta&&(a.shapeFlag&6?ta[ta.indexOf(e)]=a:ta.push(a)),a.patchFlag=-2,a}if(bre(e)&&(e=e.__vccOpts),t){t=r7(t);let{class:a,style:c}=t;a&&!Yt(a)&&(t.class=je(a)),cn(c)&&(PC(c)&&!At(c)&&(c=lo({},c)),t.style=Ut(c))}const s=Yt(e)?1:jz(e)?128:cz(e)?64:cn(e)?4:kt(e)?2:0;return G(e,t,n,r,i,s,o,!0)}function r7(e){return e?PC(e)||Rz(e)?lo({},e):e:null}function vu(e,t,n=!1,r=!1){const{props:i,ref:o,patchFlag:s,children:a,transition:c}=e,l=t?Ko(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&zz(l),ref:t&&t.ref?n&&o?At(o)?o.concat(B5(t)):[o,B5(t)]:B5(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ft?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vu(e.ssContent),ssFallback:e.ssFallback&&vu(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&xm(u,c.clone(u)),u}function yt(e=" ",t=0){return be(yf,null,e,t)}function bi(e,t){const n=be(nm,null,e);return n.staticCount=t,n}function Ke(e="",t=!1){return t?(ne(),Ze(mo,null,e)):be(mo,null,e)}function Hc(e){return e==null||typeof e=="boolean"?be(mo):At(e)?be(Ft,null,e.slice()):Da(e)?ld(e):be(yf,null,String(e))}function ld(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vu(e)}function BC(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(At(t))n=16;else if(typeof t=="object")if(r&65){const i=t.default;i&&(i._c&&(i._d=!1),BC(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Rz(t)?t._ctx=ko:i===3&&ko&&(ko.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else kt(t)?(t={default:t,_ctx:ko},n=32):(t=String(t),r&64?(n=16,t=[yt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ko(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const i in r)if(i==="class")t.class!==r.class&&(t.class=je([t.class,r.class]));else if(i==="style")t.style=Ut([t.style,r.style]);else if(U4(i)){const o=t[i],s=r[i];s&&o!==s&&!(At(o)&&o.includes(s))&&(t[i]=o?[].concat(o,s):s)}else i!==""&&(t[i]=r[i])}return t}function Ic(e,t,n,r=null){pc(e,t,7,[n,r])}const hre=Pz();let pre=0;function mre(e,t,n){const r=e.type,i=(t?t.appContext:e.appContext)||hre,o={uid:pre++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new MH(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:xz(r,i),emitsOptions:Uz(r,i),emit:null,emitted:null,propsDefaults:Sr,inheritAttrs:r.inheritAttrs,ctx:Sr,data:Sr,props:Sr,attrs:Sr,slots:Sr,refs:Sr,setupState:Sr,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=ore.bind(null,o),e.ce&&e.ce(o),o}let Yo=null;const yn=()=>Yo||ko;let H3,i7;{const e=W4(),t=(n,r)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(r),o=>{i.length>1?i.forEach(s=>s(o)):i[0](o)}};H3=t("__VUE_INSTANCE_SETTERS__",n=>Yo=n),i7=t("__VUE_SSR_SETTERS__",n=>Nm=n)}const Rg=e=>{const t=Yo;return H3(e),e.scope.on(),()=>{e.scope.off(),H3(t)}},fP=()=>{Yo&&Yo.scope.off(),H3(null)};function Wz(e){return e.vnode.shapeFlag&4}let Nm=!1;function gre(e,t=!1,n=!1){t&&i7(t);const{props:r,children:i}=e.vnode,o=Wz(e);Gne(e,r,o,t),Xne(e,i,n||t);const s=o?vre(e,t):void 0;return t&&i7(!1),s}function vre(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Bne);const{setup:r}=n;if(r){mu();const i=e.setupContext=r.length>1?Gz(e):null,o=Rg(e),s=Og(r,e,0,[e.props,i]),a=D3(s);if(gu(),o(),(a||e.sp)&&!Lh(e)&&gz(e),a){if(s.then(fP,fP),t)return s.then(c=>{hP(e,c)}).catch(c=>{Q4(c,e,0)});e.asyncDep=s}else hP(e,s)}else Vz(e)}function hP(e,t,n){kt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:cn(t)&&(e.setupState=qH(t)),Vz(e)}function Vz(e,t,n){const r=e.type;e.render||(e.render=r.render||$i);{const i=Rg(e);mu();try{Fne(e)}finally{gu(),i()}}}const yre={get(e,t){return Zo(e,"get",""),e[t]}};function Gz(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,yre),slots:e.slots,emit:e.emit,expose:t}}function ry(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(qH(Rm(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in tm)return tm[n](e)},has(t,n){return n in t||n in tm}})):e.proxy}function Ere(e,t=!0){return kt(e)?e.displayName||e.name:e.name||t&&e.__name}function bre(e){return kt(e)&&"__vccOpts"in e}const V=(e,t)=>bne(e,t,Nm);function hn(e,t,n){const r=arguments.length;return r===2?cn(t)&&!At(t)?Da(t)?be(e,null,[t]):be(e,t):be(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Da(n)&&(n=[n]),be(e,t,n))}const Sre="3.5.20",Are=$i;/**
* @vue/runtime-dom v3.5.20
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let o7;const pP=typeof window<"u"&&window.trustedTypes;if(pP)try{o7=pP.createPolicy("vue",{createHTML:e=>e})}catch{}const Jz=o7?e=>o7.createHTML(e):e=>e,Cre="http://www.w3.org/2000/svg",wre="http://www.w3.org/1998/Math/MathML",Wl=typeof document<"u"?document:null,mP=Wl&&Wl.createElement("template"),Tre={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const i=t==="svg"?Wl.createElementNS(Cre,e):t==="mathml"?Wl.createElementNS(wre,e):n?Wl.createElement(e,{is:n}):Wl.createElement(e);return e==="select"&&r&&r.multiple!=null&&i.setAttribute("multiple",r.multiple),i},createText:e=>Wl.createTextNode(e),createComment:e=>Wl.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wl.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,i,o){const s=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{mP.innerHTML=Jz(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const a=mP.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Nu="transition",s1="animation",Mm=Symbol("_vtc"),Zz={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ire=lo({},dz,Zz),Pre=e=>(e.displayName="Transition",e.props=Ire,e),Cu=Pre((e,{slots:t})=>hn(_ne,Ore(e),t)),l0=(e,t=[])=>{At(e)?e.forEach(n=>n(...t)):e&&e(...t)},gP=e=>e?At(e)?e.some(t=>t.length>1):e.length>1:!1;function Ore(e){const t={};for(const R in e)R in Zz||(t[R]=e[R]);if(e.css===!1)return t;const{name:n="v",type:r,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:l=s,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=_re(i),g=p&&p[0],m=p&&p[1],{onBeforeEnter:y,onEnter:v,onEnterCancelled:E,onLeave:b,onLeaveCancelled:S,onBeforeAppear:w=y,onAppear:C=v,onAppearCancelled:_=E}=t,I=(R,F,W,J)=>{R._enterCancelled=J,u0(R,F?u:a),u0(R,F?l:s),W&&W()},O=(R,F)=>{R._isLeaving=!1,u0(R,d),u0(R,h),u0(R,f),F&&F()},L=R=>(F,W)=>{const J=R?C:v,Y=()=>I(F,R,W);l0(J,[F,Y]),vP(()=>{u0(F,R?c:o),Ol(F,R?u:a),gP(J)||yP(F,r,g,Y)})};return lo(t,{onBeforeEnter(R){l0(y,[R]),Ol(R,o),Ol(R,s)},onBeforeAppear(R){l0(w,[R]),Ol(R,c),Ol(R,l)},onEnter:L(!1),onAppear:L(!0),onLeave(R,F){R._isLeaving=!0;const W=()=>O(R,F);Ol(R,d),R._enterCancelled?(Ol(R,f),SP()):(SP(),Ol(R,f)),vP(()=>{R._isLeaving&&(u0(R,d),Ol(R,h),gP(b)||yP(R,r,m,W))}),l0(b,[R,W])},onEnterCancelled(R){I(R,!1,void 0,!0),l0(E,[R])},onAppearCancelled(R){I(R,!0,void 0,!0),l0(_,[R])},onLeaveCancelled(R){O(R),l0(S,[R])}})}function _re(e){if(e==null)return null;if(cn(e))return[k6(e.enter),k6(e.leave)];{const t=k6(e);return[t,t]}}function k6(e){return jte(e)}function Ol(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Mm]||(e[Mm]=new Set)).add(t)}function u0(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Mm];n&&(n.delete(t),n.size||(e[Mm]=void 0))}function vP(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rre=0;function yP(e,t,n,r){const i=e._endId=++Rre,o=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:s,timeout:a,propCount:c}=kre(e,t);if(!s)return r();const l=s+"end";let u=0;const d=()=>{e.removeEventListener(l,f),o()},f=h=>{h.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},a+1),e.addEventListener(l,f)}function kre(e,t){const n=window.getComputedStyle(e),r=p=>(n[p]||"").split(", "),i=r(`${Nu}Delay`),o=r(`${Nu}Duration`),s=EP(i,o),a=r(`${s1}Delay`),c=r(`${s1}Duration`),l=EP(a,c);let u=null,d=0,f=0;t===Nu?s>0&&(u=Nu,d=s,f=o.length):t===s1?l>0&&(u=s1,d=l,f=c.length):(d=Math.max(s,l),u=d>0?s>l?Nu:s1:null,f=u?u===Nu?o.length:c.length:0);const h=u===Nu&&/\b(transform|all)(,|$)/.test(r(`${Nu}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:h}}function EP(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>bP(n)+bP(e[r])))}function bP(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function SP(){return document.body.offsetHeight}function xre(e,t,n){const r=e[Mm];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const z3=Symbol("_vod"),Yz=Symbol("_vsh"),_r={name:"show",beforeMount(e,{value:t},{transition:n}){e[z3]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):a1(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),a1(e,!0),r.enter(e)):r.leave(e,()=>{a1(e,!1)}):a1(e,t))},beforeUnmount(e,{value:t}){a1(e,t)}};function a1(e,t){e.style.display=t?e[z3]:"none",e[Yz]=!t}const Xz=Symbol("");function Dre(e){const t=yn();if(!t)return;const n=t.ut=(i=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>W3(o,i))},r=()=>{const i=e(t.proxy);t.ce?W3(t.ce,i):s7(t.subTree,i),n(i)};bz(()=>{rz(r)}),ln(()=>{Ye(r,$i,{flush:"post"});const i=new MutationObserver(r);i.observe(t.subTree.el.parentNode,{childList:!0}),yc(()=>i.disconnect())})}function s7(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{s7(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)W3(e.el,t);else if(e.type===Ft)e.children.forEach(n=>s7(n,t));else if(e.type===nm){let{el:n,anchor:r}=e;for(;n&&(W3(n,t),n!==r);)n=n.nextSibling}}function W3(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const i in t){const o=Yte(t[i]);n.setProperty(`--${i}`,o),r+=`--${i}: ${o};`}n[Xz]=r}}const Lre=/(^|;)\s*display\s*:/;function Nre(e,t,n){const r=e.style,i=Yt(n);let o=!1;if(n&&!i){if(t)if(Yt(t))for(const s of t.split(";")){const a=s.slice(0,s.indexOf(":")).trim();n[a]==null&&F5(r,a,"")}else for(const s in t)n[s]==null&&F5(r,s,"");for(const s in n)s==="display"&&(o=!0),F5(r,s,n[s])}else if(i){if(t!==n){const s=r[Xz];s&&(n+=";"+s),r.cssText=n,o=Lre.test(n)}}else t&&e.removeAttribute("style");z3 in e&&(e[z3]=o?r.display:"",e[Yz]&&(r.display="none"))}const AP=/\s*!important$/;function F5(e,t,n){if(At(n))n.forEach(r=>F5(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Mre(e,t);AP.test(n)?e.setProperty(gl(r),n.replace(AP,""),"important"):e[r]=n}}const CP=["Webkit","Moz","ms"],x6={};function Mre(e,t){const n=x6[t];if(n)return n;let r=Us(t);if(r!=="filter"&&r in e)return x6[t]=r;r=z4(r);for(let i=0;i<CP.length;i++){const o=CP[i]+r;if(o in e)return x6[t]=o}return t}const wP="http://www.w3.org/1999/xlink";function TP(e,t,n,r,i,o=Jte(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(wP,t.slice(6,t.length)):e.setAttributeNS(wP,t,n):n==null||o&&!xH(n)?e.removeAttribute(t):e.setAttribute(t,o?"":hc(n)?String(n):n)}function IP(e,t,n,r,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Jz(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const a=o==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(a!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let s=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=xH(n):n==null&&a==="string"?(n="",s=!0):a==="number"&&(n=0,s=!0)}try{e[t]=n}catch{}s&&e.removeAttribute(i||t)}function fd(e,t,n,r){e.addEventListener(t,n,r)}function Bre(e,t,n,r){e.removeEventListener(t,n,r)}const PP=Symbol("_vei");function Fre(e,t,n,r,i=null){const o=e[PP]||(e[PP]={}),s=o[t];if(r&&s)s.value=r;else{const[a,c]=Ure(t);if(r){const l=o[t]=zre(r,i);fd(e,a,l,c)}else s&&(Bre(e,a,s,c),o[t]=void 0)}}const OP=/(?:Once|Passive|Capture)$/;function Ure(e){let t;if(OP.test(e)){t={};let r;for(;r=e.match(OP);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):gl(e.slice(2)),t]}let D6=0;const jre=Promise.resolve(),Hre=()=>D6||(jre.then(()=>D6=0),D6=Date.now());function zre(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;pc(Wre(r,n.value),t,5,[r])};return n.value=e,n.attached=Hre(),n}function Wre(e,t){if(At(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>i=>!i._stopped&&r&&r(i))}else return t}const _P=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vre=(e,t,n,r,i,o)=>{const s=i==="svg";t==="class"?xre(e,r,s):t==="style"?Nre(e,n,r):U4(t)?yC(t)||Fre(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Gre(e,t,r,s))?(IP(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&TP(e,t,r,s,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Yt(r))?IP(e,Us(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),TP(e,t,r,s))};function Gre(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&_P(t)&&kt(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return _P(t)&&Yt(n)?!1:t in e}const Kh=e=>{const t=e.props["onUpdate:modelValue"]||!1;return At(t)?n=>N5(t,n):t};function Jre(e){e.target.composing=!0}function RP(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const lu=Symbol("_assign"),Qz={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[lu]=Kh(i);const o=r||i.props&&i.props.type==="number";fd(e,t?"change":"input",s=>{if(s.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=JE(a)),e[lu](a)}),n&&fd(e,"change",()=>{e.value=e.value.trim()}),t||(fd(e,"compositionstart",Jre),fd(e,"compositionend",RP),fd(e,"change",RP))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:o}},s){if(e[lu]=Kh(s),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?JE(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c))}},Y0={deep:!0,created(e,t,n){e[lu]=Kh(n),fd(e,"change",()=>{const r=e._modelValue,i=qz(e),o=e.checked,s=e[lu];if(At(r)){const a=DH(r,i),c=a!==-1;if(o&&!c)s(r.concat(i));else if(!o&&c){const l=[...r];l.splice(a,1),s(l)}}else if(j4(r)){const a=new Set(r);o?a.add(i):a.delete(i),s(a)}else s($z(e,o))})},mounted:kP,beforeUpdate(e,t,n){e[lu]=Kh(n),kP(e,t,n)}};function kP(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(At(t))i=DH(t,r.props.value)>-1;else if(j4(t))i=t.has(r.props.value);else{if(t===n)return;i=Qh(t,$z(e,!0))}e.checked!==i&&(e.checked=i)}const Kz={created(e,{value:t},n){e.checked=Qh(t,n.props.value),e[lu]=Kh(n),fd(e,"change",()=>{e[lu](qz(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[lu]=Kh(r),t!==n&&(e.checked=Qh(t,r.props.value))}};function qz(e){return"_value"in e?e._value:e.value}function $z(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Zre=["ctrl","shift","alt","meta"],Yre={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zre.some(n=>e[`${n}Key`]&&!t.includes(n))},Nr=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((i,...o)=>{for(let s=0;s<t.length;s++){const a=Yre[t[s]];if(a&&a(i,t))return}return e(i,...o)}))},Xre={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Wc=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(i=>{if(!("key"in i))return;const o=gl(i.key);if(t.some(s=>s===o||Xre[s]===o))return e(i)}))},Qre=lo({patchProp:Vre},Tre);let xP;function eW(){return xP||(xP=Kne(Qre))}const V3=((...e)=>{eW().render(...e)}),tW=((...e)=>{const t=eW().createApp(...e),{mount:n}=t;return t.mount=r=>{const i=qre(r);if(!i)return;const o=t._component;!kt(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const s=n(i,!1,Kre(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},t});function Kre(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function qre(e){return Yt(e)?document.querySelector(e):e}/*!
* pinia v3.0.3
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/let nW;const iy=e=>nW=e,rW=Symbol();function a7(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var im;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(im||(im={}));function $re(){const e=V4(!0),t=e.run(()=>se({}));let n=[],r=[];const i=Rm({install(o){iy(i),i._a=o,o.provide(rW,i),o.config.globalProperties.$pinia=i,r.forEach(s=>n.push(s)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const iW=()=>{};function DP(e,t,n,r=iW){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&G4()&&J4(i),i}function Nf(e,...t){e.slice().forEach(n=>{n(...t)})}const eie=e=>e(),LP=Symbol(),L6=Symbol();function c7(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],i=e[n];a7(i)&&a7(r)&&e.hasOwnProperty(n)&&!En(r)&&!Td(r)?e[n]=c7(i,r):e[n]=r}return e}const tie=Symbol();function nie(e){return!a7(e)||!Object.prototype.hasOwnProperty.call(e,tie)}const{assign:qu}=Object;function rie(e){return!!(En(e)&&e.effect)}function iie(e,t,n,r){const{state:i,actions:o,getters:s}=t,a=n.state.value[e];let c;function l(){a||(n.state.value[e]=i?i():{});const u=Ud(n.state.value[e]);return qu(u,o,Object.keys(s||{}).reduce((d,f)=>(d[f]=Rm(V(()=>{iy(n);const h=n._s.get(e);return s[f].call(h,h)})),d),{}))}return c=oW(e,l,t,n,r,!0),c}function oW(e,t,n={},r,i,o){let s;const a=qu({actions:{}},n),c={deep:!0};let l,u,d=[],f=[],h;const p=r.state.value[e];!o&&!p&&(r.state.value[e]={}),se({});let g;function m(_){let I;l=u=!1,typeof _=="function"?(_(r.state.value[e]),I={type:im.patchFunction,storeId:e,events:h}):(c7(r.state.value[e],_),I={type:im.patchObject,payload:_,storeId:e,events:h});const O=g=Symbol();Cn().then(()=>{g===O&&(l=!0)}),u=!0,Nf(d,I,r.state.value[e])}const y=o?function(){const{state:I}=n,O=I?I():{};this.$patch(L=>{qu(L,O)})}:iW;function v(){s.stop(),d=[],f=[],r._s.delete(e)}const E=(_,I="")=>{if(LP in _)return _[L6]=I,_;const O=function(){iy(r);const L=Array.from(arguments),R=[],F=[];function W(M){R.push(M)}function J(M){F.push(M)}Nf(f,{args:L,name:O[L6],store:S,after:W,onError:J});let Y;try{Y=_.apply(this&&this.$id===e?this:S,L)}catch(M){throw Nf(F,M),M}return Y instanceof Promise?Y.then(M=>(Nf(R,M),M)).catch(M=>(Nf(F,M),Promise.reject(M))):(Nf(R,Y),Y)};return O[LP]=!0,O[L6]=I,O},b={_p:r,$id:e,$onAction:DP.bind(null,f),$patch:m,$reset:y,$subscribe(_,I={}){const O=DP(d,_,I.detached,()=>L()),L=s.run(()=>Ye(()=>r.state.value[e],R=>{(I.flush==="sync"?u:l)&&_({storeId:e,type:im.direct,events:h},R)},qu({},c,I)));return O},$dispose:v},S=eo(b);r._s.set(e,S);const C=(r._a&&r._a.runWithContext||eie)(()=>r._e.run(()=>(s=V4()).run(()=>t({action:E}))));for(const _ in C){const I=C[_];if(En(I)&&!rie(I)||Td(I))o||(p&&nie(I)&&(En(I)?I.value=p[_]:c7(I,p[_])),r.state.value[e][_]=I);else if(typeof I=="function"){const O=E(I,_);C[_]=O,a.actions[_]=I}}return qu(S,C),qu(tr(S),C),Object.defineProperty(S,"$state",{get:()=>r.state.value[e],set:_=>{m(I=>{qu(I,_)})}}),r._p.forEach(_=>{qu(S,s.run(()=>_({store:S,app:r._a,pinia:r,options:a})))}),p&&o&&n.hydrate&&n.hydrate(S.$state,p),l=!0,u=!0,S}/*! #__NO_SIDE_EFFECTS__ */function oy(e,t,n){let r;const i=typeof t=="function";r=i?n:t;function o(s,a){const c=DC();return s=s||(c?Vt(rW,null):null),s&&iy(s),s=nW,s._s.has(e)||(i?oW(e,t,r,s):iie(e,r,s)),s._s.get(e)}return o.$id=e,o}/*!
* vue-router v4.5.1
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const ah=typeof document<"u";function sW(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function oie(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&sW(e.default)}const wr=Object.assign;function N6(e,t){const n={};for(const r in t){const i=t[r];n[r]=mc(i)?i.map(e):e(i)}return n}const om=()=>{},mc=Array.isArray,aW=/#/g,sie=/&/g,aie=/\//g,cie=/=/g,lie=/\?/g,cW=/\+/g,uie=/%5B/g,die=/%5D/g,lW=/%5E/g,fie=/%60/g,uW=/%7B/g,hie=/%7C/g,dW=/%7D/g,pie=/%20/g;function FC(e){return encodeURI(""+e).replace(hie,"|").replace(uie,"[").replace(die,"]")}function mie(e){return FC(e).replace(uW,"{").replace(dW,"}").replace(lW,"^")}function l7(e){return FC(e).replace(cW,"%2B").replace(pie,"+").replace(aW,"%23").replace(sie,"%26").replace(fie,"`").replace(uW,"{").replace(dW,"}").replace(lW,"^")}function gie(e){return l7(e).replace(cie,"%3D")}function vie(e){return FC(e).replace(aW,"%23").replace(lie,"%3F")}function yie(e){return e==null?"":vie(e).replace(aie,"%2F")}function Bm(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Eie=/\/$/,bie=e=>e.replace(Eie,"");function M6(e,t,n="/"){let r,i={},o="",s="";const a=t.indexOf("#");let c=t.indexOf("?");return a<c&&a>=0&&(c=-1),c>-1&&(r=t.slice(0,c),o=t.slice(c+1,a>-1?a:t.length),i=e(o)),a>-1&&(r=r||t.slice(0,a),s=t.slice(a,t.length)),r=wie(r??t,n),{fullPath:r+(o&&"?")+o+s,path:r,query:i,hash:Bm(s)}}function Sie(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function NP(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Aie(e,t,n){const r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&qh(t.matched[r],n.matched[i])&&fW(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function qh(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function fW(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Cie(e[n],t[n]))return!1;return!0}function Cie(e,t){return mc(e)?MP(e,t):mc(t)?MP(t,e):e===t}function MP(e,t){return mc(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function wie(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),i=r[r.length-1];(i===".."||i===".")&&r.push("");let o=n.length-1,s,a;for(s=0;s<r.length;s++)if(a=r[s],a!==".")if(a==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(s).join("/")}const Mu={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Fm;(function(e){e.pop="pop",e.push="push"})(Fm||(Fm={}));var sm;(function(e){e.back="back",e.forward="forward",e.unknown=""})(sm||(sm={}));function Tie(e){if(!e)if(ah){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bie(e)}const Iie=/^[^#]+#/;function Pie(e,t){return e.replace(Iie,"#")+t}function Oie(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const sy=()=>({left:window.scrollX,top:window.scrollY});function _ie(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Oie(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function BP(e,t){return(history.state?history.state.position-t:-1)+e}const u7=new Map;function Rie(e,t){u7.set(e,t)}function kie(e){const t=u7.get(e);return u7.delete(e),t}let xie=()=>location.protocol+"//"+location.host;function hW(e,t){const{pathname:n,search:r,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,c=i.slice(a);return c[0]!=="/"&&(c="/"+c),NP(c,"")}return NP(n,e)+r+i}function Die(e,t,n,r){let i=[],o=[],s=null;const a=({state:f})=>{const h=hW(e,location),p=n.value,g=t.value;let m=0;if(f){if(n.value=h,t.value=f,s&&s===p){s=null;return}m=g?f.position-g.position:0}else r(h);i.forEach(y=>{y(n.value,p,{delta:m,type:Fm.pop,direction:m?m>0?sm.forward:sm.back:sm.unknown})})};function c(){s=n.value}function l(f){i.push(f);const h=()=>{const p=i.indexOf(f);p>-1&&i.splice(p,1)};return o.push(h),h}function u(){const{history:f}=window;f.state&&f.replaceState(wr({},f.state,{scroll:sy()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:d}}function FP(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?sy():null}}function Lie(e){const{history:t,location:n}=window,r={value:hW(e,n)},i={value:t.state};i.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,l,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+c:xie()+e+c;try{t[u?"replaceState":"pushState"](l,"",f),i.value=l}catch(h){console.error(h),n[u?"replace":"assign"](f)}}function s(c,l){const u=wr({},t.state,FP(i.value.back,c,i.value.forward,!0),l,{position:i.value.position});o(c,u,!0),r.value=c}function a(c,l){const u=wr({},i.value,t.state,{forward:c,scroll:sy()});o(u.current,u,!0);const d=wr({},FP(r.value,c,null),{position:u.position+1},l);o(c,d,!1),r.value=c}return{location:r,state:i,push:a,replace:s}}function pW(e){e=Tie(e);const t=Lie(e),n=Die(e,t.state,t.location,t.replace);function r(o,s=!0){s||n.pauseListeners(),history.go(o)}const i=wr({location:"",base:e,go:r,createHref:Pie.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Nie(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),pW(e)}function Mie(e){return typeof e=="string"||e&&typeof e=="object"}function mW(e){return typeof e=="string"||typeof e=="symbol"}const gW=Symbol("");var UP;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(UP||(UP={}));function $h(e,t){return wr(new Error,{type:e,[gW]:!0},t)}function _l(e,t){return e instanceof Error&&gW in e&&(t==null||!!(e.type&t))}const jP="[^/]+?",Bie={sensitive:!1,strict:!1,start:!0,end:!0},Fie=/[.+*?^${}()[\]/\\]/g;function Uie(e,t){const n=wr({},Bie,t),r=[];let i=n.start?"^":"";const o=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(i+="/");for(let d=0;d<l.length;d++){const f=l[d];let h=40+(n.sensitive?.25:0);if(f.type===0)d||(i+="/"),i+=f.value.replace(Fie,"\\$&"),h+=40;else if(f.type===1){const{value:p,repeatable:g,optional:m,regexp:y}=f;o.push({name:p,repeatable:g,optional:m});const v=y||jP;if(v!==jP){h+=10;try{new RegExp(`(${v})`)}catch(b){throw new Error(`Invalid custom RegExp for param "${p}" (${v}): `+b.message)}}let E=g?`((?:${v})(?:/(?:${v}))*)`:`(${v})`;d||(E=m&&l.length<2?`(?:/${E})`:"/"+E),m&&(E+="?"),i+=E,h+=20,m&&(h+=-8),g&&(h+=-20),v===".*"&&(h+=-50)}u.push(h)}r.push(u)}if(n.strict&&n.end){const l=r.length-1;r[l][r[l].length-1]+=.7000000000000001}n.strict||(i+="/?"),n.end?i+="$":n.strict&&!i.endsWith("/")&&(i+="(?:/|$)");const s=new RegExp(i,n.sensitive?"":"i");function a(l){const u=l.match(s),d={};if(!u)return null;for(let f=1;f<u.length;f++){const h=u[f]||"",p=o[f-1];d[p.name]=h&&p.repeatable?h.split("/"):h}return d}function c(l){let u="",d=!1;for(const f of e){(!d||!u.endsWith("/"))&&(u+="/"),d=!1;for(const h of f)if(h.type===0)u+=h.value;else if(h.type===1){const{value:p,repeatable:g,optional:m}=h,y=p in l?l[p]:"";if(mc(y)&&!g)throw new Error(`Provided param "${p}" is an array but it is not repeatable (* or + modifiers)`);const v=mc(y)?y.join("/"):y;if(!v)if(m)f.length<2&&(u.endsWith("/")?u=u.slice(0,-1):d=!0);else throw new Error(`Missing required param "${p}"`);u+=v}}return u||"/"}return{re:s,score:r,keys:o,parse:a,stringify:c}}function jie(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function vW(e,t){let n=0;const r=e.score,i=t.score;for(;n<r.length&&n<i.length;){const o=jie(r[n],i[n]);if(o)return o;n++}if(Math.abs(i.length-r.length)===1){if(HP(r))return 1;if(HP(i))return-1}return i.length-r.length}function HP(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Hie={type:0,value:""},zie=/[a-zA-Z0-9_]/;function Wie(e){if(!e)return[[]];if(e==="/")return[[Hie]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=0,r=n;const i=[];let o;function s(){o&&i.push(o),o=[]}let a=0,c,l="",u="";function d(){l&&(n===0?o.push({type:0,value:l}):n===1||n===2||n===3?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function f(){l+=c}for(;a<e.length;){if(c=e[a++],c==="\\"&&n!==2){r=n,n=4;continue}switch(n){case 0:c==="/"?(l&&d(),s()):c===":"?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c==="("?n=2:zie.test(c)?f():(d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&a--);break;case 2:c===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!=="*"&&c!=="?"&&c!=="+"&&a--,u="";break;default:t("Unknown state");break}}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),s(),i}function Vie(e,t,n){const r=Uie(Wie(e.path),n),i=wr(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Gie(e,t){const n=[],r=new Map;t=GP({strict:!1,end:!0,sensitive:!1},t);function i(d){return r.get(d)}function o(d,f,h){const p=!h,g=WP(d);g.aliasOf=h&&h.record;const m=GP(t,d),y=[g];if("alias"in d){const b=typeof d.alias=="string"?[d.alias]:d.alias;for(const S of b)y.push(WP(wr({},g,{components:h?h.record.components:g.components,path:S,aliasOf:h?h.record:g})))}let v,E;for(const b of y){const{path:S}=b;if(f&&S[0]!=="/"){const w=f.record.path,C=w[w.length-1]==="/"?"":"/";b.path=f.record.path+(S&&C+S)}if(v=Vie(b,f,m),h?h.alias.push(v):(E=E||v,E!==v&&E.alias.push(v),p&&d.name&&!VP(v)&&s(d.name)),yW(v)&&c(v),g.children){const w=g.children;for(let C=0;C<w.length;C++)o(w[C],v,h&&h.children[C])}h=h||v}return E?()=>{s(E)}:om}function s(d){if(mW(d)){const f=r.get(d);f&&(r.delete(d),n.splice(n.indexOf(f),1),f.children.forEach(s),f.alias.forEach(s))}else{const f=n.indexOf(d);f>-1&&(n.splice(f,1),d.record.name&&r.delete(d.record.name),d.children.forEach(s),d.alias.forEach(s))}}function a(){return n}function c(d){const f=Yie(d,n);n.splice(f,0,d),d.record.name&&!VP(d)&&r.set(d.record.name,d)}function l(d,f){let h,p={},g,m;if("name"in d&&d.name){if(h=r.get(d.name),!h)throw $h(1,{location:d});m=h.record.name,p=wr(zP(f.params,h.keys.filter(E=>!E.optional).concat(h.parent?h.parent.keys.filter(E=>E.optional):[]).map(E=>E.name)),d.params&&zP(d.params,h.keys.map(E=>E.name))),g=h.stringify(p)}else if(d.path!=null)g=d.path,h=n.find(E=>E.re.test(g)),h&&(p=h.parse(g),m=h.record.name);else{if(h=f.name?r.get(f.name):n.find(E=>E.re.test(f.path)),!h)throw $h(1,{location:d,currentLocation:f});m=h.record.name,p=wr({},f.params,d.params),g=h.stringify(p)}const y=[];let v=h;for(;v;)y.unshift(v.record),v=v.parent;return{name:m,path:g,params:p,matched:y,meta:Zie(y)}}e.forEach(d=>o(d));function u(){n.length=0,r.clear()}return{addRoute:o,resolve:l,removeRoute:s,clearRoutes:u,getRoutes:a,getRecordMatcher:i}}function zP(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function WP(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Jie(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Jie(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function VP(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zie(e){return e.reduce((t,n)=>wr(t,n.meta),{})}function GP(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Yie(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;vW(e,t[o])<0?r=o:n=o+1}const i=Xie(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Xie(e){let t=e;for(;t=t.parent;)if(yW(t)&&vW(e,t)===0)return t}function yW({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qie(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;i<r.length;++i){const o=r[i].replace(cW," "),s=o.indexOf("="),a=Bm(s<0?o:o.slice(0,s)),c=s<0?null:Bm(o.slice(s+1));if(a in t){let l=t[a];mc(l)||(l=t[a]=[l]),l.push(c)}else t[a]=c}return t}function JP(e){let t="";for(let n in e){const r=e[n];if(n=gie(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(mc(r)?r.map(o=>o&&l7(o)):[r&&l7(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Kie(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=mc(r)?r.map(i=>i==null?null:""+i):r==null?r:""+r)}return t}const qie=Symbol(""),ZP=Symbol(""),UC=Symbol(""),EW=Symbol(""),d7=Symbol("");function c1(){let e=[];function t(r){return e.push(r),()=>{const i=e.indexOf(r);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function ud(e,t,n,r,i,o=s=>s()){const s=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((a,c)=>{const l=f=>{f===!1?c($h(4,{from:n,to:t})):f instanceof Error?c(f):Mie(f)?c($h(2,{from:t,to:f})):(s&&r.enterCallbacks[i]===s&&typeof f=="function"&&s.push(f),a())},u=o(()=>e.call(r&&r.instances[i],t,n,l));let d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(f=>c(f))})}function B6(e,t,n,r,i=o=>o()){const o=[];for(const s of e)for(const a in s.components){let c=s.components[a];if(!(t!=="beforeRouteEnter"&&!s.instances[a]))if(sW(c)){const u=(c.__vccOpts||c)[t];u&&o.push(ud(u,n,r,s,a,i))}else{let l=c();o.push(()=>l.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${s.path}"`);const d=oie(u)?u.default:u;s.mods[a]=u,s.components[a]=d;const h=(d.__vccOpts||d)[t];return h&&ud(h,n,r,s,a,i)()}))}}return o}function YP(e){const t=Vt(UC),n=Vt(EW),r=V(()=>{const c=P(e.to);return t.resolve(c)}),i=V(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(qh.bind(null,u));if(f>-1)return f;const h=XP(c[l-2]);return l>1&&XP(u)===h&&d[d.length-1].path!==h?d.findIndex(qh.bind(null,c[l-2])):f}),o=V(()=>i.value>-1&&roe(n.params,r.value.params)),s=V(()=>i.value>-1&&i.value===n.matched.length-1&&fW(n.params,r.value.params));function a(c={}){if(noe(c)){const l=t[P(e.replace)?"replace":"push"](P(e.to)).catch(om);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:r,href:V(()=>r.value.href),isActive:o,isExactActive:s,navigate:a}}function $ie(e){return e.length===1?e[0]:e}const eoe=Je({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:YP,setup(e,{slots:t}){const n=eo(YP(e)),{options:r}=Vt(UC),i=V(()=>({[QP(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[QP(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&$ie(t.default(n));return e.custom?o:hn("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),toe=eoe;function noe(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function roe(e,t){for(const n in t){const r=t[n],i=e[n];if(typeof r=="string"){if(r!==i)return!1}else if(!mc(i)||i.length!==r.length||r.some((o,s)=>o!==i[s]))return!1}return!0}function XP(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const QP=(e,t,n)=>e??t??n,ioe=Je({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Vt(d7),i=V(()=>e.route||r.value),o=Vt(ZP,0),s=V(()=>{let l=P(o);const{matched:u}=i.value;let d;for(;(d=u[l])&&!d.components;)l++;return l}),a=V(()=>i.value.matched[s.value]);ui(ZP,V(()=>s.value+1)),ui(qie,a),ui(d7,i);const c=se();return Ye(()=>[c.value,a.value,e.name],([l,u,d],[f,h,p])=>{u&&(u.instances[d]=l,h&&h!==u&&l&&l===f&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!qh(u,h)||!f)&&(u.enterCallbacks[d]||[]).forEach(g=>g(l))},{flush:"post"}),()=>{const l=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return KP(n.default,{Component:f,route:l});const h=d.props[u],p=h?h===!0?l.params:typeof h=="function"?h(l):h:null,m=hn(f,wr({},p,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[u]=null)},ref:c}));return KP(n.default,{Component:m,route:l})||m}}});function KP(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const bW=ioe;function ooe(e){const t=Gie(e.routes,e),n=e.parseQuery||Qie,r=e.stringifyQuery||JP,i=e.history,o=c1(),s=c1(),a=c1(),c=xo(Mu);let l=Mu;ah&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=N6.bind(null,te=>""+te),d=N6.bind(null,yie),f=N6.bind(null,Bm);function h(te,X){let fe,le;return mW(te)?(fe=t.getRecordMatcher(te),le=X):le=te,t.addRoute(le,fe)}function p(te){const X=t.getRecordMatcher(te);X&&t.removeRoute(X)}function g(){return t.getRoutes().map(te=>te.record)}function m(te){return!!t.getRecordMatcher(te)}function y(te,X){if(X=wr({},X||c.value),typeof te=="string"){const pe=M6(n,te,X.path),K=t.resolve({path:pe.path},X),ce=i.createHref(pe.fullPath);return wr(pe,K,{params:f(K.params),hash:Bm(pe.hash),redirectedFrom:void 0,href:ce})}let fe;if(te.path!=null)fe=wr({},te,{path:M6(n,te.path,X.path).path});else{const pe=wr({},te.params);for(const K in pe)pe[K]==null&&delete pe[K];fe=wr({},te,{params:d(pe)}),X.params=d(X.params)}const le=t.resolve(fe,X),ve=te.hash||"";le.params=u(f(le.params));const Z=Sie(r,wr({},te,{hash:mie(ve),path:le.path})),ae=i.createHref(Z);return wr({fullPath:Z,hash:ve,query:r===JP?Kie(te.query):te.query||{}},le,{redirectedFrom:void 0,href:ae})}function v(te){return typeof te=="string"?M6(n,te,c.value.path):wr({},te)}function E(te,X){if(l!==te)return $h(8,{from:X,to:te})}function b(te){return C(te)}function S(te){return b(wr(v(te),{replace:!0}))}function w(te){const X=te.matched[te.matched.length-1];if(X&&X.redirect){const{redirect:fe}=X;let le=typeof fe=="function"?fe(te):fe;return typeof le=="string"&&(le=le.includes("?")||le.includes("#")?le=v(le):{path:le},le.params={}),wr({query:te.query,hash:te.hash,params:le.path!=null?{}:te.params},le)}}function C(te,X){const fe=l=y(te),le=c.value,ve=te.state,Z=te.force,ae=te.replace===!0,pe=w(fe);if(pe)return C(wr(v(pe),{state:typeof pe=="object"?wr({},ve,pe.state):ve,force:Z,replace:ae}),X||fe);const K=fe;K.redirectedFrom=X;let ce;return!Z&&Aie(r,le,fe)&&(ce=$h(16,{to:K,from:le}),A(le,le,!0,!1)),(ce?Promise.resolve(ce):O(K,le)).catch(ye=>_l(ye)?_l(ye,2)?ye:z(ye):B(ye,K,le)).then(ye=>{if(ye){if(_l(ye,2))return C(wr({replace:ae},v(ye.to),{state:typeof ye.to=="object"?wr({},ve,ye.to.state):ve,force:Z}),X||K)}else ye=R(K,le,!0,ae,ve);return L(K,le,ye),ye})}function _(te,X){const fe=E(te,X);return fe?Promise.reject(fe):Promise.resolve()}function I(te){const X=j.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(te):te()}function O(te,X){let fe;const[le,ve,Z]=soe(te,X);fe=B6(le.reverse(),"beforeRouteLeave",te,X);for(const pe of le)pe.leaveGuards.forEach(K=>{fe.push(ud(K,te,X))});const ae=_.bind(null,te,X);return fe.push(ae),me(fe).then(()=>{fe=[];for(const pe of o.list())fe.push(ud(pe,te,X));return fe.push(ae),me(fe)}).then(()=>{fe=B6(ve,"beforeRouteUpdate",te,X);for(const pe of ve)pe.updateGuards.forEach(K=>{fe.push(ud(K,te,X))});return fe.push(ae),me(fe)}).then(()=>{fe=[];for(const pe of Z)if(pe.beforeEnter)if(mc(pe.beforeEnter))for(const K of pe.beforeEnter)fe.push(ud(K,te,X));else fe.push(ud(pe.beforeEnter,te,X));return fe.push(ae),me(fe)}).then(()=>(te.matched.forEach(pe=>pe.enterCallbacks={}),fe=B6(Z,"beforeRouteEnter",te,X,I),fe.push(ae),me(fe))).then(()=>{fe=[];for(const pe of s.list())fe.push(ud(pe,te,X));return fe.push(ae),me(fe)}).catch(pe=>_l(pe,8)?pe:Promise.reject(pe))}function L(te,X,fe){a.list().forEach(le=>I(()=>le(te,X,fe)))}function R(te,X,fe,le,ve){const Z=E(te,X);if(Z)return Z;const ae=X===Mu,pe=ah?history.state:{};fe&&(le||ae?i.replace(te.fullPath,wr({scroll:ae&&pe&&pe.scroll},ve)):i.push(te.fullPath,ve)),c.value=te,A(te,X,fe,ae),z()}let F;function W(){F||(F=i.listen((te,X,fe)=>{if(!re.listening)return;const le=y(te),ve=w(le);if(ve){C(wr(ve,{replace:!0,force:!0}),le).catch(om);return}l=le;const Z=c.value;ah&&Rie(BP(Z.fullPath,fe.delta),sy()),O(le,Z).catch(ae=>_l(ae,12)?ae:_l(ae,2)?(C(wr(v(ae.to),{force:!0}),le).then(pe=>{_l(pe,20)&&!fe.delta&&fe.type===Fm.pop&&i.go(-1,!1)}).catch(om),Promise.reject()):(fe.delta&&i.go(-fe.delta,!1),B(ae,le,Z))).then(ae=>{ae=ae||R(le,Z,!1),ae&&(fe.delta&&!_l(ae,8)?i.go(-fe.delta,!1):fe.type===Fm.pop&&_l(ae,20)&&i.go(-1,!1)),L(le,Z,ae)}).catch(om)}))}let J=c1(),Y=c1(),M;function B(te,X,fe){z(te);const le=Y.list();return le.length?le.forEach(ve=>ve(te,X,fe)):console.error(te),Promise.reject(te)}function q(){return M&&c.value!==Mu?Promise.resolve():new Promise((te,X)=>{J.add([te,X])})}function z(te){return M||(M=!te,W(),J.list().forEach(([X,fe])=>te?fe(te):X()),J.reset()),te}function A(te,X,fe,le){const{scrollBehavior:ve}=e;if(!ah||!ve)return Promise.resolve();const Z=!fe&&kie(BP(te.fullPath,0))||(le||!fe)&&history.state&&history.state.scroll||null;return Cn().then(()=>ve(te,X,Z)).then(ae=>ae&&_ie(ae)).catch(ae=>B(ae,te,X))}const T=te=>i.go(te);let k;const j=new Set,re={currentRoute:c,listening:!0,addRoute:h,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:m,getRoutes:g,resolve:y,options:e,push:b,replace:S,go:T,back:()=>T(-1),forward:()=>T(1),beforeEach:o.add,beforeResolve:s.add,afterEach:a.add,onError:Y.add,isReady:q,install(te){const X=this;te.component("RouterLink",toe),te.component("RouterView",bW),te.config.globalProperties.$router=X,Object.defineProperty(te.config.globalProperties,"$route",{enumerable:!0,get:()=>P(c)}),ah&&!k&&c.value===Mu&&(k=!0,b(i.location).catch(ve=>{}));const fe={};for(const ve in Mu)Object.defineProperty(fe,ve,{get:()=>c.value[ve],enumerable:!0});te.provide(UC,X),te.provide(EW,X4(fe)),te.provide(d7,c);const le=te.unmount;j.add(te),te.unmount=function(){j.delete(te),j.size<1&&(l=Mu,F&&F(),F=null,c.value=Mu,k=!1,M=!1),le()}}};function me(te){return te.reduce((X,fe)=>X.then(()=>I(fe)),Promise.resolve())}return re}function soe(e,t){const n=[],r=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let s=0;s<o;s++){const a=t.matched[s];a&&(e.matched.find(l=>qh(l,a))?r.push(a):n.push(a));const c=e.matched[s];c&&(t.matched.find(l=>qh(l,c))||i.push(c))}return[n,r,i]}const aoe=Je({__name:"app",setup(e){return(t,n)=>(ne(),Ze(P(bW)))}}),rr=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},coe=rr(aoe,[["__scopeId","data-v-4c606fa3"]]),loe="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='156'%20height='18'%20viewBox='0%200%20156%2018'%3e%3cg%3e%3cg%3e%3cg%3e%3cpath%20d='M114.56631737546921,5.095225123636722L113.1115173754692,5.095225123636722C113.5272173754692,4.6151851236367225,113.91191737546922,4.098085123636722,114.2708173754692,3.5350551236367225L113.32451737546921,2.9385451236367226C114.16261737546921,2.8855951236367225,114.9287173754692,2.8344051236367225,115.57961737546921,2.7885151236367225L115.59331737546921,0.8047951236367226C111.9779173754692,1.0942161236367225,104.45859737546921,1.4966141236367225,100.68174937546921,1.6325131236367225L100.66628737546921,3.5950751236367227C101.16780737546921,3.5756451236367224,101.7294373754692,3.5527251236367228,102.3340173754692,3.5262651236367226L102.75309737546921,5.093455123636723L99.99301737546921,5.093455123636723L99.99301737546921,7.363115123636723L101.9613173754692,7.363115123636723L101.9613173754692,6.815985123636723L114.56281737546921,6.815985123636723L114.56281737546921,7.363115123636723L116.53111737546921,7.363115123636723L116.53111737546921,5.093455123636723L114.56281737546921,5.093455123636723L114.56631737546921,5.095225123636722ZM110.5593173754692,5.095225123636722L109.11310737546921,5.095225123636722L108.59098737546921,3.2156451236367225C109.93581737546921,3.1415351236367224,111.2634173754692,3.0656151236367224,112.47771737546921,2.9915051236367227C111.91611737546921,3.7998351236367225,111.28581737546921,4.489885123636723,110.5593173754692,5.095225123636722ZM104.17348737546921,3.4432851236367226C104.99961737546921,3.4044551236367226,105.87040737546921,3.3603351236367227,106.7532173754692,3.3144451236367227L107.24615737546921,5.096995123636723L104.61488737546921,5.096995123636723L104.17348737546921,3.4450451236367226L104.17348737546921,3.4432851236367226Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M132.03700821533204,10.36159740087677L130.70935821533203,11.95352389087677C132.16925821533204,13.13421389087677,133.77343821533202,15.03146389087677,134.68200821533202,16.47516389087677L136.45794821533204,15.39154389087677C135.43257821533203,13.75903389087677,133.67381821533203,11.68176389087677,132.03701821533204,10.35987389087677L132.03700821533204,10.36159740087677Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M116.52595783691406,15.37211439792633C114.83935783691406,15.37741439792633,113.22835783691406,15.16563439792633,111.73925783691406,14.743804397926331C112.92085783691407,14.046684397926331,113.96855783691406,13.227754397926331,114.85305783691406,12.29589439792633L114.85305783691406,10.52571439792633L105.21945783691406,10.52571439792633C105.37059783691406,10.24155439792633,105.51486783691406,9.948604397926331,105.65227783691407,9.63974439792633L115.96265783691406,9.63974439792633L115.96265783691406,7.903090397926331L106.32038783691407,7.903090397926331C106.39252783691407,7.686013397926331,106.46294783691407,7.46540339792633,106.52992783691406,7.23772759792633L104.43110783691407,7.23772759792633L104.43110783691407,7.234194397926331C104.35896783691406,7.46540339792633,104.28511783691407,7.686013397926331,104.20954783691406,7.903090397926331L100.58383883691407,7.903090397926331L100.58383883691407,9.63974439792633L103.46070783691407,9.63974439792633C102.62598783691406,11.21047439792633,101.48897783691406,12.35587439792633,99.73365783691406,13.499554397926332L99.73365783691406,15.848624397926331C101.62637783691406,14.75263439792633,103.03818783691406,13.624854397926331,104.13569783691406,12.20416439792633C104.94636783691406,13.21543439792633,105.90131783691406,14.067884397926331,106.97305783691407,14.76677439792633C105.35857783691407,15.25034439792633,103.58951783691407,15.55036439792633,101.71741783691407,15.64744439792633L101.71741783691407,17.51119439792633C104.44829783691407,17.38059439792633,107.00398783691406,16.84757439792633,109.24536783691406,15.95983439792633C111.42495783691406,16.86170439792633,113.91015783691407,17.28529439792633,116.52595783691406,17.27639439792633L116.52255783691406,15.37388439792633L116.52595783691406,15.37211439792633ZM106.97820783691407,12.29417439792633L111.97965783691406,12.29417439792633C111.20845783691406,12.88719439792633,110.34115783691406,13.40605439792633,109.39477783691406,13.850814397926332C108.52398783691406,13.423724397926332,107.71502783691406,12.90304439792633,106.97992783691406,12.29417439792633L106.97820783691407,12.29417439792633Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M135.8327284423828,9.66624192420721L135.8327284423828,7.601341924207211L129.40575844238282,7.601341924207211Q129.39545844238282,5.92294192420721,129.3834284423828,4.67163192420721L127.3000584423828,4.67163192420721Q127.30521844238281,5.95470192420721,127.31036844238281,7.601341924207211L123.12817844238282,7.601341924207211C122.63008844238281,7.601341924207211,122.38105844238281,7.444291924207211,122.44974844238281,6.874191924207211L122.8585284423828,3.4097619242072104C126.64739844238281,3.3020819242072106,130.7643284423828,3.1203419242072106,134.64592844238283,2.8944319242072107L134.64592844238283,0.8012619242072105C130.38472844238282,1.1118819242072107,125.44512844238281,1.2919039242072106,121.02420344238281,1.3183589242072107Q120.33203284238282,6.75596192420721,120.30111854238281,7.31011192420721C120.15513244238281,8.82439192420721,121.29900844238281,9.63621192420721,122.65756844238281,9.66801192420721C123.12644844238281,9.67861192420721,125.0655484423828,9.68214192420721,127.31723844238282,9.68038192420721C127.32066844238281,12.00996192420721,127.32066844238281,14.33436192420721,127.30176844238281,14.62376192420721C127.28115844238282,14.95916192420721,127.07161844238281,15.13736192420721,126.75903844238282,15.15326192420721Q126.17678844238281,15.18326192420721,124.47127844238281,15.15326192420721L124.92813844238282,17.21816192420721Q126.99089844238281,17.264061924207212,127.63497844238282,17.20576192420721C128.9883884423828,17.08226192420721,129.35250844238283,16.53516192420721,129.3851384423828,15.37216192420721C129.4194884423828,14.15966192420721,129.4229184423828,11.84416192420721,129.41604844238282,9.67684192420721Q132.66042844238282,9.67154192420721,135.8344284423828,9.66271192420721L135.8327284423828,9.66624192420721Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M123.1419084539795,10.403952717781067C122.1989884539795,11.884662717781067,120.57247845397949,13.667212717781066,119.11086845397949,14.851442717781067L120.4385184539795,16.443362717781067C122.07360845397949,15.121472717781067,123.84266845397948,13.125382717781067,124.9212684539795,11.487572717781067L123.1419084539795,10.403952717781067Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M153.04757711425782,7.387800604438782L153.04757711425782,5.149950604438782L155.6942971142578,5.149950604438782L155.6942971142578,3.240340604438782L153.04757711425782,3.240340604438782L153.04757711425782,0.7324506044387817L151.1960771142578,0.7324506044387817L151.1960771142578,3.240340604438782L150.3235671142578,3.240340604438782C150.47127711425782,2.6543806044387814,150.58463711425782,2.073730604438782,150.65504711425783,1.5337126044387817L148.7829371142578,1.5337126044387817C148.5579371142578,3.0144306044387816,147.97054611425781,4.804040604438781,147.3556671142578,5.912390604438782L148.9615571142578,6.860150604438782C149.23464711425783,6.367740604438782,149.4957071142578,5.780020604438782,149.7310071142578,5.1499906044387815L151.1960671142578,5.1499906044387815L151.1960671142578,7.387850604438782L147.92759811425782,7.387850604438782L147.92759811425782,9.29746060443878L155.9999971142578,9.29746060443878L155.9999971142578,7.387850604438782L153.04757711425782,7.387800604438782Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M145.55227299194337,4.991080541801453L145.00266299194337,4.991080541801453L145.00266299194337,3.3409005418014526L147.43125299194335,3.3409005418014526L147.43125299194335,1.4983805418014526L139.10122299194336,1.4983805418014526L139.10122299194336,3.3409005418014526L141.57275299194336,3.3409005418014526L141.57275299194336,4.991080541801453L139.31248699194336,4.991080541801453L139.31248699194336,17.106980541801452L147.22000299194335,17.106980541801452L147.22000299194335,4.991080541801453L145.55056299194337,4.991080541801453L145.55227299194337,4.991080541801453ZM140.93554299194335,11.754080541801452C142.16186299194337,10.912260541801453,142.75269299194335,9.892150541801453,142.91071299194337,8.344350541801454C142.93990299194337,8.061950541801453,142.95364299194335,7.3560005418014525,142.95880299194337,6.5424205418014525L143.59257299194337,6.5424205418014525L143.59257299194337,9.103260541801452C143.59257299194337,10.253960541801453,144.39637299194337,11.062290541801453,145.51105299194336,11.062290541801453L145.55227299194337,11.062290541801453L145.55227299194337,12.431880541801453L140.93554299194335,12.431880541801453L140.93554299194335,11.754080541801452ZM145.55227299194337,6.5424205418014525L145.55227299194337,9.705070541801453L145.52479299194337,9.705070541801453C145.09369299194336,9.705070541801453,144.90649299194337,9.496820541801453,144.90649299194337,9.071460541801454L144.90649299194337,6.542380541801452L145.55227299194337,6.5424205418014525ZM142.87635299194335,3.342710541801453L143.69905299194335,3.342710541801453L143.69905299194335,4.992890541801453L142.87635299194335,4.992890541801453L142.87635299194335,3.342710541801453ZM141.63973299194336,6.5424205418014525C141.63286299194337,7.340150541801453,141.61740299194335,7.977240541801453,141.59507299194337,8.203150541801453C141.51778299194336,8.967360541801453,141.32198299194337,9.514450541801452,140.93553299194335,9.976870541801453L140.93553299194335,6.5424205418014525L141.63973299194336,6.5424205418014525ZM140.93554299194335,15.421580541801452L140.93554299194335,13.963780541801453L145.55227299194337,13.963780541801453L145.55227299194337,15.421580541801452L140.93554299194335,15.421580541801452Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M153.57315250976563,10.370431065559387Q153.57315250976563,10.372197665559387,153.57315250976563,10.373964275559388L148.61807250976562,10.373964275559388L148.61807250976562,17.057581065559386L149.00795550976562,17.057581065559386L149.00795550976562,17.061111065559388Q151.97070250976563,17.096401065559387,153.32411250976563,17.066411065559386C154.7496625097656,17.034661065559387,155.39202250976564,16.35163106555939,155.43496250976563,14.920341065559388Q155.47789250976564,13.520801065559388,155.43496250976563,10.370474153459387L153.57315250976563,10.370431065559387ZM153.57830250976562,14.524961065559388C153.54739250976561,14.948521065559387,153.35331250976563,15.133841065559388,152.95140250976561,15.153271065559387C152.38634250976563,15.179731065559388,151.34207250976561,15.177961065559387,150.47128250976562,15.169171065559386L150.47128250976562,12.283571065559387L153.60922250976563,12.283571065559387C153.61780250976562,13.120131065559388,153.61608250976562,14.023761065559388,153.58002250976563,14.526731065559387L153.57830250976562,14.524961065559388Z'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d='M32.2776,3.6003813197684287L32.2776,7.283701319768428L39.778,7.283701319768428L39.778,10.575211319768428L32.2776,10.575211319768428L32.2776,14.484411319768428L41.5196,14.484411319768428L41.5196,17.77581131976843L28.8511,17.77581131976843L28.8511,0.3088543197684288L41.5196,0.3088543197684288L41.5196,3.600331319768429L32.2776,3.6003813197684287ZM3.42648,3.6003813197684287L3.42648,7.283701319768428L10.9269,7.283701319768428L10.9269,10.575211319768428L3.42648,10.575211319768428L3.42648,14.484411319768428L12.6685,14.484411319768428L12.6685,17.77581131976843L0,17.77581131976843L0,0.3088543197684288L12.6685,0.3088543197684288L12.6685,3.600331319768429L3.42648,3.6003813197684287ZM18.4257,14.484411319768428L27.1233,14.484411319768428L27.1233,17.77581131976843L14.9992,17.77581131976843L14.9992,0.3088543197684288L18.4257,0.3088543197684288L18.4257,14.484411319768428ZM55.5192,11.00761131976843L50.4611,11.00761131976843L50.4611,7.957851319768428L59.0007,7.957851319768428L59.0007,17.77761131976843L56.0843,17.77761131976843L56.0843,15.553811319768428C54.9198,17.244611319768428,53.1198,17.86761131976843,51.0725,17.98761131976843C48.9548,18.11121131976843,46.8234,17.29401131976843,45.2449,15.850311319768428C43.4072,14.170211319768429,42.4883,11.842311319768429,42.4883,9.330891319768428C42.4883,4.135101319768429,45.8083,0.0688113197684288,50.9918,0.0688113197684288C53.0546,0.0688113197684288,54.9816,0.7200413197684288,56.5618,2.1001913197684288C57.1612,2.624351319768429,57.8843,3.4362113197684288,58.2553,4.1633213197684285L58.3257,4.304521319768429L55.4162,6.221201319768428L55.332,6.044711319768429C53.9236,3.120291319768429,49.9355,2.5396413197684287,47.7045,4.8039913197684285C46.7014,5.820571319768429,46.0316,7.424861319768429,46.0316,8.87735131976843C46.0316,10.105711319768428,46.3888,11.48231131976843,47.0398,12.51301131976843C47.9604,13.974311319768429,49.3516,14.646811319768428,51.0313,14.646811319768428C53.338,14.64851131976843,54.9044,13.171311319768428,55.5175,11.005811319768428L55.5192,11.00761131976843Z'%20fill-rule='evenodd'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M84.51627569580079,0.00706641C81.90397569580078,0.00706641,79.65227569580078,1.06069,78.09277569580078,2.79382C78.76257569580078,3.84391,79.23657569580078,4.64871,79.79137569580078,5.71117C80.56597569580077,4.83403,81.68237569580079,4.06276,82.86237569580078,3.66036C86.39697569580078,2.46023,89.63457569580078,5.26288,89.63457569580078,9.00442C89.63457569580078,11.9571,87.48247569580079,14.6414,84.51807569580077,14.6414C82.63737569580078,14.6414,81.01087569580078,13.5472,80.11597569580078,11.8635C78.74367569580079,9.52328,78.70417569580079,6.55474,77.18077569580078,4.05746C75.60917569580079,1.46839,72.78387569580079,0,69.84172569580078,0C64.90210569580078,0,61.13727569580078,3.94805,61.13727569580078,8.99735C61.13727569580078,14.0466,64.82653569580079,17.9947,69.84172569580078,17.9947C72.45407569580078,17.9947,74.70577569580078,16.9411,76.26527569580078,15.2079C75.59547569580079,14.1579,75.12147569580078,13.3531,74.56667569580078,12.2906C73.76117569580079,13.1977,72.59147569580078,13.9919,71.37037569580079,14.3802C67.88202569580078,15.4903,64.72348569580078,12.6701,64.72348569580078,8.99558C64.72348569580078,6.04294,66.87555569580078,3.35857,69.84000569580078,3.35857C71.72067569580078,3.35857,73.34717569580079,4.45279,74.24207569580078,6.13649C75.64527569580078,8.52791,75.68477569580078,11.4964,77.17727569580077,13.9425C78.74717569580078,16.5298,81.57077569580078,18,84.51627569580079,18C89.45597569580079,18,93.22077569580078,14.0519,93.22077569580078,9.00265C93.22077569580078,3.95335,89.53147569580078,0.00529981,84.51627569580079,0.00529981L84.51627569580079,0.00706641Z'%20fill-rule='evenodd'%20fill='%23FFFFFF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e";/*!
* shared v10.0.8
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function uoe(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const G3=typeof window<"u",jd=(e,t=!1)=>t?Symbol.for(e):Symbol(e),doe=(e,t,n)=>foe({l:e,k:t,s:n}),foe=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),zi=e=>typeof e=="number"&&isFinite(e),hoe=e=>jC(e)==="[object Date]",ep=e=>jC(e)==="[object RegExp]",ay=e=>Vn(e)&&Object.keys(e).length===0,co=Object.assign,poe=Object.create,Hr=(e=null)=>poe(e);let qP;const D0=()=>qP||(qP=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Hr());function $P(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\//g,"&#x2F;").replace(/=/g,"&#x3D;")}function eO(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function moe(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,i,o)=>`${i}="${eO(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,i,o)=>`${i}='${eO(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1&#111;n$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript&#58;")}),e}const goe=Object.prototype.hasOwnProperty;function oc(e,t){return goe.call(e,t)}const _i=Array.isArray,ri=e=>typeof e=="function",jt=e=>typeof e=="string",yr=e=>typeof e=="boolean",Ar=e=>e!==null&&typeof e=="object",voe=e=>Ar(e)&&ri(e.then)&&ri(e.catch),SW=Object.prototype.toString,jC=e=>SW.call(e),Vn=e=>jC(e)==="[object Object]",yoe=e=>e==null?"":_i(e)||Vn(e)&&e.toString===SW?JSON.stringify(e,null,2):String(e);function HC(e,t=""){return e.reduce((n,r,i)=>i===0?n+r:n+t+r,"")}const v2=e=>!Ar(e)||_i(e);function U5(e,t){if(v2(e)||v2(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:i}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(Ar(r[o])&&!Ar(i[o])&&(i[o]=Array.isArray(r[o])?[]:Hr()),v2(i[o])||v2(r[o])?i[o]=r[o]:n.push({src:r[o],des:i[o]}))})}}/*!
* message-compiler v10.0.8
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Eoe(e,t,n){return{line:e,column:t,offset:n}}function f7(e,t,n){return{start:e,end:t}}const Dr={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},boe=17;function cy(e,t,n={}){const{domain:r,messages:i,args:o}=n,s=e,a=new SyntaxError(String(s));return a.code=e,t&&(a.location=t),a.domain=r,a}function Soe(e){throw e}const Rl=" ",Aoe="\r",is=`
`,Coe="\u2028",woe="\u2029";function Toe(e){const t=e;let n=0,r=1,i=1,o=0;const s=C=>t[C]===Aoe&&t[C+1]===is,a=C=>t[C]===is,c=C=>t[C]===woe,l=C=>t[C]===Coe,u=C=>s(C)||a(C)||c(C)||l(C),d=()=>n,f=()=>r,h=()=>i,p=()=>o,g=C=>s(C)||c(C)||l(C)?is:t[C],m=()=>g(n),y=()=>g(n+o);function v(){return o=0,u(n)&&(r++,i=0),s(n)&&n++,n++,i++,t[n]}function E(){return s(n+o)&&o++,o++,t[n+o]}function b(){n=0,r=1,i=1,o=0}function S(C=0){o=C}function w(){const C=n+o;for(;C!==n;)v();o=0}return{index:d,line:f,column:h,peekOffset:p,charAt:g,currentChar:m,currentPeek:y,next:v,peek:E,reset:b,resetPeek:S,skipToPeek:w}}const Bu=void 0,Ioe=".",tO="'",Poe="tokenizer";function Ooe(e,t={}){const n=t.location!==!1,r=Toe(e),i=()=>r.index(),o=()=>Eoe(r.line(),r.column(),r.index()),s=o(),a=i(),c={currentType:13,offset:a,startLoc:s,endLoc:s,lastType:13,lastOffset:a,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=t;function d(ee,$,ge,...ie){const Ie=l();if($.column+=ge,$.offset+=ge,u){const Ce=n?f7(Ie.startLoc,$):null,oe=cy(ee,Ce,{domain:Poe,args:ie});u(oe)}}function f(ee,$,ge){ee.endLoc=o(),ee.currentType=$;const ie={type:$};return n&&(ie.loc=f7(ee.startLoc,ee.endLoc)),ge!=null&&(ie.value=ge),ie}const h=ee=>f(ee,13);function p(ee,$){return ee.currentChar()===$?(ee.next(),$):(d(Dr.EXPECTED_TOKEN,o(),0,$),"")}function g(ee){let $="";for(;ee.currentPeek()===Rl||ee.currentPeek()===is;)$+=ee.currentPeek(),ee.peek();return $}function m(ee){const $=g(ee);return ee.skipToPeek(),$}function y(ee){if(ee===Bu)return!1;const $=ee.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$===95}function v(ee){if(ee===Bu)return!1;const $=ee.charCodeAt(0);return $>=48&&$<=57}function E(ee,$){const{currentType:ge}=$;if(ge!==2)return!1;g(ee);const ie=y(ee.currentPeek());return ee.resetPeek(),ie}function b(ee,$){const{currentType:ge}=$;if(ge!==2)return!1;g(ee);const ie=ee.currentPeek()==="-"?ee.peek():ee.currentPeek(),Ie=v(ie);return ee.resetPeek(),Ie}function S(ee,$){const{currentType:ge}=$;if(ge!==2)return!1;g(ee);const ie=ee.currentPeek()===tO;return ee.resetPeek(),ie}function w(ee,$){const{currentType:ge}=$;if(ge!==7)return!1;g(ee);const ie=ee.currentPeek()===".";return ee.resetPeek(),ie}function C(ee,$){const{currentType:ge}=$;if(ge!==8)return!1;g(ee);const ie=y(ee.currentPeek());return ee.resetPeek(),ie}function _(ee,$){const{currentType:ge}=$;if(!(ge===7||ge===11))return!1;g(ee);const ie=ee.currentPeek()===":";return ee.resetPeek(),ie}function I(ee,$){const{currentType:ge}=$;if(ge!==9)return!1;const ie=()=>{const Ce=ee.currentPeek();return Ce==="{"?y(ee.peek()):Ce==="@"||Ce==="|"||Ce===":"||Ce==="."||Ce===Rl||!Ce?!1:Ce===is?(ee.peek(),ie()):L(ee,!1)},Ie=ie();return ee.resetPeek(),Ie}function O(ee){g(ee);const $=ee.currentPeek()==="|";return ee.resetPeek(),$}function L(ee,$=!0){const ge=(Ie=!1,Ce="")=>{const oe=ee.currentPeek();return oe==="{"||oe==="@"||!oe?Ie:oe==="|"?!(Ce===Rl||Ce===is):oe===Rl?(ee.peek(),ge(!0,Rl)):oe===is?(ee.peek(),ge(!0,is)):!0},ie=ge();return $&&ee.resetPeek(),ie}function R(ee,$){const ge=ee.currentChar();return ge===Bu?Bu:$(ge)?(ee.next(),ge):null}function F(ee){const $=ee.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$>=48&&$<=57||$===95||$===36}function W(ee){return R(ee,F)}function J(ee){const $=ee.charCodeAt(0);return $>=97&&$<=122||$>=65&&$<=90||$>=48&&$<=57||$===95||$===36||$===45}function Y(ee){return R(ee,J)}function M(ee){const $=ee.charCodeAt(0);return $>=48&&$<=57}function B(ee){return R(ee,M)}function q(ee){const $=ee.charCodeAt(0);return $>=48&&$<=57||$>=65&&$<=70||$>=97&&$<=102}function z(ee){return R(ee,q)}function A(ee){let $="",ge="";for(;$=B(ee);)ge+=$;return ge}function T(ee){let $="";for(;;){const ge=ee.currentChar();if(ge==="{"||ge==="}"||ge==="@"||ge==="|"||!ge)break;if(ge===Rl||ge===is)if(L(ee))$+=ge,ee.next();else{if(O(ee))break;$+=ge,ee.next()}else $+=ge,ee.next()}return $}function k(ee){m(ee);let $="",ge="";for(;$=Y(ee);)ge+=$;return ee.currentChar()===Bu&&d(Dr.UNTERMINATED_CLOSING_BRACE,o(),0),ge}function j(ee){m(ee);let $="";return ee.currentChar()==="-"?(ee.next(),$+=`-${A(ee)}`):$+=A(ee),ee.currentChar()===Bu&&d(Dr.UNTERMINATED_CLOSING_BRACE,o(),0),$}function re(ee){return ee!==tO&&ee!==is}function me(ee){m(ee),p(ee,"'");let $="",ge="";for(;$=R(ee,re);)$==="\\"?ge+=te(ee):ge+=$;const ie=ee.currentChar();return ie===is||ie===Bu?(d(Dr.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),ie===is&&(ee.next(),p(ee,"'")),ge):(p(ee,"'"),ge)}function te(ee){const $=ee.currentChar();switch($){case"\\":case"'":return ee.next(),`\\${$}`;case"u":return X(ee,$,4);case"U":return X(ee,$,6);default:return d(Dr.UNKNOWN_ESCAPE_SEQUENCE,o(),0,$),""}}function X(ee,$,ge){p(ee,$);let ie="";for(let Ie=0;Ie<ge;Ie++){const Ce=z(ee);if(!Ce){d(Dr.INVALID_UNICODE_ESCAPE_SEQUENCE,o(),0,`\\${$}${ie}${ee.currentChar()}`);break}ie+=Ce}return`\\${$}${ie}`}function fe(ee){return ee!=="{"&&ee!=="}"&&ee!==Rl&&ee!==is}function le(ee){m(ee);let $="",ge="";for(;$=R(ee,fe);)ge+=$;return ge}function ve(ee){let $="",ge="";for(;$=W(ee);)ge+=$;return ge}function Z(ee){const $=ge=>{const ie=ee.currentChar();return ie==="{"||ie==="@"||ie==="|"||ie==="("||ie===")"||!ie||ie===Rl?ge:(ge+=ie,ee.next(),$(ge))};return $("")}function ae(ee){m(ee);const $=p(ee,"|");return m(ee),$}function pe(ee,$){let ge=null;switch(ee.currentChar()){case"{":return $.braceNest>=1&&d(Dr.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),ee.next(),ge=f($,2,"{"),m(ee),$.braceNest++,ge;case"}":return $.braceNest>0&&$.currentType===2&&d(Dr.EMPTY_PLACEHOLDER,o(),0),ee.next(),ge=f($,3,"}"),$.braceNest--,$.braceNest>0&&m(ee),$.inLinked&&$.braceNest===0&&($.inLinked=!1),ge;case"@":return $.braceNest>0&&d(Dr.UNTERMINATED_CLOSING_BRACE,o(),0),ge=K(ee,$)||h($),$.braceNest=0,ge;default:{let Ie=!0,Ce=!0,oe=!0;if(O(ee))return $.braceNest>0&&d(Dr.UNTERMINATED_CLOSING_BRACE,o(),0),ge=f($,1,ae(ee)),$.braceNest=0,$.inLinked=!1,ge;if($.braceNest>0&&($.currentType===4||$.currentType===5||$.currentType===6))return d(Dr.UNTERMINATED_CLOSING_BRACE,o(),0),$.braceNest=0,ce(ee,$);if(Ie=E(ee,$))return ge=f($,4,k(ee)),m(ee),ge;if(Ce=b(ee,$))return ge=f($,5,j(ee)),m(ee),ge;if(oe=S(ee,$))return ge=f($,6,me(ee)),m(ee),ge;if(!Ie&&!Ce&&!oe)return ge=f($,12,le(ee)),d(Dr.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,ge.value),m(ee),ge;break}}return ge}function K(ee,$){const{currentType:ge}=$;let ie=null;const Ie=ee.currentChar();switch((ge===7||ge===8||ge===11||ge===9)&&(Ie===is||Ie===Rl)&&d(Dr.INVALID_LINKED_FORMAT,o(),0),Ie){case"@":return ee.next(),ie=f($,7,"@"),$.inLinked=!0,ie;case".":return m(ee),ee.next(),f($,8,".");case":":return m(ee),ee.next(),f($,9,":");default:return O(ee)?(ie=f($,1,ae(ee)),$.braceNest=0,$.inLinked=!1,ie):w(ee,$)||_(ee,$)?(m(ee),K(ee,$)):C(ee,$)?(m(ee),f($,11,ve(ee))):I(ee,$)?(m(ee),Ie==="{"?pe(ee,$)||ie:f($,10,Z(ee))):(ge===7&&d(Dr.INVALID_LINKED_FORMAT,o(),0),$.braceNest=0,$.inLinked=!1,ce(ee,$))}}function ce(ee,$){let ge={type:13};if($.braceNest>0)return pe(ee,$)||h($);if($.inLinked)return K(ee,$)||h($);switch(ee.currentChar()){case"{":return pe(ee,$)||h($);case"}":return d(Dr.UNBALANCED_CLOSING_BRACE,o(),0),ee.next(),f($,3,"}");case"@":return K(ee,$)||h($);default:{if(O(ee))return ge=f($,1,ae(ee)),$.braceNest=0,$.inLinked=!1,ge;if(L(ee))return f($,0,T(ee));break}}return ge}function ye(){const{currentType:ee,offset:$,startLoc:ge,endLoc:ie}=c;return c.lastType=ee,c.lastOffset=$,c.lastStartLoc=ge,c.lastEndLoc=ie,c.offset=i(),c.startLoc=o(),r.currentChar()===Bu?f(c,13):ce(r,c)}return{nextToken:ye,currentOffset:i,currentPosition:o,context:l}}const _oe="parser",Roe=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function koe(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"<22>"}}}function xoe(e={}){const t=e.location!==!1,{onError:n}=e;function r(y,v,E,b,...S){const w=y.currentPosition();if(w.offset+=b,w.column+=b,n){const C=t?f7(E,w):null,_=cy(v,C,{domain:_oe,args:S});n(_)}}function i(y,v,E){const b={type:y};return t&&(b.start=v,b.end=v,b.loc={start:E,end:E}),b}function o(y,v,E,b){t&&(y.end=v,y.loc&&(y.loc.end=E))}function s(y,v){const E=y.context(),b=i(3,E.offset,E.startLoc);return b.value=v,o(b,y.currentOffset(),y.currentPosition()),b}function a(y,v){const E=y.context(),{lastOffset:b,lastStartLoc:S}=E,w=i(5,b,S);return w.index=parseInt(v,10),y.nextToken(),o(w,y.currentOffset(),y.currentPosition()),w}function c(y,v){const E=y.context(),{lastOffset:b,lastStartLoc:S}=E,w=i(4,b,S);return w.key=v,y.nextToken(),o(w,y.currentOffset(),y.currentPosition()),w}function l(y,v){const E=y.context(),{lastOffset:b,lastStartLoc:S}=E,w=i(9,b,S);return w.value=v.replace(Roe,koe),y.nextToken(),o(w,y.currentOffset(),y.currentPosition()),w}function u(y){const v=y.nextToken(),E=y.context(),{lastOffset:b,lastStartLoc:S}=E,w=i(8,b,S);return v.type!==11?(r(y,Dr.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),w.value="",o(w,b,S),{nextConsumeToken:v,node:w}):(v.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pc(v)),w.value=v.value||"",o(w,y.currentOffset(),y.currentPosition()),{node:w})}function d(y,v){const E=y.context(),b=i(7,E.offset,E.startLoc);return b.value=v,o(b,y.currentOffset(),y.currentPosition()),b}function f(y){const v=y.context(),E=i(6,v.offset,v.startLoc);let b=y.nextToken();if(b.type===8){const S=u(y);E.modifier=S.node,b=S.nextConsumeToken||y.nextToken()}switch(b.type!==9&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(b)),b=y.nextToken(),b.type===2&&(b=y.nextToken()),b.type){case 10:b.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(b)),E.key=d(y,b.value||"");break;case 4:b.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(b)),E.key=c(y,b.value||"");break;case 5:b.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(b)),E.key=a(y,b.value||"");break;case 6:b.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(b)),E.key=l(y,b.value||"");break;default:{r(y,Dr.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const S=y.context(),w=i(7,S.offset,S.startLoc);return w.value="",o(w,S.offset,S.startLoc),E.key=w,o(E,S.offset,S.startLoc),{nextConsumeToken:b,node:E}}}return o(E,y.currentOffset(),y.currentPosition()),{node:E}}function h(y){const v=y.context(),E=v.currentType===1?y.currentOffset():v.offset,b=v.currentType===1?v.endLoc:v.startLoc,S=i(2,E,b);S.items=[];let w=null;do{const I=w||y.nextToken();switch(w=null,I.type){case 0:I.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(I)),S.items.push(s(y,I.value||""));break;case 5:I.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(I)),S.items.push(a(y,I.value||""));break;case 4:I.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(I)),S.items.push(c(y,I.value||""));break;case 6:I.value==null&&r(y,Dr.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Pc(I)),S.items.push(l(y,I.value||""));break;case 7:{const O=f(y);S.items.push(O.node),w=O.nextConsumeToken||null;break}}}while(v.currentType!==13&&v.currentType!==1);const C=v.currentType===1?v.lastOffset:y.currentOffset(),_=v.currentType===1?v.lastEndLoc:y.currentPosition();return o(S,C,_),S}function p(y,v,E,b){const S=y.context();let w=b.items.length===0;const C=i(1,v,E);C.cases=[],C.cases.push(b);do{const _=h(y);w||(w=_.items.length===0),C.cases.push(_)}while(S.currentType!==13);return w&&r(y,Dr.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),o(C,y.currentOffset(),y.currentPosition()),C}function g(y){const v=y.context(),{offset:E,startLoc:b}=v,S=h(y);return v.currentType===13?S:p(y,E,b,S)}function m(y){const v=Ooe(y,co({},e)),E=v.context(),b=i(0,E.offset,E.startLoc);return t&&b.loc&&(b.loc.source=y),b.body=g(v),e.onCacheKey&&(b.cacheKey=e.onCacheKey(y)),E.currentType!==13&&r(v,Dr.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,y[E.offset]||""),o(b,v.currentOffset(),v.currentPosition()),b}return{parse:m}}function Pc(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Doe(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function nO(e,t){for(let n=0;n<e.length;n++)zC(e[n],t)}function zC(e,t){switch(e.type){case 1:nO(e.cases,t),t.helper("plural");break;case 2:nO(e.items,t);break;case 6:{zC(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function Loe(e,t={}){const n=Doe(e);n.helper("normalize"),e.body&&zC(e.body,n);const r=n.context();e.helpers=Array.from(r.helpers)}function Noe(e){const t=e.body;return t.type===2?rO(t):t.cases.forEach(n=>rO(n)),e}function rO(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const r=e.items[n];if(!(r.type===3||r.type===9)||r.value==null)break;t.push(r.value)}if(t.length===e.items.length){e.static=HC(t);for(let n=0;n<e.items.length;n++){const r=e.items[n];(r.type===3||r.type===9)&&delete r.value}}}}function ch(e){switch(e.t=e.type,e.type){case 0:{const t=e;ch(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let r=0;r<n.length;r++)ch(n[r]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let r=0;r<n.length;r++)ch(n[r]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;ch(t.key),t.k=t.key,delete t.key,t.modifier&&(ch(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}}delete e.type}function Moe(e,t){const{filename:n,breakLineCode:r,needIndent:i}=t,o=t.location!==!1,s={filename:n,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:r,needIndent:i,indentLevel:0};o&&e.loc&&(s.source=e.loc.source);const a=()=>s;function c(g,m){s.code+=g}function l(g,m=!0){const y=m?r:"";c(i?y+" ".repeat(g):y)}function u(g=!0){const m=++s.indentLevel;g&&l(m)}function d(g=!0){const m=--s.indentLevel;g&&l(m)}function f(){l(s.indentLevel)}return{context:a,push:c,indent:u,deindent:d,newline:f,helper:g=>`_${g}`,needIndent:()=>s.needIndent}}function Boe(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),tp(e,t.key),t.modifier?(e.push(", "),tp(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Foe(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const i=t.items.length;for(let o=0;o<i&&(tp(e,t.items[o]),o!==i-1);o++)e.push(", ");e.deindent(r()),e.push("])")}function Uoe(e,t){const{helper:n,needIndent:r}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(r());const i=t.cases.length;for(let o=0;o<i&&(tp(e,t.cases[o]),o!==i-1);o++)e.push(", ");e.deindent(r()),e.push("])")}}function joe(e,t){t.body?tp(e,t.body):e.push("null")}function tp(e,t){const{helper:n}=e;switch(t.type){case 0:joe(e,t);break;case 1:Uoe(e,t);break;case 2:Foe(e,t);break;case 6:Boe(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break}}const Hoe=(e,t={})=>{const n=jt(t.mode)?t.mode:"normal",r=jt(t.filename)?t.filename:"message.intl";t.sourceMap;const i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":`
`,o=t.needIndent?t.needIndent:n!=="arrow",s=e.helpers||[],a=Moe(e,{filename:r,breakLineCode:i,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),s.length>0&&(a.push(`const { ${HC(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),a.newline()),a.push("return "),tp(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:c,map:l}=a.context();return{ast:e,code:c,map:l?l.toJSON():void 0}};function zoe(e,t={}){const n=co({},t),r=!!n.jit,i=!!n.minify,o=n.optimize==null?!0:n.optimize,a=xoe(n).parse(e);return r?(o&&Noe(a),i&&ch(a),{ast:a,code:""}):(Loe(a,n),Hoe(a,n))}/*!
* core-base v10.0.8
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Woe(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(D0().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(D0().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function el(e){return Ar(e)&&WC(e)===0&&(oc(e,"b")||oc(e,"body"))}const AW=["b","body"];function Voe(e){return Hd(e,AW)}const CW=["c","cases"];function Goe(e){return Hd(e,CW,[])}const wW=["s","static"];function Joe(e){return Hd(e,wW)}const TW=["i","items"];function Zoe(e){return Hd(e,TW,[])}const IW=["t","type"];function WC(e){return Hd(e,IW)}const PW=["v","value"];function y2(e,t){const n=Hd(e,PW);if(n!=null)return n;throw Um(t)}const OW=["m","modifier"];function Yoe(e){return Hd(e,OW)}const _W=["k","key"];function Xoe(e){const t=Hd(e,_W);if(t)return t;throw Um(6)}function Hd(e,t,n){for(let r=0;r<t.length;r++){const i=t[r];if(oc(e,i)&&e[i]!=null)return e[i]}return n}const RW=[...AW,...CW,...wW,...TW,..._W,...OW,...PW,...IW];function Um(e){return new Error(`unhandled node type: ${e}`)}function F6(e){return n=>Qoe(n,e)}function Qoe(e,t){const n=Voe(t);if(n==null)throw Um(0);if(WC(n)===1){const o=Goe(n);return e.plural(o.reduce((s,a)=>[...s,iO(e,a)],[]))}else return iO(e,n)}function iO(e,t){const n=Joe(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=Zoe(t).reduce((i,o)=>[...i,h7(e,o)],[]);return e.normalize(r)}}function h7(e,t){const n=WC(t);switch(n){case 3:return y2(t,n);case 9:return y2(t,n);case 4:{const r=t;if(oc(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(oc(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Um(n)}case 5:{const r=t;if(oc(r,"i")&&zi(r.i))return e.interpolate(e.list(r.i));if(oc(r,"index")&&zi(r.index))return e.interpolate(e.list(r.index));throw Um(n)}case 6:{const r=t,i=Yoe(r),o=Xoe(r);return e.linked(h7(e,o),i?h7(e,i):void 0,e.type)}case 7:return y2(t,n);case 8:return y2(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Koe=e=>e;let E2=Hr();function qoe(e,t={}){let n=!1;const r=t.onError||Soe;return t.onError=i=>{n=!0,r(i)},{...zoe(e,t),detectError:n}}function $oe(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&jt(e)){yr(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Koe)(e),i=E2[r];if(i)return i;const{ast:o,detectError:s}=qoe(e,{...t,location:!1,jit:!0}),a=F6(o);return s?a:E2[r]=a}else{const n=e.cacheKey;if(n){const r=E2[n];return r||(E2[n]=F6(e))}else return F6(e)}}let jm=null;function ese(e){jm=e}function tse(e,t,n){jm&&jm.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const nse=rse("function:translate");function rse(e){return t=>jm&&jm.emit(e,t)}const ru={INVALID_ARGUMENT:boe,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},ise=24;function iu(e){return cy(e,null,void 0)}function VC(e,t){return t.locale!=null?oO(t.locale):oO(e.locale)}let U6;function oO(e){if(jt(e))return e;if(ri(e)){if(e.resolvedOnce&&U6!=null)return U6;if(e.constructor.name==="Function"){const t=e();if(voe(t))throw iu(ru.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return U6=t}else throw iu(ru.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw iu(ru.NOT_SUPPORT_LOCALE_TYPE)}function ose(e,t,n){return[...new Set([n,..._i(t)?t:Ar(t)?Object.keys(t):jt(t)?[t]:[n]])]}function kW(e,t,n){const r=jt(n)?n:Hm,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let o=i.__localeChainCache.get(r);if(!o){o=[];let s=[n];for(;_i(s);)s=sO(o,s,t);const a=_i(t)||!Vn(t)?t:t.default?t.default:null;s=jt(a)?[a]:a,_i(s)&&sO(o,s,!1),i.__localeChainCache.set(r,o)}return o}function sO(e,t,n){let r=!0;for(let i=0;i<t.length&&yr(r);i++){const o=t[i];jt(o)&&(r=sse(e,t[i],n))}return r}function sse(e,t,n){let r;const i=t.split("-");do{const o=i.join("-");r=ase(e,o,n),i.splice(-1,1)}while(i.length&&r===!0);return r}function ase(e,t,n){let r=!1;if(!e.includes(t)&&(r=!0,t)){r=t[t.length-1]!=="!";const i=t.replace(/!/g,"");e.push(i),(_i(n)||Vn(n))&&n[i]&&(r=n[i])}return r}const zd=[];zd[0]={w:[0],i:[3,0],"[":[4],o:[7]};zd[1]={w:[1],".":[2],"[":[4],o:[7]};zd[2]={w:[2],i:[3,0],0:[3,0]};zd[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};zd[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};zd[5]={"'":[4,0],o:8,l:[5,0]};zd[6]={'"':[4,0],o:8,l:[6,0]};const cse=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function lse(e){return cse.test(e)}function use(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function dse(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function fse(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:lse(t)?use(t):"*"+t}function hse(e){const t=[];let n=-1,r=0,i=0,o,s,a,c,l,u,d;const f=[];f[0]=()=>{s===void 0?s=a:s+=a},f[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},f[2]=()=>{f[0](),i++},f[3]=()=>{if(i>0)i--,r=4,f[0]();else{if(i=0,s===void 0||(s=fse(s),s===!1))return!1;f[1]()}};function h(){const p=e[n+1];if(r===5&&p==="'"||r===6&&p==='"')return n++,a="\\"+p,f[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&h())){if(c=dse(o),d=zd[r],l=d[c]||d.l||8,l===8||(r=l[0],l[1]!==void 0&&(u=f[l[1]],u&&(a=o,u()===!1))))return;if(r===7)return t}}const aO=new Map;function pse(e,t){return Ar(e)?e[t]:null}function mse(e,t){if(!Ar(e))return null;let n=aO.get(t);if(n||(n=hse(t),n&&aO.set(t,n)),!n)return null;const r=n.length;let i=e,o=0;for(;o<r;){const s=n[o];if(RW.includes(s)&&el(i))return null;const a=i[s];if(a===void 0||ri(i))return null;i=a,o++}return i}const gse="10.0.8",ly=-1,Hm="en-US",cO="",lO=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function vse(){return{upper:(e,t)=>t==="text"&&jt(e)?e.toUpperCase():t==="vnode"&&Ar(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&jt(e)?e.toLowerCase():t==="vnode"&&Ar(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&jt(e)?lO(e):t==="vnode"&&Ar(e)&&"__v_isVNode"in e?lO(e.children):e}}let xW;function yse(e){xW=e}let DW;function Ese(e){DW=e}let LW;function bse(e){LW=e}let NW=null;const Sse=e=>{NW=e},Ase=()=>NW;let MW=null;const uO=e=>{MW=e},Cse=()=>MW;let dO=0;function wse(e={}){const t=ri(e.onWarn)?e.onWarn:uoe,n=jt(e.version)?e.version:gse,r=jt(e.locale)||ri(e.locale)?e.locale:Hm,i=ri(r)?Hm:r,o=_i(e.fallbackLocale)||Vn(e.fallbackLocale)||jt(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i,s=Vn(e.messages)?e.messages:j6(i),a=Vn(e.datetimeFormats)?e.datetimeFormats:j6(i),c=Vn(e.numberFormats)?e.numberFormats:j6(i),l=co(Hr(),e.modifiers,vse()),u=e.pluralRules||Hr(),d=ri(e.missing)?e.missing:null,f=yr(e.missingWarn)||ep(e.missingWarn)?e.missingWarn:!0,h=yr(e.fallbackWarn)||ep(e.fallbackWarn)?e.fallbackWarn:!0,p=!!e.fallbackFormat,g=!!e.unresolving,m=ri(e.postTranslation)?e.postTranslation:null,y=Vn(e.processor)?e.processor:null,v=yr(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter,b=ri(e.messageCompiler)?e.messageCompiler:xW,S=ri(e.messageResolver)?e.messageResolver:DW||pse,w=ri(e.localeFallbacker)?e.localeFallbacker:LW||ose,C=Ar(e.fallbackContext)?e.fallbackContext:void 0,_=e,I=Ar(_.__datetimeFormatters)?_.__datetimeFormatters:new Map,O=Ar(_.__numberFormatters)?_.__numberFormatters:new Map,L=Ar(_.__meta)?_.__meta:{};dO++;const R={version:n,cid:dO,locale:r,fallbackLocale:o,messages:s,modifiers:l,pluralRules:u,missing:d,missingWarn:f,fallbackWarn:h,fallbackFormat:p,unresolving:g,postTranslation:m,processor:y,warnHtmlMessage:v,escapeParameter:E,messageCompiler:b,messageResolver:S,localeFallbacker:w,fallbackContext:C,onWarn:t,__meta:L};return R.datetimeFormats=a,R.numberFormats=c,R.__datetimeFormatters=I,R.__numberFormatters=O,__INTLIFY_PROD_DEVTOOLS__&&tse(R,n,L),R}const j6=e=>({[e]:Hr()});function GC(e,t,n,r,i){const{missing:o,onWarn:s}=e;if(o!==null){const a=o(e,n,t,i);return jt(a)?a:t}else return t}function l1(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Tse(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ise(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r<t.length;r++)if(Tse(e,t[r]))return!0;return!1}function fO(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:s}=e,{__datetimeFormatters:a}=e,[c,l,u,d]=p7(...t),f=yr(u.missingWarn)?u.missingWarn:e.missingWarn;yr(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const h=!!u.part,p=VC(e,u),g=s(e,i,p);if(!jt(c)||c==="")return new Intl.DateTimeFormat(p,d).format(l);let m={},y,v=null;const E="datetime format";for(let w=0;w<g.length&&(y=g[w],m=n[y]||{},v=m[c],!Vn(v));w++)GC(e,c,y,f,E);if(!Vn(v)||!jt(y))return r?ly:c;let b=`${y}__${c}`;ay(d)||(b=`${b}__${JSON.stringify(d)}`);let S=a.get(b);return S||(S=new Intl.DateTimeFormat(y,co({},v,d)),a.set(b,S)),h?S.formatToParts(l):S.format(l)}const BW=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function p7(...e){const[t,n,r,i]=e,o=Hr();let s=Hr(),a;if(jt(t)){const c=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!c)throw iu(ru.INVALID_ISO_DATE_ARGUMENT);const l=c[3]?c[3].trim().startsWith("T")?`${c[1].trim()}${c[3].trim()}`:`${c[1].trim()}T${c[3].trim()}`:c[1].trim();a=new Date(l);try{a.toISOString()}catch{throw iu(ru.INVALID_ISO_DATE_ARGUMENT)}}else if(hoe(t)){if(isNaN(t.getTime()))throw iu(ru.INVALID_DATE_ARGUMENT);a=t}else if(zi(t))a=t;else throw iu(ru.INVALID_ARGUMENT);return jt(n)?o.key=n:Vn(n)&&Object.keys(n).forEach(c=>{BW.includes(c)?s[c]=n[c]:o[c]=n[c]}),jt(r)?o.locale=r:Vn(r)&&(s=r),Vn(i)&&(s=i),[o.key||"",a,o,s]}function hO(e,t,n){const r=e;for(const i in n){const o=`${t}__${i}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function pO(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:i,onWarn:o,localeFallbacker:s}=e,{__numberFormatters:a}=e,[c,l,u,d]=m7(...t),f=yr(u.missingWarn)?u.missingWarn:e.missingWarn;yr(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const h=!!u.part,p=VC(e,u),g=s(e,i,p);if(!jt(c)||c==="")return new Intl.NumberFormat(p,d).format(l);let m={},y,v=null;const E="number format";for(let w=0;w<g.length&&(y=g[w],m=n[y]||{},v=m[c],!Vn(v));w++)GC(e,c,y,f,E);if(!Vn(v)||!jt(y))return r?ly:c;let b=`${y}__${c}`;ay(d)||(b=`${b}__${JSON.stringify(d)}`);let S=a.get(b);return S||(S=new Intl.NumberFormat(y,co({},v,d)),a.set(b,S)),h?S.formatToParts(l):S.format(l)}const FW=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function m7(...e){const[t,n,r,i]=e,o=Hr();let s=Hr();if(!zi(t))throw iu(ru.INVALID_ARGUMENT);const a=t;return jt(n)?o.key=n:Vn(n)&&Object.keys(n).forEach(c=>{FW.includes(c)?s[c]=n[c]:o[c]=n[c]}),jt(r)?o.locale=r:Vn(r)&&(s=r),Vn(i)&&(s=i),[o.key||"",a,o,s]}function mO(e,t,n){const r=e;for(const i in n){const o=`${t}__${i}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const Pse=e=>e,Ose=e=>"",_se="text",Rse=e=>e.length===0?"":HC(e),kse=yoe;function gO(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function xse(e){const t=zi(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(zi(e.named.count)||zi(e.named.n))?zi(e.named.count)?e.named.count:zi(e.named.n)?e.named.n:t:t}function Dse(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Lse(e={}){const t=e.locale,n=xse(e),r=Ar(e.pluralRules)&&jt(t)&&ri(e.pluralRules[t])?e.pluralRules[t]:gO,i=Ar(e.pluralRules)&&jt(t)&&ri(e.pluralRules[t])?gO:void 0,o=y=>y[r(n,y.length,i)],s=e.list||[],a=y=>s[y],c=e.named||Hr();zi(e.pluralIndex)&&Dse(n,c);const l=y=>c[y];function u(y,v){const E=ri(e.messages)?e.messages(y,!!v):Ar(e.messages)?e.messages[y]:!1;return E||(e.parent?e.parent.message(y):Ose)}const d=y=>e.modifiers?e.modifiers[y]:Pse,f=Vn(e.processor)&&ri(e.processor.normalize)?e.processor.normalize:Rse,h=Vn(e.processor)&&ri(e.processor.interpolate)?e.processor.interpolate:kse,p=Vn(e.processor)&&jt(e.processor.type)?e.processor.type:_se,m={list:a,named:l,plural:o,linked:(y,...v)=>{const[E,b]=v;let S="text",w="";v.length===1?Ar(E)?(w=E.modifier||w,S=E.type||S):jt(E)&&(w=E||w):v.length===2&&(jt(E)&&(w=E||w),jt(b)&&(S=b||S));const C=u(y,!0)(m),_=S==="vnode"&&_i(C)&&w?C[0]:C;return w?d(w)(_,S):_},message:u,type:p,interpolate:h,normalize:f,values:co(Hr(),s,c)};return m}const vO=()=>"",Ta=e=>ri(e);function yO(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:i,messageCompiler:o,fallbackLocale:s,messages:a}=e,[c,l]=g7(...t),u=yr(l.missingWarn)?l.missingWarn:e.missingWarn,d=yr(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,f=yr(l.escapeParameter)?l.escapeParameter:e.escapeParameter,h=!!l.resolvedMessage,p=jt(l.default)||yr(l.default)?yr(l.default)?o?c:()=>c:l.default:n?o?c:()=>c:null,g=n||p!=null&&(jt(p)||ri(p)),m=VC(e,l);f&&Nse(l);let[y,v,E]=h?[c,m,a[m]||Hr()]:UW(e,c,m,s,d,u),b=y,S=c;if(!h&&!(jt(b)||el(b)||Ta(b))&&g&&(b=p,S=b),!h&&(!(jt(b)||el(b)||Ta(b))||!jt(v)))return i?ly:c;let w=!1;const C=()=>{w=!0},_=Ta(b)?b:jW(e,c,v,b,S,C);if(w)return b;const I=Fse(e,v,E,l),O=Lse(I),L=Mse(e,_,O);let R=r?r(L,c):L;if(f&&jt(R)&&(R=moe(R)),__INTLIFY_PROD_DEVTOOLS__){const F={timestamp:Date.now(),key:jt(c)?c:Ta(b)?b.key:"",locale:v||(Ta(b)?b.locale:""),format:jt(b)?b:Ta(b)?b.source:"",message:R};F.meta=co({},e.__meta,Ase()||{}),nse(F)}return R}function Nse(e){_i(e.list)?e.list=e.list.map(t=>jt(t)?$P(t):t):Ar(e.named)&&Object.keys(e.named).forEach(t=>{jt(e.named[t])&&(e.named[t]=$P(e.named[t]))})}function UW(e,t,n,r,i,o){const{messages:s,onWarn:a,messageResolver:c,localeFallbacker:l}=e,u=l(e,r,n);let d=Hr(),f,h=null;const p="translate";for(let g=0;g<u.length&&(f=u[g],d=s[f]||Hr(),(h=c(d,t))===null&&(h=d[t]),!(jt(h)||el(h)||Ta(h)));g++)if(!Ise(f,u)){const m=GC(e,t,f,o,p);m!==t&&(h=m)}return[h,f,d]}function jW(e,t,n,r,i,o){const{messageCompiler:s,warnHtmlMessage:a}=e;if(Ta(r)){const l=r;return l.locale=l.locale||n,l.key=l.key||t,l}if(s==null){const l=(()=>r);return l.locale=n,l.key=t,l}const c=s(r,Bse(e,n,i,r,a,o));return c.locale=n,c.key=t,c.source=r,c}function Mse(e,t,n){return t(n)}function g7(...e){const[t,n,r]=e,i=Hr();if(!jt(t)&&!zi(t)&&!Ta(t)&&!el(t))throw iu(ru.INVALID_ARGUMENT);const o=zi(t)?String(t):(Ta(t),t);return zi(n)?i.plural=n:jt(n)?i.default=n:Vn(n)&&!ay(n)?i.named=n:_i(n)&&(i.list=n),zi(r)?i.plural=r:jt(r)?i.default=r:Vn(r)&&co(i,r),[o,i]}function Bse(e,t,n,r,i,o){return{locale:t,key:n,warnHtmlMessage:i,onError:s=>{throw o&&o(s),s},onCacheKey:s=>doe(t,n,s)}}function Fse(e,t,n,r){const{modifiers:i,pluralRules:o,messageResolver:s,fallbackLocale:a,fallbackWarn:c,missingWarn:l,fallbackContext:u}=e,f={locale:t,modifiers:i,pluralRules:o,messages:(h,p)=>{let g=s(n,h);if(g==null&&(u||p)){const[,,m]=UW(u||e,h,t,a,c,l);g=s(m,h)}if(jt(g)||el(g)){let m=!1;const v=jW(e,h,t,g,h,()=>{m=!0});return m?vO:v}else return Ta(g)?g:vO}};return e.processor&&(f.processor=e.processor),r.list&&(f.list=r.list),r.named&&(f.named=r.named),zi(r.plural)&&(f.pluralIndex=r.plural),f}Woe();/*!
* vue-i18n v10.0.8
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/const Use="10.0.8";function jse(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(D0().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(D0().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(D0().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(D0().__INTLIFY_PROD_DEVTOOLS__=!1)}const ps={UNEXPECTED_RETURN_TYPE:ise,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function js(e,...t){return cy(e,null,void 0)}const v7=jd("__translateVNode"),y7=jd("__datetimeParts"),E7=jd("__numberParts"),HW=jd("__setPluralRules"),zW=jd("__injectWithOption"),b7=jd("__dispose");function zm(e){if(!Ar(e)||el(e))return e;for(const t in e)if(oc(e,t))if(!t.includes("."))Ar(e[t])&&zm(e[t]);else{const n=t.split("."),r=n.length-1;let i=e,o=!1;for(let s=0;s<r;s++){if(n[s]==="__proto__")throw new Error(`unsafe key: ${n[s]}`);if(n[s]in i||(i[n[s]]=Hr()),!Ar(i[n[s]])){o=!0;break}i=i[n[s]]}if(o||(el(i)?RW.includes(n[r])||delete e[t]:(i[n[r]]=e[t],delete e[t])),!el(i)){const s=i[n[r]];Ar(s)&&zm(s)}}return e}function JC(e,t){const{messages:n,__i18n:r,messageResolver:i,flatJson:o}=t,s=Vn(n)?n:_i(r)?Hr():{[e]:Hr()};if(_i(r)&&r.forEach(a=>{if("locale"in a&&"resource"in a){const{locale:c,resource:l}=a;c?(s[c]=s[c]||Hr(),U5(l,s[c])):U5(l,s)}else jt(a)&&U5(JSON.parse(a),s)}),i==null&&o)for(const a in s)oc(s,a)&&zm(s[a]);return s}function WW(e){return e.type}function VW(e,t,n){let r=Ar(t.messages)?t.messages:Hr();"__i18nGlobal"in n&&(r=JC(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const i=Object.keys(r);i.length&&i.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(Ar(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ar(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function EO(e){return be(yf,null,e,0)}const bO="__INTLIFY_META__",SO=()=>[],Hse=()=>!1;let AO=0;function CO(e){return((t,n,r,i)=>e(n,r,yn()||void 0,i))}const zse=()=>{const e=yn();let t=null;return e&&(t=WW(e)[bO])?{[bO]:t}:null};function ZC(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,i=e.flatJson,o=G3?se:xo;let s=yr(e.inheritLocale)?e.inheritLocale:!0;const a=o(t&&s?t.locale.value:jt(e.locale)?e.locale:Hm),c=o(t&&s?t.fallbackLocale.value:jt(e.fallbackLocale)||_i(e.fallbackLocale)||Vn(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a.value),l=o(JC(a.value,e)),u=o(Vn(e.datetimeFormats)?e.datetimeFormats:{[a.value]:{}}),d=o(Vn(e.numberFormats)?e.numberFormats:{[a.value]:{}});let f=t?t.missingWarn:yr(e.missingWarn)||ep(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:yr(e.fallbackWarn)||ep(e.fallbackWarn)?e.fallbackWarn:!0,p=t?t.fallbackRoot:yr(e.fallbackRoot)?e.fallbackRoot:!0,g=!!e.fallbackFormat,m=ri(e.missing)?e.missing:null,y=ri(e.missing)?CO(e.missing):null,v=ri(e.postTranslation)?e.postTranslation:null,E=t?t.warnHtmlMessage:yr(e.warnHtmlMessage)?e.warnHtmlMessage:!0,b=!!e.escapeParameter;const S=t?t.modifiers:Vn(e.modifiers)?e.modifiers:{};let w=e.pluralRules||t&&t.pluralRules,C;C=(()=>{r&&uO(null);const oe={version:Use,locale:a.value,fallbackLocale:c.value,messages:l.value,modifiers:S,pluralRules:w,missing:y===null?void 0:y,missingWarn:f,fallbackWarn:h,fallbackFormat:g,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:E,escapeParameter:b,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};oe.datetimeFormats=u.value,oe.numberFormats=d.value,oe.__datetimeFormatters=Vn(C)?C.__datetimeFormatters:void 0,oe.__numberFormatters=Vn(C)?C.__numberFormatters:void 0;const Ne=wse(oe);return r&&uO(Ne),Ne})(),l1(C,a.value,c.value);function I(){return[a.value,c.value,l.value,u.value,d.value]}const O=V({get:()=>a.value,set:oe=>{a.value=oe,C.locale=a.value}}),L=V({get:()=>c.value,set:oe=>{c.value=oe,C.fallbackLocale=c.value,l1(C,a.value,oe)}}),R=V(()=>l.value),F=V(()=>u.value),W=V(()=>d.value);function J(){return ri(v)?v:null}function Y(oe){v=oe,C.postTranslation=oe}function M(){return m}function B(oe){oe!==null&&(y=CO(oe)),m=oe,C.missing=y}const q=(oe,Ne,x,N,U,de)=>{I();let we;try{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=t?Cse():void 0),we=oe(C)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=void 0)}if(x!=="translate exists"&&zi(we)&&we===ly||x==="translate exists"&&!we){const[Ae,Le]=Ne();return t&&p?N(t):U(Ae)}else{if(de(we))return we;throw js(ps.UNEXPECTED_RETURN_TYPE)}};function z(...oe){return q(Ne=>Reflect.apply(yO,null,[Ne,...oe]),()=>g7(...oe),"translate",Ne=>Reflect.apply(Ne.t,Ne,[...oe]),Ne=>Ne,Ne=>jt(Ne))}function A(...oe){const[Ne,x,N]=oe;if(N&&!Ar(N))throw js(ps.INVALID_ARGUMENT);return z(Ne,x,co({resolvedMessage:!0},N||{}))}function T(...oe){return q(Ne=>Reflect.apply(fO,null,[Ne,...oe]),()=>p7(...oe),"datetime format",Ne=>Reflect.apply(Ne.d,Ne,[...oe]),()=>cO,Ne=>jt(Ne))}function k(...oe){return q(Ne=>Reflect.apply(pO,null,[Ne,...oe]),()=>m7(...oe),"number format",Ne=>Reflect.apply(Ne.n,Ne,[...oe]),()=>cO,Ne=>jt(Ne))}function j(oe){return oe.map(Ne=>jt(Ne)||zi(Ne)||yr(Ne)?EO(String(Ne)):Ne)}const me={normalize:j,interpolate:oe=>oe,type:"vnode"};function te(...oe){return q(Ne=>{let x;const N=Ne;try{N.processor=me,x=Reflect.apply(yO,null,[N,...oe])}finally{N.processor=null}return x},()=>g7(...oe),"translate",Ne=>Ne[v7](...oe),Ne=>[EO(Ne)],Ne=>_i(Ne))}function X(...oe){return q(Ne=>Reflect.apply(pO,null,[Ne,...oe]),()=>m7(...oe),"number format",Ne=>Ne[E7](...oe),SO,Ne=>jt(Ne)||_i(Ne))}function fe(...oe){return q(Ne=>Reflect.apply(fO,null,[Ne,...oe]),()=>p7(...oe),"datetime format",Ne=>Ne[y7](...oe),SO,Ne=>jt(Ne)||_i(Ne))}function le(oe){w=oe,C.pluralRules=w}function ve(oe,Ne){return q(()=>{if(!oe)return!1;const x=jt(Ne)?Ne:a.value,N=pe(x),U=C.messageResolver(N,oe);return el(U)||Ta(U)||jt(U)},()=>[oe],"translate exists",x=>Reflect.apply(x.te,x,[oe,Ne]),Hse,x=>yr(x))}function Z(oe){let Ne=null;const x=kW(C,c.value,a.value);for(let N=0;N<x.length;N++){const U=l.value[x[N]]||{},de=C.messageResolver(U,oe);if(de!=null){Ne=de;break}}return Ne}function ae(oe){const Ne=Z(oe);return Ne??(t?t.tm(oe)||{}:{})}function pe(oe){return l.value[oe]||{}}function K(oe,Ne){if(i){const x={[oe]:Ne};for(const N in x)oc(x,N)&&zm(x[N]);Ne=x[oe]}l.value[oe]=Ne,C.messages=l.value}function ce(oe,Ne){l.value[oe]=l.value[oe]||{};const x={[oe]:Ne};if(i)for(const N in x)oc(x,N)&&zm(x[N]);Ne=x[oe],U5(Ne,l.value[oe]),C.messages=l.value}function ye(oe){return u.value[oe]||{}}function ee(oe,Ne){u.value[oe]=Ne,C.datetimeFormats=u.value,hO(C,oe,Ne)}function $(oe,Ne){u.value[oe]=co(u.value[oe]||{},Ne),C.datetimeFormats=u.value,hO(C,oe,Ne)}function ge(oe){return d.value[oe]||{}}function ie(oe,Ne){d.value[oe]=Ne,C.numberFormats=d.value,mO(C,oe,Ne)}function Ie(oe,Ne){d.value[oe]=co(d.value[oe]||{},Ne),C.numberFormats=d.value,mO(C,oe,Ne)}AO++,t&&G3&&(Ye(t.locale,oe=>{s&&(a.value=oe,C.locale=oe,l1(C,a.value,c.value))}),Ye(t.fallbackLocale,oe=>{s&&(c.value=oe,C.fallbackLocale=oe,l1(C,a.value,c.value))}));const Ce={id:AO,locale:O,fallbackLocale:L,get inheritLocale(){return s},set inheritLocale(oe){s=oe,oe&&t&&(a.value=t.locale.value,c.value=t.fallbackLocale.value,l1(C,a.value,c.value))},get availableLocales(){return Object.keys(l.value).sort()},messages:R,get modifiers(){return S},get pluralRules(){return w||{}},get isGlobal(){return r},get missingWarn(){return f},set missingWarn(oe){f=oe,C.missingWarn=f},get fallbackWarn(){return h},set fallbackWarn(oe){h=oe,C.fallbackWarn=h},get fallbackRoot(){return p},set fallbackRoot(oe){p=oe},get fallbackFormat(){return g},set fallbackFormat(oe){g=oe,C.fallbackFormat=g},get warnHtmlMessage(){return E},set warnHtmlMessage(oe){E=oe,C.warnHtmlMessage=oe},get escapeParameter(){return b},set escapeParameter(oe){b=oe,C.escapeParameter=oe},t:z,getLocaleMessage:pe,setLocaleMessage:K,mergeLocaleMessage:ce,getPostTranslationHandler:J,setPostTranslationHandler:Y,getMissingHandler:M,setMissingHandler:B,[HW]:le};return Ce.datetimeFormats=F,Ce.numberFormats=W,Ce.rt=A,Ce.te=ve,Ce.tm=ae,Ce.d=T,Ce.n=k,Ce.getDateTimeFormat=ye,Ce.setDateTimeFormat=ee,Ce.mergeDateTimeFormat=$,Ce.getNumberFormat=ge,Ce.setNumberFormat=ie,Ce.mergeNumberFormat=Ie,Ce[zW]=n,Ce[v7]=te,Ce[y7]=fe,Ce[E7]=X,Ce}function Wse(e){const t=jt(e.locale)?e.locale:Hm,n=jt(e.fallbackLocale)||_i(e.fallbackLocale)||Vn(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=ri(e.missing)?e.missing:void 0,i=yr(e.silentTranslationWarn)||ep(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,o=yr(e.silentFallbackWarn)||ep(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=yr(e.fallbackRoot)?e.fallbackRoot:!0,a=!!e.formatFallbackMessages,c=Vn(e.modifiers)?e.modifiers:{},l=e.pluralizationRules,u=ri(e.postTranslation)?e.postTranslation:void 0,d=jt(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,h=yr(e.sync)?e.sync:!0;let p=e.messages;if(Vn(e.sharedMessages)){const S=e.sharedMessages;p=Object.keys(S).reduce((C,_)=>{const I=C[_]||(C[_]={});return co(I,S[_]),C},p||{})}const{__i18n:g,__root:m,__injectWithOption:y}=e,v=e.datetimeFormats,E=e.numberFormats,b=e.flatJson;return{locale:t,fallbackLocale:n,messages:p,flatJson:b,datetimeFormats:v,numberFormats:E,missing:r,missingWarn:i,fallbackWarn:o,fallbackRoot:s,fallbackFormat:a,modifiers:c,pluralRules:l,postTranslation:u,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:h,__i18n:g,__root:m,__injectWithOption:y}}function S7(e={}){const t=ZC(Wse(e)),{__extender:n}=e,r={id:t.id,get locale(){return t.locale.value},set locale(i){t.locale.value=i},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(i){t.fallbackLocale.value=i},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(i){t.setMissingHandler(i)},get silentTranslationWarn(){return yr(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(i){t.missingWarn=yr(i)?!i:i},get silentFallbackWarn(){return yr(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(i){t.fallbackWarn=yr(i)?!i:i},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(i){t.fallbackFormat=i},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(i){t.setPostTranslationHandler(i)},get sync(){return t.inheritLocale},set sync(i){t.inheritLocale=i},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){t.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(i){t.escapeParameter=i},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...i){return Reflect.apply(t.t,t,[...i])},rt(...i){return Reflect.apply(t.rt,t,[...i])},tc(...i){const[o,s,a]=i,c={plural:1};let l=null,u=null;if(!jt(o))throw js(ps.INVALID_ARGUMENT);const d=o;return jt(s)?c.locale=s:zi(s)?c.plural=s:_i(s)?l=s:Vn(s)&&(u=s),jt(a)?c.locale=a:_i(a)?l=a:Vn(a)&&(u=a),Reflect.apply(t.t,t,[d,l||u||{},c])},te(i,o){return t.te(i,o)},tm(i){return t.tm(i)},getLocaleMessage(i){return t.getLocaleMessage(i)},setLocaleMessage(i,o){t.setLocaleMessage(i,o)},mergeLocaleMessage(i,o){t.mergeLocaleMessage(i,o)},d(...i){return Reflect.apply(t.d,t,[...i])},getDateTimeFormat(i){return t.getDateTimeFormat(i)},setDateTimeFormat(i,o){t.setDateTimeFormat(i,o)},mergeDateTimeFormat(i,o){t.mergeDateTimeFormat(i,o)},n(...i){return Reflect.apply(t.n,t,[...i])},getNumberFormat(i){return t.getNumberFormat(i)},setNumberFormat(i,o){t.setNumberFormat(i,o)},mergeNumberFormat(i,o){t.mergeNumberFormat(i,o)}};return r.__extender=n,r}function Vse(e,t,n){return{beforeCreate(){const r=yn();if(!r)throw js(ps.UNEXPECTED_ERROR);const i=this.$options;if(i.i18n){const o=i.i18n;if(i.__i18n&&(o.__i18n=i.__i18n),o.__root=t,this===this.$root)this.$i18n=wO(e,o);else{o.__injectWithOption=!0,o.__extender=n.__vueI18nExtend,this.$i18n=S7(o);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(i.__i18n)if(this===this.$root)this.$i18n=wO(e,i);else{this.$i18n=S7({__i18n:i.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}else this.$i18n=e;i.__i18nGlobal&&VW(t,i,i),this.$t=(...o)=>this.$i18n.t(...o),this.$rt=(...o)=>this.$i18n.rt(...o),this.$tc=(...o)=>this.$i18n.tc(...o),this.$te=(o,s)=>this.$i18n.te(o,s),this.$d=(...o)=>this.$i18n.d(...o),this.$n=(...o)=>this.$i18n.n(...o),this.$tm=o=>this.$i18n.tm(o),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){const r=yn();if(!r)throw js(ps.UNEXPECTED_ERROR);const i=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,i.__disposer&&(i.__disposer(),delete i.__disposer,delete i.__extender),n.__deleteInstance(r),delete this.$i18n}}}function wO(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[HW](t.pluralizationRules||e.pluralizationRules);const n=JC(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}const YC={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Gse({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,i)=>[...r,...i.type===Ft?i.children:[i]],[]):t.reduce((n,r)=>{const i=e[r];return i&&(n[r]=i()),n},Hr())}function GW(){return Ft}const Jse=Je({name:"i18n-t",props:co({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>zi(e)||!isNaN(e)}},YC),setup(e,t){const{slots:n,attrs:r}=t,i=e.i18n||Eo({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(n).filter(d=>d!=="_"),s=Hr();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=jt(e.plural)?+e.plural:e.plural);const a=Gse(t,o),c=i[v7](e.keypath,a,s),l=co(Hr(),r),u=jt(e.tag)||Ar(e.tag)?e.tag:GW();return hn(u,l,c)}}}),TO=Jse;function Zse(e){return _i(e)&&!jt(e[0])}function JW(e,t,n,r){const{slots:i,attrs:o}=t;return()=>{const s={part:!0};let a=Hr();e.locale&&(s.locale=e.locale),jt(e.format)?s.key=e.format:Ar(e.format)&&(jt(e.format.key)&&(s.key=e.format.key),a=Object.keys(e.format).reduce((f,h)=>n.includes(h)?co(Hr(),f,{[h]:e.format[h]}):f,Hr()));const c=r(e.value,s,a);let l=[s.key];_i(c)?l=c.map((f,h)=>{const p=i[f.type],g=p?p({[f.type]:f.value,index:h,parts:c}):[f.value];return Zse(g)&&(g[0].key=`${f.type}-${h}`),g}):jt(c)&&(l=[c]);const u=co(Hr(),o),d=jt(e.tag)||Ar(e.tag)?e.tag:GW();return hn(d,u,l)}}const Yse=Je({name:"i18n-n",props:co({value:{type:Number,required:!0},format:{type:[String,Object]}},YC),setup(e,t){const n=e.i18n||Eo({useScope:e.scope,__useComponent:!0});return JW(e,t,FW,(...r)=>n[E7](...r))}}),IO=Yse,Xse=Je({name:"i18n-d",props:co({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},YC),setup(e,t){const n=e.i18n||Eo({useScope:e.scope,__useComponent:!0});return JW(e,t,BW,(...r)=>n[y7](...r))}}),PO=Xse;function Qse(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function Kse(e){const t=s=>{const{instance:a,value:c}=s;if(!a||!a.$)throw js(ps.UNEXPECTED_ERROR);const l=Qse(e,a.$),u=OO(c);return[Reflect.apply(l.t,l,[..._O(u)]),l]};return{created:(s,a)=>{const[c,l]=t(a);G3&&e.global===l&&(s.__i18nWatcher=Ye(l.locale,()=>{a.instance&&a.instance.$forceUpdate()})),s.__composer=l,s.textContent=c},unmounted:s=>{G3&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:a})=>{if(s.__composer){const c=s.__composer,l=OO(a);s.textContent=Reflect.apply(c.t,c,[..._O(l)])}},getSSRProps:s=>{const[a]=t(s);return{textContent:a}}}}function OO(e){if(jt(e))return{path:e};if(Vn(e)){if(!("path"in e))throw js(ps.REQUIRED_VALUE,"path");return e}else throw js(ps.INVALID_VALUE)}function _O(e){const{path:t,locale:n,args:r,choice:i,plural:o}=e,s={},a=r||{};return jt(n)&&(s.locale=n),zi(i)&&(s.plural=i),zi(o)&&(s.plural=o),[t,a,s]}function qse(e,t,...n){const r=Vn(n[0])?n[0]:{};(yr(r.globalInstall)?r.globalInstall:!0)&&([TO.name,"I18nT"].forEach(o=>e.component(o,TO)),[IO.name,"I18nN"].forEach(o=>e.component(o,IO)),[PO.name,"I18nD"].forEach(o=>e.component(o,PO))),e.directive("t",Kse(t))}const $se=jd("global-vue-i18n");function eae(e={},t){const n=__VUE_I18N_LEGACY_API__&&yr(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,r=yr(e.globalInjection)?e.globalInjection:!0,i=new Map,[o,s]=tae(e,n),a=jd("");function c(f){return i.get(f)||null}function l(f,h){i.set(f,h)}function u(f){i.delete(f)}const d={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},async install(f,...h){if(f.__VUE_I18N_SYMBOL__=a,f.provide(f.__VUE_I18N_SYMBOL__,d),Vn(h[0])){const m=h[0];d.__composerExtend=m.__composerExtend,d.__vueI18nExtend=m.__vueI18nExtend}let p=null;!n&&r&&(p=lae(f,d.global)),__VUE_I18N_FULL_INSTALL__&&qse(f,d,...h),__VUE_I18N_LEGACY_API__&&n&&f.mixin(Vse(s,s.__composer,d));const g=f.unmount;f.unmount=()=>{p&&p(),d.dispose(),g()}},get global(){return s},dispose(){o.stop()},__instances:i,__getInstance:c,__setInstance:l,__deleteInstance:u};return d}function Eo(e={}){const t=yn();if(t==null)throw js(ps.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw js(ps.NOT_INSTALLED);const n=nae(t),r=iae(n),i=WW(t),o=rae(e,i);if(o==="global")return VW(r,e,i),r;if(o==="parent"){let c=oae(n,t,e.__useComponent);return c==null&&(c=r),c}const s=n;let a=s.__getInstance(t);if(a==null){const c=co({},e);"__i18n"in i&&(c.__i18n=i.__i18n),r&&(c.__root=r),a=ZC(c),s.__composerExtend&&(a[b7]=s.__composerExtend(a)),aae(s,t,a),s.__setInstance(t,a)}return a}function tae(e,t,n){const r=V4(),i=__VUE_I18N_LEGACY_API__&&t?r.run(()=>S7(e)):r.run(()=>ZC(e));if(i==null)throw js(ps.UNEXPECTED_ERROR);return[r,i]}function nae(e){const t=Vt(e.isCE?$se:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw js(e.isCE?ps.NOT_INSTALLED_WITH_PROVIDE:ps.UNEXPECTED_ERROR);return t}function rae(e,t){return ay(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function iae(e){return e.mode==="composition"?e.global:e.global.__composer}function oae(e,t,n=!1){let r=null;const i=t.root;let o=sae(t,n);for(;o!=null;){const s=e;if(e.mode==="composition")r=s.__getInstance(o);else if(__VUE_I18N_LEGACY_API__){const a=s.__getInstance(o);a!=null&&(r=a.__composer,n&&r&&!r[zW]&&(r=null))}if(r!=null||i===o)break;o=o.parent}return r}function sae(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function aae(e,t,n){ln(()=>{},t),yc(()=>{const r=n;e.__deleteInstance(t);const i=r[b7];i&&(i(),delete r[b7])},t)}const cae=["locale","fallbackLocale","availableLocales"],RO=["t","rt","d","n","tm","te"];function lae(e,t){const n=Object.create(null);return cae.forEach(i=>{const o=Object.getOwnPropertyDescriptor(t,i);if(!o)throw js(ps.UNEXPECTED_ERROR);const s=En(o.value)?{get(){return o.value.value},set(a){o.value.value=a}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,i,s)}),e.config.globalProperties.$i18n=n,RO.forEach(i=>{const o=Object.getOwnPropertyDescriptor(t,i);if(!o||!o.value)throw js(ps.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${i}`,o)}),()=>{delete e.config.globalProperties.$i18n,RO.forEach(i=>{delete e.config.globalProperties[`$${i}`]})}}jse();yse($oe);Ese(mse);bse(kW);if(__INTLIFY_PROD_DEVTOOLS__){const e=D0();e.__INTLIFY__=!0,ese(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}function uae(e){return G4()?(J4(e),!0):!1}const H6=new WeakMap,dae=(...e)=>{var t;const n=e[0],r=(t=yn())==null?void 0:t.proxy;if(r==null&&!DC())throw new Error("injectLocal must be called in setup");return r&&H6.has(r)&&n in H6.get(r)?H6.get(r)[n]:Vt(...e)},fae=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const hae=Object.prototype.toString,pae=e=>hae.call(e)==="[object Object]",mae=()=>{};function ZW(...e){if(e.length!==1)return _a(...e);const t=e[0];return typeof t=="function"?vf($H(()=>({get:t,set:mae}))):se(t)}function gae(e,t){function n(...r){return new Promise((i,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(i).catch(o)})}return n}const YW=e=>e();function vae(e=YW,t={}){const{initialState:n="active"}=t,r=ZW(n==="active");function i(){r.value=!1}function o(){r.value=!0}const s=(...a)=>{r.value&&e(...a)};return{isActive:vf(r),pause:i,resume:o,eventFilter:s}}function yae(e,t){var n;if(typeof e=="number")return e+t;const r=((n=e.match(/^-?\d+\.?\d*/))==null?void 0:n[0])||"",i=e.slice(r.length),o=Number.parseFloat(r)+t;return Number.isNaN(o)?e:o+i}function am(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function z6(e){return Array.isArray(e)?e:[e]}function Eae(e){return yn()}function bae(e,t,n={}){const{eventFilter:r=YW,...i}=n;return Ye(e,gae(r,t),i)}function Sae(e,t,n={}){const{eventFilter:r,initialState:i="active",...o}=n,{eventFilter:s,pause:a,resume:c,isActive:l}=vae(r,{initialState:i});return{stop:bae(e,t,{...o,eventFilter:s}),pause:a,resume:c,isActive:l}}function XC(e,t=!0,n){Eae()?ln(e,n):t?e():Cn(e)}function Aae(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,i=En(e),o=xo(e);function s(a){if(arguments.length)return o.value=a,o.value;{const c=xa(n);return o.value=o.value===c?xa(r):c,o.value}}return i?s:[o,s]}function Cae(e,t,n){return Ye(e,t,{...n,immediate:!0})}const np=fae?window:void 0;function XW(e){var t;const n=xa(e);return(t=n==null?void 0:n.$el)!=null?t:n}function A7(...e){const t=[],n=()=>{t.forEach(a=>a()),t.length=0},r=(a,c,l,u)=>(a.addEventListener(c,l,u),()=>a.removeEventListener(c,l,u)),i=V(()=>{const a=z6(xa(e[0])).filter(c=>c!=null);return a.every(c=>typeof c!="string")?a:void 0}),o=Cae(()=>{var a,c;return[(c=(a=i.value)==null?void 0:a.map(l=>XW(l)))!=null?c:[np].filter(l=>l!=null),z6(xa(i.value?e[1]:e[0])),z6(P(i.value?e[2]:e[1])),xa(i.value?e[3]:e[2])]},([a,c,l,u])=>{if(n(),!(a!=null&&a.length)||!(c!=null&&c.length)||!(l!=null&&l.length))return;const d=pae(u)?{...u}:u;t.push(...a.flatMap(f=>c.flatMap(h=>l.map(p=>r(f,h,p,d)))))},{flush:"post"}),s=()=>{o(),n()};return uae(n),s}function wae(){const e=xo(!1),t=yn();return t&&ln(()=>{e.value=!0},t),e}function Tae(e){const t=wae();return V(()=>(t.value,!!e()))}const Iae=Symbol("vueuse-ssr-width");function QW(){const e=DC()?dae(Iae,null):null;return typeof e=="number"?e:void 0}function lh(e,t={}){const{window:n=np,ssrWidth:r=QW()}=t,i=Tae(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),o=xo(typeof r=="number"),s=xo(),a=xo(!1),c=l=>{a.value=l.matches};return cu(()=>{if(o.value){o.value=!i.value;const l=xa(e).split(",");a.value=l.some(u=>{const d=u.includes("not all"),f=u.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),h=u.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let p=!!(f||h);return f&&p&&(p=r>=am(f[1])),h&&p&&(p=r<=am(h[1])),d?!p:p});return}i.value&&(s.value=n.matchMedia(xa(e)),a.value=s.value.matches)}),A7(s,"change",c,{passive:!0}),V(()=>a.value)}const Pae={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function Oae(e,t={}){function n(h,p){let g=xa(e[xa(h)]);return p!=null&&(g=yae(g,p)),typeof g=="number"&&(g=`${g}px`),g}const{window:r=np,strategy:i="min-width",ssrWidth:o=QW()}=t,s=typeof o=="number",a=s?xo(!1):{value:!0};s&&XC(()=>a.value=!!r);function c(h,p){return!a.value&&s?h==="min"?o>=am(p):o<=am(p):r?r.matchMedia(`(${h}-width: ${p})`).matches:!1}const l=h=>lh(()=>`(min-width: ${n(h)})`,t),u=h=>lh(()=>`(max-width: ${n(h)})`,t),d=Object.keys(e).reduce((h,p)=>(Object.defineProperty(h,p,{get:()=>i==="min-width"?l(p):u(p),enumerable:!0,configurable:!0}),h),{});function f(){const h=Object.keys(e).map(p=>[p,d[p],am(n(p))]).sort((p,g)=>p[2]-g[2]);return V(()=>h.filter(([,p])=>p.value).map(([p])=>p))}return Object.assign(d,{greaterOrEqual:l,smallerOrEqual:u,greater(h){return lh(()=>`(min-width: ${n(h,.1)})`,t)},smaller(h){return lh(()=>`(max-width: ${n(h,-.1)})`,t)},between(h,p){return lh(()=>`(min-width: ${n(h)}) and (max-width: ${n(p,-.1)})`,t)},isGreater(h){return c("min",n(h,.1))},isGreaterOrEqual(h){return c("min",n(h))},isSmaller(h){return c("max",n(h,-.1))},isSmallerOrEqual(h){return c("max",n(h))},isInBetween(h,p){return c("min",n(h))&&c("max",n(p,-.1))},current:f,active(){const h=f();return V(()=>h.value.length===0?"":h.value.at(i==="min-width"?-1:0))}})}const b2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},S2="__vueuse_ssr_handlers__",_ae=Rae();function Rae(){return S2 in b2||(b2[S2]=b2[S2]||{}),b2[S2]}function KW(e,t){return _ae[e]||t}function kae(e){return lh("(prefers-color-scheme: dark)",e)}function xae(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Dae={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},kO="vueuse-storage";function Lae(e,t,n,r={}){var i;const{flush:o="pre",deep:s=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:d=np,eventFilter:f,onError:h=W=>{console.error(W)},initOnMounted:p}=r,g=(u?xo:se)(typeof t=="function"?t():t),m=V(()=>xa(e));if(!n)try{n=KW("getDefaultStorage",()=>{var W;return(W=np)==null?void 0:W.localStorage})()}catch(W){h(W)}if(!n)return g;const y=xa(t),v=xae(y),E=(i=r.serializer)!=null?i:Dae[v],{pause:b,resume:S}=Sae(g,W=>O(W),{flush:o,deep:s,eventFilter:f});Ye(m,()=>R(),{flush:o});let w=!1;const C=W=>{p&&!w||R(W)},_=W=>{p&&!w||F(W)};d&&a&&(n instanceof Storage?A7(d,"storage",C,{passive:!0}):A7(d,kO,_)),p?XC(()=>{w=!0,R()}):R();function I(W,J){if(d){const Y={key:m.value,oldValue:W,newValue:J,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",Y):new CustomEvent(kO,{detail:Y}))}}function O(W){try{const J=n.getItem(m.value);if(W==null)I(J,null),n.removeItem(m.value);else{const Y=E.write(W);J!==Y&&(n.setItem(m.value,Y),I(J,Y))}}catch(J){h(J)}}function L(W){const J=W?W.newValue:n.getItem(m.value);if(J==null)return c&&y!=null&&n.setItem(m.value,E.write(y)),y;if(!W&&l){const Y=E.read(J);return typeof l=="function"?l(Y,y):v==="object"&&!Array.isArray(Y)?{...y,...Y}:Y}else return typeof J!="string"?J:E.read(J)}function R(W){if(!(W&&W.storageArea!==n)){if(W&&W.key==null){g.value=y;return}if(!(W&&W.key!==m.value)){b();try{const J=E.write(g.value);(W===void 0||(W==null?void 0:W.newValue)!==J)&&(g.value=L(W))}catch(J){h(J)}finally{W?Cn(S):S()}}}}function F(W){R(W.detail)}return g}const Nae="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Mae(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:i=np,storage:o,storageKey:s="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},f=kae({window:i}),h=V(()=>f.value?"dark":"light"),p=c||(s==null?ZW(r):Lae(s,r,o,{window:i,listenToStorageChanges:a})),g=V(()=>p.value==="auto"?h.value:p.value),m=KW("updateHTMLAttrs",(b,S,w)=>{const C=typeof b=="string"?i==null?void 0:i.document.querySelector(b):XW(b);if(!C)return;const _=new Set,I=new Set;let O=null;if(S==="class"){const R=w.split(/\s/g);Object.values(d).flatMap(F=>(F||"").split(/\s/g)).filter(Boolean).forEach(F=>{R.includes(F)?_.add(F):I.add(F)})}else O={key:S,value:w};if(_.size===0&&I.size===0&&O===null)return;let L;u&&(L=i.document.createElement("style"),L.appendChild(document.createTextNode(Nae)),i.document.head.appendChild(L));for(const R of _)C.classList.add(R);for(const R of I)C.classList.remove(R);O&&C.setAttribute(O.key,O.value),u&&(i.getComputedStyle(L).opacity,document.head.removeChild(L))});function y(b){var S;m(t,n,(S=d[b])!=null?S:b)}function v(b){e.onChanged?e.onChanged(b,y):y(b)}Ye(g,v,{flush:"post",immediate:!0}),XC(()=>v(g.value));const E=V({get(){return l?p.value:g.value},set(b){p.value=b}});return Object.assign(E,{store:p,system:h,state:g})}function Bae(e={}){const{valueDark:t="dark",valueLight:n=""}=e,r=Mae({...e,onChanged:(s,a)=>{var c;e.onChanged?(c=e.onChanged)==null||c.call(e,s==="dark",a,s):a(s)},modes:{dark:t,light:n}}),i=V(()=>r.system.value);return V({get(){return r.value==="dark"},set(s){const a=s?"dark":"light";i.value===a?r.value="auto":r.value=a}})}function gs(){return{isMobile:Oae(Pae).smaller("md")}}const Fae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"11.999998092651367",height:"6.999996185302734",viewBox:"0 0 11.999998092651367 6.999996185302734"};function Uae(e,t){return ne(),Te("svg",Fae,[...t[0]||(t[0]=[G("g",{transform:"matrix(-1,0,0,-1,23.999996185302734,13.999992370605469)"},[G("path",{d:"M22.999998092651367,13.999996185302734C22.744098092651367,13.999996185302734,22.488198092651366,13.902356185302734,22.292898092651367,13.707096185302735C22.292898092651367,13.707096185302735,17.999998092651367,9.414206185302735,17.999998092651367,9.414206185302735C17.999998092651367,9.414206185302735,13.707118092651367,13.707096185302735,13.707118092651367,13.707096185302735C13.316588092651367,14.097616185302734,12.683426092651366,14.097616185302734,12.292892092651368,13.707096185302735C11.902366592651367,13.316566185302733,11.902366592651367,12.683416185302734,12.292892092651368,12.292886185302734C12.292892092651368,12.292886185302734,17.292888092651367,7.292885185302734,17.292888092651367,7.292885185302734C17.68342809265137,6.902366685302734,18.316588092651365,6.902366685302734,18.707108092651367,7.292885185302734C18.707108092651367,7.292885185302734,23.707098092651368,12.292886185302734,23.707098092651368,12.292886185302734C24.097598092651367,12.683416185302734,24.097598092651367,13.316566185302733,23.707098092651368,13.707096185302735C23.511798092651368,13.902356185302734,23.255898092651368,13.999996185302734,22.999998092651367,13.999996185302734C22.999998092651367,13.999996185302734,22.999998092651367,13.999996185302734,22.999998092651367,13.999996185302734Z",fill:"#E2E2E2","fill-opacity":"1"})],-1)])])}const qW={render:Uae},jae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function Hae(e,t){return ne(),Te("svg",jae,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_1_848"><rect x="0" y="0" width="26" height="26" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_1_848)"><g><path d="M23.627315625,9.4790421875C23.627315625,9.468202187500001,23.616415625,9.457372187499999,23.616415625,9.4465421875C23.605615625,9.370702187500001,23.573115625,9.294872187500001,23.540615625,9.2298721875L21.742315625,4.6473721875C21.395615625,3.6615401875,20.463915625,3.0223738875,19.445615625,3.0765407375L6.597265625,3.0765407375C5.611435625,3.0223741875,4.701435625,3.6398741875000002,4.376435625,4.5932121875L2.404767625,9.359872187499999C2.404767625,9.392372187500001,2.383100625,9.4248721875,2.383100625,9.4790421875C2.242267625,9.9232021875,2.166434422,10.3890421875,2.166434422,10.8548721875C2.133934425,13.2382421875,3.997265625,15.1882421875,6.315605625,15.2098421875L6.478105625,15.2098421875C7.745605625,15.2098421875,8.937265625,14.6357421875,9.749765625,13.6498421875C11.255605625,15.4915421875,13.942315625,15.7298421875,15.729815625,14.1807421875C15.913915625,14.0182421875,16.098115625,13.8340421875,16.249815625,13.6498421875C17.073115625,14.6357421875,18.264815625,15.1990421875,19.521415625,15.1990421875L19.532315625,15.1990421875C20.247315625,15.2098421875,20.951415625,15.0365421875,21.590615625,14.7007421875C23.410615625,13.6823421875,24.255615625,11.4940421875,23.627315625,9.4790421875ZM20.767315625,13.1732421875C20.409815625,13.3573421875,20.008915625,13.4548421875,19.608115625,13.4548421875L19.532315625,13.4548421875C18.784815625,13.4548421875,18.080615625,13.1190421875,17.593115625,12.5232121875L16.249815625,10.909042187499999L14.917315625,12.5340421875C14.819815625,12.6532021875,14.722315625,12.7615421875,14.603115625,12.8482121875C14.148115625,13.2382421875,13.595615625,13.4440421875,13.010615625,13.4440421875C12.273915625,13.4440421875,11.580605625,13.1082421875,11.093105625,12.5232121875L9.749765625,10.909042187499999L8.406435625,12.5448721875C7.918935625,13.1298421875,7.214765625,13.4765421875,6.478105625,13.4765421875L6.337265625,13.4765421875C4.983105625,13.4548421875,3.8889356250000002,12.2957121875,3.8997656249999997,10.8765421875L3.8997656249999997,10.8548721875C3.8997656249999997,10.573212187500001,3.9431056250000003,10.2915421875,4.029765625,10.0207121875L4.062265625,9.9123721875L4.062265625,9.901542187499999L6.001435625,5.2215421875L6.0231056249999995,5.1673721875C6.098935625,4.9615421875,6.272265625,4.8207021875,6.478105625,4.8207021875L19.586415625,4.8207021875C19.813915625,4.8207021875,20.030615625,4.9832021875,20.117315625,5.2215421875L20.128115625,5.2540421875L21.926415625,9.858212187500001L21.969815625,9.999042187499999C22.359815625,11.2232121875,21.850615625,12.5557121875,20.767315625,13.1732421875Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M16.4011140625,15.231826250000001C16.3686140625,15.22098625,16.346914062499998,15.19932625,16.3144140625,15.18848625C16.2927140625,15.19932625,16.260214062499998,15.22098625,16.2277140625,15.231826250000001L16.4011140625,15.231826250000001ZM21.9694140625,15.47015625L21.9369140625,15.48098625C21.4386140625,15.70849625,20.9077140625,15.87099625,20.3661140625,15.96848625L20.3661140625,21.29845625L5.6327440625000005,21.29845625L5.6327440625000005,15.95765625C5.0260840625,15.83849625,4.4410800625,15.63265625,3.8994140625,15.35099625L3.8994140625,21.73185625C3.8994140625,22.44685625,4.4844140625,22.92345625,5.1994140625,22.92345625L20.7994140625,22.92345625C21.5144140625,22.92345625,22.0994140625,22.44685625,22.0994140625,21.73185625L22.0994140625,15.405156250000001L21.9694140625,15.47015625ZM9.8794140625,15.231826250000001C9.8577440625,15.22098625,9.825244062500001,15.19932625,9.8035840625,15.18848625C9.7819140625,15.19932625,9.7494140625,15.22098625,9.727744062500001,15.231826250000001L9.8794140625,15.231826250000001ZM18.3836140625,9.14348625L7.6152440625,9.14348625C7.116914062499999,9.14348625,6.7160840625,8.75348625,6.7160840625,8.27682325C6.7160840625,7.80015625,7.116914062499999,7.41015625,7.6152440625,7.41015625L18.3836140625,7.41015625C18.8819140625,7.41015625,19.2827140625,7.80015625,19.2827140625,8.27682325C19.2827140625,8.75348625,18.8819140625,9.14348625,18.3836140625,9.14348625Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const zae={render:Hae},Wae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Vae(e,t){return ne(),Te("svg",Wae,[...t[0]||(t[0]=[G("g",null,[G("g"),G("g",null,[G("path",{d:"M4.75,16.125L4.75,3.875C4.75,3.391751,5.141751,3,5.625,3C6.10825,3,6.5,3.391751,6.5,3.875L6.5,16.125C6.5,16.6082,6.10825,17,5.625,17C5.141751,17,4.75,16.6082,4.75,16.125Z",fill:"#FF8517","fill-opacity":"1"})]),G("g",null,[G("path",{d:"M13.5,16.125L13.5,3.875C13.5,3.391751,13.891751,3,14.375,3C14.85825,3,15.25,3.391751,15.25,3.875L15.25,16.125C15.25,16.6082,14.85825,17,14.375,17C13.891751,17,13.5,16.6082,13.5,16.125Z",fill:"#FF8517","fill-opacity":"1"})])],-1)])])}const xO={render:Vae},Gae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Jae(e,t){return ne(),Te("svg",Gae,[...t[0]||(t[0]=[bi('<g><g></g><g><g><path d="M15.5,4.796875C15.5,4.796875,4.5,4.796875,4.5,4.796875C4.085785,4.796875,3.7500000000000284,4.461095,3.7500000000000284,4.046875C3.7500000000000284,3.63266,4.085785,3.296875,4.5,3.296875C4.5,3.296875,15.5,3.296875,15.5,3.296875C15.9142,3.296875,16.25,3.63266,16.25,4.046875C16.25,4.461095,15.9142,4.796875,15.5,4.796875C15.5,4.796875,15.5,4.796875,15.5,4.796875Z" fill="#00DFC4" fill-opacity="1"></path></g></g><g><g><path d="M15.5,17.296875C15.5,17.296875,4.5,17.296875,4.5,17.296875C4.085785,17.296875,3.7500000000000284,16.961125,3.7500000000000284,16.546875C3.7500000000000284,16.132629,4.085785,15.796875,4.5,15.796875C4.5,15.796875,15.5,15.796875,15.5,15.796875C15.9142,15.796875,16.25,16.132629,16.25,16.546875C16.25,16.961125,15.9142,17.296875,15.5,17.296875C15.5,17.296875,15.5,17.296875,15.5,17.296875Z" fill="#00DFC4" fill-opacity="1"></path></g></g><g><g><path d="M11,11.046875C11,11.046875,9,11.046875,9,11.046875C7.798,11.046875,6.667949999999999,10.578795,5.81801,9.728855C4.968079,8.878924999999999,4.5,7.748875,4.5,6.546875C4.5,6.546875,4.5,4.796875,4.5,4.796875C4.5,4.38266,4.835785,4.046875000000028,5.25,4.046875000000028C5.66422,4.046875000000028,6,4.38266,6,4.796875C6,4.796875,6,6.546875,6,6.546875C6,8.201084999999999,7.34579,9.546875,9,9.546875C9,9.546875,11,9.546875,11,9.546875C12.65421,9.546875,14,8.201084999999999,14,6.546875C14,6.546875,14,4.796875,14,4.796875C14,4.38266,14.33578,4.046875000000028,14.75,4.046875000000028C15.1642,4.046875000000028,15.5,4.38266,15.5,4.796875C15.5,4.796875,15.5,6.546875,15.5,6.546875C15.5,7.748875,15.0319,8.878924999999999,14.18198,9.728855C13.33205,10.578795,12.202,11.046875,11,11.046875C11,11.046875,11,11.046875,11,11.046875Z" fill="#00DFC4" fill-opacity="1"></path></g></g><g><g><path d="M14.75,16.546875C14.33578,16.546875,14,16.211095,14,15.796875C14,15.796875,14,14.046875,14,14.046875C14,12.392665000000001,12.65421,11.046875,11,11.046875C11,11.046875,9,11.046875,9,11.046875C7.34579,11.046875,6,12.392665000000001,6,14.046875C6,14.046875,6,15.796875,6,15.796875C6,16.211095,5.66422,16.546875,5.25,16.546875C4.835785,16.546875,4.500000000000028,16.211095,4.500000000000028,15.796875C4.500000000000028,15.796875,4.500000000000028,14.046875,4.500000000000028,14.046875C4.500000000000028,12.844875,4.968079,11.714845,5.81801,10.864895C6.667949999999999,10.014954,7.798,9.546875,9,9.546875C9,9.546875,11,9.546875,11,9.546875C12.202,9.546875,13.33205,10.014954,14.18198,10.864895C15.0319,11.714845,15.5,12.844875,15.5,14.046875C15.5,14.046875,15.5,15.796875,15.5,15.796875C15.5,16.211095,15.1642,16.546875,14.75,16.546875C14.75,16.546875,14.75,16.546875,14.75,16.546875Z" fill="#00DFC4" fill-opacity="1"></path></g></g><g><path d="M7.5 13.421875C7.5 12.938625843898055 7.8917508438980555 12.546875 8.375 12.546875L11.625 12.546875C12.108249156101945 12.546875 12.5 12.938625843898055 12.5 13.421875L12.5 14.296875C12.5 14.296875 12.5 14.296875 12.5 14.296875L7.5 14.296875C7.5 14.296875 7.5 14.296875 7.5 14.296875Z" fill="#00DFC4" fill-opacity="1"></path></g></g>',1)])])}const DO={render:Jae},Zae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Yae(e,t){return ne(),Te("svg",Zae,[...t[0]||(t[0]=[G("g",null,[G("g"),G("g",null,[G("path",{d:"M8.28955,14.52777C8.09148,14.52777,7.89338,14.45187,7.74223,14.30005C7.74223,14.30005,3.226708,9.76388,3.226708,9.76388C2.9244308,9.46025,2.9244308,8.96787,3.226708,8.66424C3.528984,8.360520000000001,4.01908,8.36057,4.3213799999999996,8.664200000000001C4.3213799999999996,8.664200000000001,8.28955,12.650549999999999,8.28955,12.650549999999999C8.28955,12.650549999999999,15.6786,5.227758,15.6786,5.227758C15.9809,4.9240807,16.471,4.9240807,16.7733,5.227758C17.0756,5.531435,17.0756,6.02377,16.7733,6.32744C16.7733,6.32744,8.8369,14.30005,8.8369,14.30005C8.685780000000001,14.45187,8.48765,14.52777,8.28955,14.52777C8.28955,14.52777,8.28955,14.52777,8.28955,14.52777Z",fill:"#00E556","fill-opacity":"1"})])],-1)])])}const LO={render:Yae},Xae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Qae(e,t){return ne(),Te("svg",Xae,[...t[0]||(t[0]=[G("g",null,[G("g"),G("g",null,[G("path",{d:"M3,15.9955L3,4.00448C3,3.449723,3.449723,3,4.00448,3L15.9955,3C16.5503,3,17,3.449723,17,4.00448L17,15.9955C17,16.5503,16.5503,17,15.9955,17L4.00448,17C3.449723,17,3,16.5503,3,15.9955Z",fill:"#FF3338","fill-opacity":"1"})])],-1)])])}const NO={render:Qae},Kae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function qae(e,t){return ne(),Te("svg",Kae,[...t[0]||(t[0]=[G("g",null,[G("g"),G("g",null,[G("path",{d:"M10,17C9.055340000000001,17,8.13853,16.814799999999998,7.27506,16.4496C6.441409999999999,16.097,5.69287,15.5924,5.05025,14.9498C4.40762,14.3071,3.903,13.5586,3.550407,12.72494C3.185188,11.86147,3,10.944659999999999,3,10C3,9.055340000000001,3.185188,8.13853,3.550407,7.27506C3.903,6.441409999999999,4.40762,5.69287,5.05025,5.05025C5.69287,4.40762,6.441409999999999,3.903,7.27506,3.550407C8.13853,3.185188,9.055340000000001,3,10,3C10.41422,3,10.75,3.335785,10.75,3.75C10.75,4.16422,10.41422,4.5,10,4.5C6.9673,4.5,4.5,6.96729,4.5,10C4.5,13.0327,6.9673,15.5,10,15.5C13.0327,15.5,15.5,13.0327,15.5,10C15.5,9.58578,15.8358,9.25,16.25,9.25C16.6642,9.25,17,9.58578,17,10C17,10.944659999999999,16.814799999999998,11.86147,16.4496,12.72494C16.097,13.5586,15.5924,14.3071,14.9498,14.9498C14.3071,15.5924,13.5586,16.097,12.72494,16.4496C11.86147,16.814799999999998,10.944659999999999,17,10,17Z",fill:"#55AAFF","fill-opacity":"1"})])],-1)])])}const A2={render:qae},$ae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function ece(e,t){return ne(),Te("svg",$ae,[...t[0]||(t[0]=[bi('<g style="opacity:0.800000011920929;"><g><rect x="0" y="0" width="20" height="20" rx="0" fill="#FFFFFF" fill-opacity="0"></rect></g><g><g><g><path d="M14.962974727630614,17.33590146484375C14.962974727630614,17.33590146484375,5.036934727630616,17.33590146484375,5.036934727630616,17.33590146484375C4.482694727630616,17.33590146484375,3.9429347276306155,17.18750146484375,3.4759947276306153,16.906801464843753C3.036884727630615,16.64280146484375,2.6680887276306153,16.26640146484375,2.409457727630615,15.81820146484375C2.150828727630615,15.36990146484375,2.009369817630615,14.86220146484375,2.0004262616306154,14.34970146484375C1.9908976276306152,13.80470146484375,2.1323407276306154,13.26280146484375,2.409457727630615,12.78260146484375C2.409457727630615,12.78260146484375,7.372484727630615,4.18179146484375,7.372484727630615,4.18179146484375C7.649614727630615,3.70155146484375,8.047934727630615,3.30803346484375,8.524414727630615,3.04381146484375C8.972454727630616,2.79535346484375,9.482734727630614,2.66400146484375,9.999954727630616,2.66400146484375C9.999954727630616,2.66400146484375,9.999994727630614,2.66400146484375,9.999994727630614,2.66400146484375C10.517244727630615,2.66400146484375,11.027494727630616,2.79533746484375,11.475554727630616,3.04381146484375C11.952014727630615,3.30804846484375,12.350374727630616,3.70155146484375,12.627474727630615,4.18179146484375C12.627474727630615,4.18179146484375,17.590474727630614,12.78260146484375,17.590474727630614,12.78260146484375C17.867574727630615,13.26280146484375,18.009074727630615,13.80470146484375,17.999474727630613,14.34970146484375C17.990574727630616,14.86220146484375,17.849174727630615,15.36990146484375,17.590474727630614,15.81820146484375C17.331874727630613,16.26630146484375,16.963074727630616,16.64280146484375,16.523974727630616,16.906801464843753C16.057074727630614,17.18750146484375,15.517274727630616,17.33590146484375,14.962974727630614,17.33590146484375C14.962974727630614,17.33590146484375,14.962974727630614,17.33590146484375,14.962974727630614,17.33590146484375ZM9.124144727630615,5.1936414648437506C9.124144727630615,5.1936414648437506,4.161114727630615,13.79440146484375,4.161114727630615,13.79440146484375C3.8976347276306154,14.25110146484375,4.073334727630615,14.65420146484375,4.161094727630616,14.80630146484375C4.248894727630615,14.95840146484375,4.509954727630616,15.31220146484375,5.036934727630616,15.31220146484375C5.036934727630616,15.31220146484375,14.962974727630614,15.31220146484375,14.962974727630614,15.31220146484375C15.489974727630615,15.31220146484375,15.751074727630614,14.95840146484375,15.838874727630616,14.80630146484375C15.926674727630616,14.65420146484375,16.102374727630615,14.25110146484375,15.838874727630616,13.79440146484375C15.838874727630616,13.79440146484375,10.875794727630614,5.1936414648437506,10.875794727630614,5.1936414648437506C10.612294727630616,4.73701146484375,10.175544727630616,4.68772146484375,9.999974727630615,4.68772146484375C9.824434727630615,4.68772146484375,9.387634727630616,4.73701146484375,9.124144727630615,5.1936414648437506C9.124144727630615,5.1936414648437506,9.124144727630615,5.1936414648437506,9.124144727630615,5.1936414648437506C9.124144727630615,5.1936414648437506,9.124144727630615,5.1936414648437506,9.124144727630615,5.1936414648437506Z" fill="#CC1C00" fill-opacity="1"></path></g></g><g><g><path d="M10.003494067077636,11.770732456970215C9.444934067077636,11.770732456970215,8.992114067077694,11.317692456970214,8.992114067077694,10.758852456970214C8.992114067077694,10.758852456970214,8.992114067077694,7.723302456970215,8.992114067077694,7.723302456970215C8.992114067077694,7.164465456970214,9.444934067077636,6.711432456970215,10.003494067077636,6.711432456970215C10.562004067077638,6.711432456970215,11.014824067077637,7.164465456970214,11.014824067077637,7.723302456970215C11.014824067077637,7.723302456970215,11.014824067077637,10.758852456970214,11.014824067077637,10.758852456970214C11.014824067077637,11.317692456970214,10.562004067077638,11.770732456970215,10.003494067077636,11.770732456970215C10.003494067077636,11.770732456970215,10.003494067077636,11.770732456970215,10.003494067077636,11.770732456970215Z" fill="#CC1C00" fill-opacity="1"></path></g></g><g><g><ellipse cx="10.003434896469116" cy="13.794437170028687" rx="1.0113208293914795" ry="1.0118577480316162" fill="#CC1C00" fill-opacity="1"></ellipse></g></g></g></g>',1)])])}const MO={render:ece},tce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function nce(e,t){return ne(),Te("svg",tce,[...t[0]||(t[0]=[G("g",null,[G("g",null,[G("g",null,[G("rect",{x:"0",y:"0",width:"26",height:"26",rx:"0",fill:"#E6E6E6","fill-opacity":"0"})]),G("g",null,[G("rect",{x:"5",y:"5",width:"16",height:"16",rx:"3",fill:"#EB072D","fill-opacity":"1"})])])],-1)])])}const $W={render:nce},rce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"};function ice(e,t){return ne(),Te("svg",rce,[...t[0]||(t[0]=[G("g",null,[G("g",{transform:"matrix(0,1,-1,0,15.686293601989746,-15.686293601989746)"},[G("path",{d:"M22.376953601989747,0.627451C22.859963601989747,-0.20915,24.067493601989746,-0.20915,24.550503601989746,0.627451C24.550503601989746,0.627451,31.071193601989748,11.9216,31.071193601989748,11.9216C31.554193601989745,12.7582,30.950393601989745,13.8039,29.984393601989744,13.8039C29.984393601989744,13.8039,16.943063601989746,13.8039,16.943063601989746,13.8039C15.977043601989745,13.8039,15.373278601989746,12.7582,15.856290601989746,11.9216C15.856290601989746,11.9216,22.376953601989747,0.627451,22.376953601989747,0.627451C22.376953601989747,0.627451,22.376953601989747,0.627451,22.376953601989747,0.627451Z",fill:"#FFFFFF","fill-opacity":"1"})]),G("g")],-1)])])}const QC={render:ice},oce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function sce(e,t){return ne(),Te("svg",oce,[...t[0]||(t[0]=[G("g",null,[G("g",null,[G("g",null,[G("rect",{x:"0",y:"0",width:"26",height:"26",rx:"0",fill:"#E6E6E6","fill-opacity":"0"})]),G("g",null,[G("g",null,[G("rect",{x:"6.9638671875",y:"5",width:"2.785717010498047",height:"16",rx:"1.3928585052490234",fill:"#FFFFFF","fill-opacity":"1"})]),G("g",null,[G("rect",{x:"16.24951171875",y:"5",width:"2.785717010498047",height:"16",rx:"1.3928585052490234",fill:"#FFFFFF","fill-opacity":"1"})])])])],-1)])])}const KC={render:sce},ace={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"24",height:"24",viewBox:"0 0 24 24"};function cce(e,t){return ne(),Te("svg",ace,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_276_16957"><rect x="0" y="0" width="24" height="24" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_276_16957)"><g><path d="M14.099234375,17.550100683593747C14.099234375,17.09640068359375,13.759634375,16.152200683593747,12.702234375,16.152200683593747C12.702234375,16.152200683593747,11.303824375,16.152200683593747,11.303824375,16.152200683593747C10.385654375,16.152200683593747,9.906774375,16.81700068359375,9.906774375,17.550100683593747C9.906774375,22.52030068359375,9.906774375,21.73670068359375,9.906774375,21.73670068359375C9.906774375,21.73670068359375,6.683714375,21.73670068359375,6.683714375,21.73670068359375C5.338534375,21.73670068359375,4.295694375,20.58510068359375,4.295694375,19.40700068359375C4.295694375,19.40700068359375,4.295694375,12.90150068359375,4.295694375,12.90150068359375C4.295694375,12.90150068359375,2.7448943750000003,12.90150068359375,2.7448943750000003,12.90150068359375C2.075909375,12.90150068359375,1.752162375,12.43600068359375,1.621160975,12.14111068359375C1.569317775,12.02282068359375,1.347852375,11.38987068359375,2.1318333750000003,10.57673068359375C2.1318333750000003,10.57673068359375,10.278824375,2.90801068359375,10.278824375,2.90801068359375C10.708104375,2.46344268359375,11.282904375,2.21820068359375,11.897334375,2.21820068359375C12.511634375,2.21820068359375,13.086534375,2.46344268359375,13.515834375,2.9084566835937498C13.515834375,2.9084566835937498,21.863234375,10.57178068359375,21.863234375,10.57178068359375C21.864634375,10.57361068359375,21.866534375,10.57539068359375,21.868334375,10.57678068359375C22.651834375,11.39037068359375,22.430434375,12.02237068359375,22.378534375,12.14115068359375C22.247534375,12.43600068359375,21.924734375,12.90150068359375,21.254834375,12.90150068359375C21.254834375,12.90150068359375,19.699534375,12.90150068359375,19.699534375,12.90150068359375C19.699534375,12.90150068359375,19.699534375,19.40700068359375,19.699534375,19.40700068359375C19.699534375,20.58510068359375,18.612134375,21.73680068359375,17.266534375,21.73680068359375C17.266534375,21.73680068359375,14.099334375,21.73680068359375,14.099334375,21.73680068359375C14.099234375,21.73670068359375,14.099234375,21.72530068359375,14.099234375,17.550100683593747Z" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M9.15173375,14.166649091796874C9.66828375,14.166649091796874,10.13858375,13.896979091796876,10.53949375,13.565659091796874L10.56261375,13.565659091796874L10.62429375,14.066489091796875L11.202523750000001,14.066489091796875L11.202523750000001,11.493019091796874C11.202523750000001,10.452849091796875,10.778493749999999,9.774809091796875,9.75309375,9.774809091796875C9.07463375,9.774809091796875,8.48869575,10.075309091796875,8.11091775,10.321869091796875L8.38075975,10.807279091796875C8.71227875,10.583839091796875,9.15173375,10.360389091796876,9.63745375,10.360389091796876C10.32361375,10.360389091796876,10.50094375,10.876619091796876,10.50094375,11.415969091796875C8.71998875,11.616299091796876,7.93359375,12.070899091796875,7.93359375,12.980089091796875C7.93359375,13.735169091796875,8.45014675,14.166649091796874,9.15173375,14.166649091796874ZM9.35218375,13.596479091796876C8.93586375,13.596479091796876,8.61205175,13.411559091796875,8.61205175,12.933859091796876C8.61205175,12.394509091796875,9.09005375,12.047779091796876,10.50094375,11.885979091796875L10.50094375,13.049429091796874C10.09232375,13.411559091796875,9.75309375,13.596479091796876,9.35218375,13.596479091796876ZM13.268743749999999,14.166649091796874C13.46148375,14.166649091796874,13.57713375,14.135829091796875,13.67735375,14.105009091796875L13.57713375,13.565659091796874C13.50003375,13.581069091796875,13.469193749999999,13.581069091796875,13.43064375,13.581069091796875C13.32271375,13.581069091796875,13.237903750000001,13.496319091796874,13.237903750000001,13.280579091796875L13.237903750000001,7.933319091796875L12.52860375,7.933319091796875L12.52860375,13.234349091796876C12.52860375,13.827629091796876,12.744473750000001,14.166649091796874,13.268743749999999,14.166649091796874ZM15.45831375,14.166649091796874C15.651053749999999,14.166649091796874,15.76670375,14.135829091796875,15.86692375,14.105009091796875L15.76670375,13.565659091796874C15.68960375,13.581069091796875,15.65876375,13.581069091796875,15.62021375,13.581069091796875C15.51227375,13.581069091796875,15.42747375,13.496319091796874,15.42747375,13.280579091796875L15.42747375,7.933319091796875L14.71817375,7.933319091796875L14.71817375,13.234349091796876C14.71817375,13.827629091796876,14.93404375,14.166649091796874,15.45831375,14.166649091796874Z" fill="#000000" fill-opacity="1"></path></g></g>',2)])])}const lce={render:cce},uce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20.894287109375",height:"19.5634765625",viewBox:"0 0 20.894287109375 19.5634765625"};function dce(e,t){return ne(),Te("svg",uce,[...t[0]||(t[0]=[G("g",null,[G("g",null,[G("path",{d:"M12.5465,15.3319C12.5465,14.8782,12.2069,13.934,11.1495,13.934C11.1495,13.934,9.75109,13.934,9.75109,13.934C8.83292,13.934,8.35404,14.5988,8.35404,15.3319C8.35404,20.3021,8.35404,19.5185,8.35404,19.5185C8.35404,19.5185,5.13098,19.5185,5.13098,19.5185C3.7858,19.5185,2.74296,18.3669,2.74296,17.1888C2.74296,17.1888,2.74296,10.6833,2.74296,10.6833C2.74296,10.6833,1.19216,10.6833,1.19216,10.6833C0.523175,10.6833,0.199428,10.2178,0.0684266,9.92291C0.0165834,9.80462,-0.204882,9.17167,0.579099,8.35853C0.579099,8.35853,8.72609,0.68981,8.72609,0.68981C9.15537,0.245242,9.73017,0,10.3446,0C10.9589,0,11.5338,0.245242,11.9631,0.690256C11.9631,0.690256,20.3105,8.35358,20.3105,8.35358C20.3119,8.35541,20.3138,8.35719,20.3156,8.35858C21.0991,9.17217,20.8777,9.80417,20.8258,9.92295C20.6948,10.2178,20.372,10.6833,19.7021,10.6833C19.7021,10.6833,18.1468,10.6833,18.1468,10.6833C18.1468,10.6833,18.1468,17.1888,18.1468,17.1888C18.1468,18.3669,17.0594,19.5186,15.7138,19.5186C15.7138,19.5186,12.5466,19.5186,12.5466,19.5186C12.5465,19.5185,12.5465,19.5071,12.5465,15.3319Z",fill:"#FFFFFF","fill-opacity":"1"})]),G("g",null,[G("path",{d:"M8,10.61L12.363330000000001,10.61L12.363330000000001,9.845469999999999L9.22088,9.845469999999999L12.26779,5.5062429999999996L12.26779,5L8.329108,5L8.329108,5.76453L11.036290000000001,5.76453L8,10.103760000000001L8,10.61Z",fill:"#000000","fill-opacity":"1"})])],-1)])])}const fce={render:dce},hce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"};function pce(e,t){return ne(),Te("svg",hce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M15.7506,4.95905L8.65604,0.199722C8.26125,-0.066574,7.73875,-0.066574,7.34396,0.199722L0.249446,4.95905C-0.215006,5.27634,0.0114143,5.99024,0.580369,5.99024L1.02848,5.99024C1.02321,6.05253,1.02053,6.11554,1.02053,6.17916L1.02053,13.7337C1.02053,14.9853,2.06024,16,3.34279,16L5.66505,16L5.66505,12.9782C5.66505,11.7265,6.70476,10.7119,7.98732,10.7119C9.26987,10.7119,10.3096,11.7265,10.3096,12.9782L10.3096,16L12.6318,16C13.9144,16,14.9541,14.9853,14.9541,13.7337L14.9541,6.17916C14.9541,6.11554,14.9514,6.05253,14.9462,5.99024L15.4196,5.99024C15.9886,5.99024,16.215,5.27634,15.7506,4.95905ZM8.39252,9.34442L7.59892,9.34442L7.59892,6.86675L5.70117,2.94958L6.54653,2.94958L7.36602,4.75549C7.57304,5.2266,7.76282,5.68026,7.9871,6.16009L8.0216,6.16009C8.24588,5.68026,8.46153,5.2266,8.65993,4.75549L9.47079,2.94958L10.2989,2.94958L8.39252,6.86675L8.39252,9.34442Z","fill-rule":"evenodd",fill:"#F3F3F3","fill-opacity":"1"})],-1)])])}const mce={render:pce},gce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"};function vce(e,t){return ne(),Te("svg",gce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M15.7506,4.95905L8.65604,0.199722C8.26125,-0.066574,7.73875,-0.066574,7.34396,0.199722L0.249446,4.95905C-0.215006,5.27634,0.0114143,5.99024,0.580369,5.99024L1.02848,5.99024C1.02321,6.05253,1.02053,6.11554,1.02053,6.17916L1.02053,13.7337C1.02053,14.9853,2.06024,16,3.34279,16L5.66505,16L5.66505,12.9782C5.66505,11.7265,6.70476,10.7119,7.98732,10.7119C9.26987,10.7119,10.3096,11.7265,10.3096,12.9782L10.3096,16L12.6318,16C13.9144,16,14.9541,14.9853,14.9541,13.7337L14.9541,6.17916C14.9541,6.11554,14.9514,6.05253,14.9462,5.99024L15.4196,5.99024C15.9886,5.99024,16.215,5.27634,15.7506,4.95905ZM6.40741,9.12286L5.5,9.12286L7.48148,6.02054L5.62963,3.12286L6.57407,3.12286L7.5,4.65356C7.67593,4.93187,7.81481,5.18562,8.03704,5.5376L8.07407,5.5376C8.25926,5.18562,8.38889,4.93187,8.55556,4.65356L9.46296,3.12286L10.3611,3.12286L8.50926,6.06147L10.5,9.12286L9.55556,9.12286L8.5463,7.50213C8.37037,7.19926,8.18519,6.8964,7.96296,6.52805L7.92593,6.52805C7.73148,6.8964,7.55556,7.19926,7.37963,7.50213L6.40741,9.12286Z","fill-rule":"evenodd",fill:"#F3F3F3","fill-opacity":"1"})],-1)])])}const yce={render:vce},Ece={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"15",height:"15",viewBox:"0 0 15 15"};function bce(e,t){return ne(),Te("svg",Ece,[...t[0]||(t[0]=[bi('<g><g><path d="M7.087890126342773,6.20209C6.925200126342774,5.77666,6.714020126342773,5.22445,6.714020126342773,4.54545C6.714020126342773,3.97394,6.863630126342773,3.31261,7.008010126342773,2.67439C7.322960126342774,1.2822,7.613020126342773,0,6.271050126342773,0C4.313870126342773,0,2.7272701263427734,1.62806,2.7272701263427734,3.63636C2.7272701263427734,5.64467,4.313870126342773,7.27273,6.271050126342773,7.27273C7.497320126342774,7.27273,7.360840126342773,6.91585,7.087890126342773,6.20209ZM6.093620126342774,2.46753Q5.776520126342773,3.86923,5.776520126342773,4.54545Q5.776520126342773,5.11548,5.9337001263427736,5.70889Q6.001440126342773,5.96468,6.135580126342774,6.33205Q5.150020126342774,6.28538,4.436620126342773,5.55335Q3.6647701263427734,4.76133,3.6647701263427734,3.63636Q3.6647701263427734,2.5114,4.436620126342773,1.71938Q5.198590126342774,0.9375,6.271050126342773,0.9375Q6.3040101263427735,0.9375,6.331110126342773,0.939004Q6.360050126342774,1.2898,6.093620126342774,2.46753Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g transform="matrix(0,1,-1,0,17.727272748947144,-12.272727251052856)"><path d="M19.36062,8.929362748947144C19.19793,8.503932748947143,18.98675,7.951722748947144,18.98675,7.272722748947143C18.98675,6.701212748947143,19.13636,6.039882748947143,19.28074,5.401662748947143C19.59569,4.009472748947143,19.88575,2.7272727489471436,18.543779999999998,2.7272727489471436C16.5866,2.7272727489471436,15,4.355332748947143,15,6.363632748947143C15,8.371942748947143,16.5866,10.000002748947143,18.543779999999998,10.000002748947143C19.77005,10.000002748947143,19.63357,9.643122748947142,19.36062,8.929362748947144ZM18.36635,5.1948027489471436Q18.04925,6.5965027489471435,18.04925,7.272722748947143Q18.04925,7.842752748947143,18.20643,8.436162748947144Q18.274169999999998,8.691952748947145,18.40831,9.059322748947142Q17.42275,9.012652748947144,16.70935,8.280622748947144Q15.9375,7.488602748947144,15.9375,6.363632748947143Q15.9375,5.238672748947144,16.70935,4.446652748947144Q17.47132,3.6647727489471436,18.543779999999998,3.6647727489471436Q18.57674,3.6647727489471436,18.603839999999998,3.6662767489471433Q18.63278,4.017072748947143,18.36635,5.1948027489471436Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g transform="matrix(-1,0,0,-1,24.545459747314453,30)"><path d="M16.633349873657227,21.20209C16.470659873657226,20.77666,16.259479873657227,20.22445,16.259479873657227,19.54545C16.259479873657227,18.97394,16.409089873657226,18.31261,16.553469873657228,17.67439C16.868419873657228,16.2822,17.158479873657228,15,15.816509873657226,15C13.859329873657227,15,12.272729873657227,16.62806,12.272729873657227,18.63636C12.272729873657227,20.644669999999998,13.859329873657227,22.27273,15.816509873657226,22.27273C17.042779873657228,22.27273,16.906299873657225,21.91585,16.633349873657227,21.20209ZM15.639079873657227,17.46753Q15.321979873657227,18.86923,15.321979873657227,19.54545Q15.321979873657227,20.115479999999998,15.479159873657228,20.70889Q15.546899873657226,20.96468,15.681039873657227,21.33205Q14.695479873657227,21.28538,13.982079873657227,20.553350000000002Q13.210229873657227,19.76133,13.210229873657227,18.63636Q13.210229873657227,17.511400000000002,13.982079873657227,16.71938Q14.744049873657227,15.9375,15.816509873657226,15.9375Q15.849469873657227,15.9375,15.876569873657226,15.939004Q15.905509873657227,16.2898,15.639079873657227,17.46753Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g transform="matrix(0,-1,1,0,-12.272701263427734,12.272701263427734)"><path d="M4.36062,18.474791263427733C4.19793,18.049361263427734,3.98675,17.497151263427735,3.98675,16.818151263427733C3.98675,16.246641263427733,4.13636,15.585311263427734,4.28074,14.947091263427733C4.59569,13.554901263427734,4.88575,12.272701263427734,3.54378,12.272701263427734C1.5866,12.272701263427734,0,13.900761263427734,0,15.909061263427734C0,17.917371263427732,1.5866,19.545431263427734,3.54378,19.545431263427734C4.77005,19.545431263427734,4.63357,19.188551263427733,4.36062,18.474791263427733ZM3.36635,14.740231263427734Q3.04925,16.141931263427736,3.04925,16.818151263427733Q3.04925,17.388181263427732,3.20643,17.981591263427735Q3.27417,18.237381263427736,3.40831,18.604751263427733Q2.42275,18.558081263427734,1.70935,17.826051263427736Q0.9375,17.034031263427735,0.9375,15.909061263427734Q0.9375,14.784101263427734,1.70935,13.992081263427734Q2.47132,13.210201263427734,3.54378,13.210201263427734Q3.57674,13.210201263427734,3.60384,13.211705263427735Q3.63278,13.562501263427734,3.36635,14.740231263427734Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g></g>',1)])])}const Mh={render:bce},Sce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Ace(e,t){return ne(),Te("svg",Sce,[...t[0]||(t[0]=[G("g",{style:{opacity:"0.800000011920929"}},[G("g"),G("g",null,[G("g",null,[G("g",null,[G("path",{d:"M16,11C16,11,4,11,4,11C3.447701,11,3,10.55228,3,10C3,9.447723,3.447701,9,4,9C4,9,16,9,16,9C16.552300000000002,9,17,9.447723,17,10C17,10.55228,16.552300000000002,11,16,11C16,11,16,11,16,11Z",fill:"#F2F2F2","fill-opacity":"1"})])])])],-1)])])}const Cce={render:Ace},wce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Tce(e,t){return ne(),Te("svg",wce,[...t[0]||(t[0]=[G("g",{style:{opacity:"0.800000011920929"}},[G("g"),G("g",null,[G("g",null,[G("g",null,[G("path",{d:"M16,11C16,11,4,11,4,11C3.447701,11,3,10.55228,3,10C3,9.447723,3.447701,9,4,9C4,9,16,9,16,9C16.552300000000002,9,17,9.447723,17,10C17,10.55228,16.552300000000002,11,16,11C16,11,16,11,16,11Z",fill:"#F2F2F2","fill-opacity":"1"})])]),G("g",null,[G("g",null,[G("path",{d:"M10,17C9.447693,17,9,16.552300000000002,9,16C9,16,9,4,9,4C9,3.447716,9.447693,3,10,3C10.55231,3,11,3.447716,11,4C11,4,11,16,11,16C11,16.552300000000002,10.55231,17,10,17C10,17,10,17,10,17Z",fill:"#F2F2F2","fill-opacity":"1"})])])])],-1)])])}const eV={render:Tce},Ice={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"};function Pce(e,t){return ne(),Te("svg",Ice,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_96_00164"><rect x="0" y="0" width="16" height="16" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_96_00164)"><g></g><g><path d="M8,1L8,2.05L8,1Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M7.400000095367432,0.9999999761581421L7.400000095367432,2.049999976158142C7.400000095367432,2.381369976158142,7.668629095367431,2.649999976158142,8.000000095367431,2.649999976158142C8.331371095367432,2.649999976158142,8.600000095367431,2.381369976158142,8.600000095367431,2.049999976158142L8.600000095367431,0.9999999761581421C8.600000095367431,0.6686289761581421,8.331371095367432,0.3999999761581421,8.000000095367431,0.3999999761581421C7.668629095367431,0.3999999761581421,7.400000095367432,0.6686289761581421,7.400000095367432,0.9999999761581421Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M12.94946525,3.05029296875L12.20703125,3.79273996875L12.94946525,3.05029296875Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M11.782762868530273,3.3684790641174316L12.525197868530274,2.626033064117432C12.637720868530273,2.5135085641174317,12.790330868530273,2.4502930641174316,12.949460868530274,2.4502930641174316C13.108590868530273,2.4502916932074315,13.261200868530274,2.513504464117432,13.373720868530274,2.6260250641174316C13.486250868530274,2.7385460641174317,13.549460868530273,2.8911580641174317,13.549460868530273,3.0502880641174315C13.549460868530273,3.2094210641174317,13.486250868530274,3.3620320641174315,13.373730868530274,3.4745530641174316L12.631300868530273,4.217003064117431C12.518777868530274,4.329523064117431,12.366165868530274,4.392743064117432,12.207035868530273,4.392743064117432C12.047902868530274,4.392743064117432,11.895291868530274,4.329523064117431,11.782770868530273,4.217003064117431C11.670247568530273,4.1044830641174315,11.607032179830274,3.9518730641174313,11.607030868530273,3.7927430641174316C11.607030868530273,3.633613064117432,11.670243568530273,3.4810030641174317,11.782762868530273,3.3684790641174316Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M15.0001953125,8L13.9501953125,8L15.0001953125,8Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M15.000194931030274,7.400000095367432L13.950194931030273,7.400000095367432C13.618823931030274,7.400000095367432,13.350194931030273,7.668629095367431,13.350194931030273,8.000000095367431C13.350194931030273,8.331371095367432,13.618823931030274,8.600000095367431,13.950194931030273,8.600000095367431L15.000194931030274,8.600000095367431C15.331564931030274,8.600000095367431,15.600194931030273,8.331371095367432,15.600194931030273,8.000000095367431C15.600194931030273,7.668629095367431,15.331564931030274,7.400000095367432,15.000194931030274,7.400000095367432Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M12.94946525,12.949709390625L12.20703125,12.207275390625L12.94946525,12.949709390625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M12.631390868530273,11.783107009155273L13.373600868530273,12.525316009155274C13.486250868530274,12.637965009155273,13.549460868530273,12.790575009155273,13.549460868530273,12.949705009155274C13.549460868530273,13.108835009155273,13.486250868530274,13.261455009155274,13.373730868530274,13.373975009155274C13.268250868530274,13.479445009155274,13.127280868530274,13.541855009155274,12.978290868530273,13.549015009155273C12.978290868530273,13.549015009155273,12.949460868530274,13.549705009155273,12.949460868530274,13.549705009155273C12.790330868530273,13.549705009155273,12.637720868530273,13.486495009155274,12.525200868530273,13.373975009155274L11.782862868530273,12.631635009155273C11.670244968530273,12.519017009155274,11.607030868530273,12.366405009155274,11.607030868530273,12.207275009155273C11.607030868530273,12.048145009155274,11.670244968530273,11.895533009155274,11.782766868530274,11.783011009155274C11.895288868530274,11.670489109155273,12.047900868530274,11.607275009155273,12.207030868530273,11.607275009155273C12.366160868530274,11.607275009155273,12.518772868530274,11.670489109155273,12.631390868530273,11.783107009155273Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M8,14.999951171875L8,13.949951171875L8,14.999951171875Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M8.000000095367431,15.599950790405273C8.331371095367432,15.599950790405273,8.600000095367431,15.331320790405274,8.600000095367431,14.999950790405274L8.600000095367431,13.949950790405273C8.600000095367431,13.618579790405274,8.331371095367432,13.349950790405273,8.000000095367431,13.349950790405273C7.668629095367431,13.349950790405273,7.400000095367432,13.618579790405274,7.400000095367432,13.949950790405273L7.400000095367432,14.999950790405274C7.400000095367432,15.331320790405274,7.668629095367431,15.599950790405273,8.000000095367431,15.599950790405273Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M3.0498046875,12.949709390625L3.7922516875,12.207275390625L3.0498046875,12.949709390625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M4.216514782867431,12.631538956604004L3.4740647828674316,13.373978956604004C3.3685907828674315,13.479448956604005,3.2276117828674318,13.541848956604003,3.0786217828674314,13.549018956604003C3.0786217828674314,13.549018956604003,3.0498047828674317,13.549708956604004,3.0498047828674317,13.549708956604004C2.8906697828674317,13.549708956604004,2.7380577828674317,13.486488956604004,2.6255367828674316,13.373968956604005C2.5206073828674316,13.269038956604003,2.4582851528674317,13.128948956604004,2.450608193867432,12.980748956604003C2.450608193867432,12.980748956604003,2.4498047828674316,12.949708956604004,2.4498047828674316,12.949708956604004C2.4498047828674316,12.790578956604005,2.5130202828674317,12.637968956604004,2.625544782867432,12.525441956604004L3.3679907828674316,11.783007956604004C3.4729247828674317,11.678078156604004,3.613014782867432,11.615755916604003,3.7612147828674316,11.608078956604004L4.216514782867431,11.783014956604005C4.321994782867431,11.888488956604004,4.384394782867432,12.029468956604005,4.3915547828674315,12.178458956604004C4.3915547828674315,12.178458956604004,4.392254782867432,12.207275956604004,4.392254782867432,12.207275956604004C4.392254782867432,12.366410956604003,4.329034782867431,12.519021956604004,4.216514782867431,12.631538956604004Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M1,8L2.05,8L1,8Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M0.3999999761581421,8.000000095367431C0.3999999761581421,8.331371095367432,0.6686289761581421,8.600000095367431,0.9999999761581421,8.600000095367431L2.049999976158142,8.600000095367431C2.381369976158142,8.600000095367431,2.649999976158142,8.331371095367432,2.649999976158142,8.000000095367431C2.649999976158142,7.668629095367431,2.381369976158142,7.400000095367432,2.049999976158142,7.400000095367432L0.9999999761581421,7.400000095367432C0.6686289761581421,7.400000095367432,0.3999999761581421,7.668629095367431,0.3999999761581421,8.000000095367431Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M3.0498046875,3.05029296875L3.7922516875,3.79273996875L3.0498046875,3.05029296875Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M3.3678907828674314,4.216903064117432L2.6256367828674314,3.4746530641174314C2.513018882867432,3.362035064117432,2.4498047828674316,3.2094230641174315,2.4498047828674316,3.0502930641174317C2.4498047828674316,2.8911630641174315,2.513018882867432,2.7385510641174315,2.6255407828674318,2.6260290641174318C2.7380627828674315,2.513507164117432,2.8906747828674315,2.4502930641174316,3.0498047828674317,2.4502930641174316C3.2089347828674315,2.4502930641174316,3.361546782867432,2.513507164117432,3.4740647828674316,2.6260290641174318L4.216414782867432,3.3683790641174314C4.329034782867431,3.4809930641174316,4.392254782867432,3.633613064117432,4.392254782867432,3.7927430641174316C4.392254782867432,3.9518730641174313,4.329034782867431,4.1044830641174315,4.216514782867431,4.217003064117431C4.1039947828674315,4.329523064117431,3.9513847828674313,4.392743064117432,3.7922547828674316,4.392743064117432C3.633124782867432,4.392743064117432,3.4805047828674316,4.329523064117431,3.3678907828674314,4.216903064117432Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M3.4000000953674316,8.000000095367431Q3.4000000953674316,6.094620095367432,4.747310095367432,4.747310095367432Q6.094620095367432,3.4000000953674316,8.000000095367431,3.4000000953674316Q9.90538009536743,3.4000000953674316,11.25269009536743,4.747310095367432Q12.600000095367431,6.094620095367432,12.600000095367431,8.000000095367431Q12.600000095367431,9.90538009536743,11.25269009536743,11.25269009536743Q9.90538009536743,12.600000095367431,8.000000095367431,12.600000095367431Q6.094620095367432,12.600000095367431,4.747310095367432,11.25269009536743Q3.4000000953674316,9.90538009536743,3.4000000953674316,8.000000095367431ZM4.600000095367432,8.000000095367431Q4.600000095367432,9.408320095367433,5.595840095367432,10.40416009536743Q6.5916800953674315,11.400000095367432,8.000000095367431,11.400000095367432Q9.408320095367433,11.400000095367432,10.40416009536743,10.40416009536743Q11.400000095367432,9.408320095367433,11.400000095367432,8.000000095367431Q11.400000095367432,6.5916800953674315,10.40416009536743,5.595840095367432Q9.408320095367433,4.600000095367432,8.000000095367431,4.600000095367432Q6.5916800953674315,4.600000095367432,5.595840095367432,5.595840095367432Q4.600000095367432,6.5916800953674315,4.600000095367432,8.000000095367431Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g></g>',2)])])}const tV={render:Pce},Oce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function _ce(e,t){return ne(),Te("svg",Oce,[...t[0]||(t[0]=[G("defs",null,[G("clipPath",{id:"master_svg0_257_15943"},[G("rect",{x:"0",y:"0",width:"20",height:"20",rx:"0"})])],-1),G("g",{"clip-path":"url(#master_svg0_257_15943)"},[G("g",null,[G("path",{d:"M17.0593,2.934905625C15.1715,1.048915625,12.6626,0.009765625,9.99258,0.009765625C7.32335,0.009765625,4.81413,1.048915625,2.92714,2.935245625C1.03949,4.822065625,1.7561e-7,7.331285625,1.7561e-7,10.000005625C-0.000499337,12.669265625,1.03815,15.177665625,2.92564,17.065765625C4.8123,18.950965625,7.32185,19.990265625,9.99074,19.990265625C12.6608,19.990265625,15.1712,18.950265625,17.0593,17.063765625C20.9547,13.169065625,20.9554,6.831275625,17.0593,2.934905625ZM16.1384,16.142965625C14.4963,17.784365625,12.3131,18.689165625,9.99074,18.689165625C7.67001,18.689165625,5.48731,17.784765625,3.84624,16.144965625C2.20535,14.504065625,1.30173,12.321765625,1.30223,10.000005625C1.30223,7.678605625,2.20618,5.496075625,3.84758,3.855675625C5.48897,2.215115625,7.67101,1.311825625,9.99258,1.311825625C12.3143,1.311825625,14.4967,2.215115625,16.1384,3.855845625C19.5264,7.243705625,19.5264,12.756365625,16.1384,16.142965625ZM14.3107,12.448265625L10.8564,10.451265625L10.8564,5.004885625C10.8564,4.545335625,10.4834,4.172365625,10.0235,4.172365625C9.56399,4.172365625,9.19102,4.545165625,9.19102,5.004885625L9.19102,10.832665625C9.19102,11.141565625,9.57498,11.400465625,9.82474,11.543665625C9.89384,11.647565625,10.0837,11.741765625,10.1995,11.808365625L13.6347,13.889865625C14.0326,14.119465625,14.464,13.982965625,14.6938,13.585165625C14.9236,13.186865625,14.7096,12.678265625,14.3107,12.448265625Z",fill:"#0079D1","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})])],-1)])])}const Rce={render:_ce},kce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function xce(e,t){return ne(),Te("svg",kce,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_257_15930"><rect x="0" y="0" width="20" height="20" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_257_15930)"><g><path d="M5.6613346875,13.2612221875C5.4151846875,12.8304521875,5.0151846875,12.5227621875,4.5536446875,12.3996821875C4.3997946875,12.368912187500001,4.245954687499999,12.3381421875,4.0613346875000005,12.3381421875C3.7536446875,12.3381421875,3.4151846875,12.4304521875,3.1382596874999997,12.5843021875C2.2459523875,13.107372187500001,1.9382596875,14.215072187499999,2.4613366875000002,15.107372187500001C2.7074906875,15.5381421875,3.1074906875,15.8458321875,3.5690246875,15.9689121875C4.0305646875,16.0919921875,4.5536446875,16.0304521875,4.9844146875,15.7843021875C5.876724687499999,15.2612221875,6.1536446875,14.1535321875,5.6613346875,13.2612221875ZM11.4767246875,13.2612221875C11.2305646875,12.8304521875,10.8305646875,12.5227621875,10.3690246875,12.3996821875C10.2151846875,12.368912187500001,10.0613346875,12.3381421875,9.876724687500001,12.3381421875C9.5690246875,12.3381421875,9.2305646875,12.4304521875,8.953644687499999,12.5843021875C8.8921046875,12.615072187500001,8.861334687500001,12.645842187500001,8.7997946875,12.6766021875L8.7690246875,12.707372187499999L8.6767246875,12.7996821875L8.615184687500001,12.861222187500001C8.5844146875,12.8919921875,8.5536446875,12.8919921875,8.5536446875,12.9227621875C8.5228746875,12.953532187499999,8.4921046875,12.984302187499999,8.4921046875,13.0150621875C8.4921046875,13.0458321875,8.461334687499999,13.0458321875,8.461334687499999,13.0766021875C8.3074946875,13.2612221875,8.215184687499999,13.4766021875,8.1536446875,13.722762187499999C8.092104687500001,13.968912187499999,8.0613346875,14.2150621875,8.092104687500001,14.4304521875L8.092104687500001,14.461222187499999C8.092104687500001,14.4919921875,8.092104687500001,14.5535221875,8.122874687500001,14.584292187500001C8.122874687500001,14.615062187500001,8.122874687500001,14.6458321875,8.1536446875,14.6458321875C8.1536446875,14.6766021875,8.1844146875,14.707372187499999,8.1844146875,14.7381421875C8.1844146875,14.7689121875,8.215184687499999,14.7996821875,8.215184687499999,14.8304521875Q8.215184687499999,14.861222187500001,8.2459546875,14.8919921875C8.2767246875,14.953522187499999,8.3074946875,15.0150621875,8.3382646875,15.0458321875C8.5844146875,15.4766021875,8.9844146875,15.7842921875,9.445954687499999,15.9073721875C9.938254687499999,16.0304521875,10.4305646875,15.9689121875,10.8613346875,15.7227621875C11.6613346875,15.2612221875,11.9690246875,14.1535221875,11.4767246875,13.2612221875ZM7.5382546875,10.8919921875C7.5997946875,10.861222187500001,7.6305646875,10.861222187500001,7.6921046875,10.8304521875L7.7228746875,10.8304521875C7.7844146875,10.7996821875,7.8459546875,10.7689121875,7.8767246875,10.7381421875C8.7690246875,10.2150721875,9.0767246875,9.1073721875,8.5536446875,8.2150691875C8.3074846875,7.7843001875,7.9074946875,7.4766071875,7.4459546875,7.3535303875C7.2921046875,7.3227612875,7.1382546875,7.2919921875,6.9536446875,7.2919921875C6.6459546875,7.2919921875,6.3074946875,7.3843000875,6.0305646875,7.5381461875C5.9690246875,7.5689151875,5.938254687500001,7.5996841875,5.876724687499999,7.6304541875L5.8459546875,7.6612231875C5.8151846875,7.6919921875,5.7536446875,7.7227611875,5.7228746875,7.7535311875C5.1690246875,8.2458391875,4.9844146875,9.0150721875,5.1997946875,9.6919921875C5.230564687499999,9.7535321875,5.230564687499999,9.7843021875,5.2613346875,9.8458421875L5.2613346875,9.876612187500001C5.2921046875,9.9381421875,5.322874687500001,9.9996821875,5.3536446875,10.0304521875C5.3844146875,10.0919921875,5.4151846875,10.1227621875,5.4459546875000004,10.1843021875Q5.4459546875000004,10.2150721875,5.4767246875,10.2150721875C5.5074946874999995,10.2458421875,5.5382646875,10.3073821875,5.5690246875,10.3381421875C6.0613346875000005,10.9227621875,6.8305646875,11.1381521875,7.5382546875,10.8919921875Z" fill="#0079D1" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M19.01544453125,8.8919803125C18.40004453125,7.8458303125,17.35394453125,7.2304503125,16.24624453125,7.1381403125C16.33854453125,6.9535203125,16.430844531250003,6.7381403125,16.461644531250002,6.5227503125C16.70774453125,5.5996803125,16.58464453125,4.6766003125,16.12314453125,3.8458303125C15.66164453125,3.0150613125,14.89234453125,2.4612153125,14.00004453125,2.2150613125C13.07694453125,1.9689073125,12.15394453125,2.0919843925,11.32314453125,2.5535233125L5.20005453125,6.0919803125C4.4000545312499995,6.5535203125,3.81544453125,7.3227503125,3.56928453125,8.2150603125C3.35390453125,9.0458303125,3.44621453125,9.876600312499999,3.78467453125,10.6458303125C3.26159453125,10.6766003125,2.76928453125,10.8304403125,2.27698453125,11.1073703125C0.6154414312500001,12.0920203125,0.03082653125000001,14.2458203125,1.01544153125,15.9381203125C1.47697953125,16.7381203125,2.2462145312499997,17.3227203125,3.13851453125,17.568920312499998C3.44621453125,17.6612203125,3.75390453125,17.6920203125,4.06159453125,17.6920203125C4.67698453125,17.6920203125,5.26159453125,17.5381203125,5.81544453125,17.2304203125C6.27697453125,16.9535203125,6.67698453125,16.584320312499997,6.95390453125,16.1535203125C7.41544453125,16.861220312500002,8.123134531249999,17.353520312500002,8.95390453125,17.568920312499998C9.26159453125,17.6612203125,9.56928453125,17.6920203125,9.87698453125,17.6920203125C10.49236453125,17.6920203125,11.07694453125,17.5381203125,11.63084453125,17.2304203125L17.72314453125,13.7227203125C19.41544453125,12.7381203125,20.00004453125,10.5842903125,19.01544453125,8.8919803125ZM11.90774453125,3.6612103124999997C12.43084453125,3.3535203124999997,13.04624453125,3.2919803125,13.63084453125,3.4458303125C14.21544453125,3.5996803125000003,14.70774453125,3.9689103125000003,15.01544453125,4.5227503124999995C15.66164453125,5.6304403125,15.26164453125,7.0150603125,14.18464453125,7.6612103125L10.40005453125,9.8458303125C10.55394453125,9.015060312500001,10.43082453125,8.1842903125,10.00005453125,7.4458303125C9.56928453125,6.7073703125,8.92313453125,6.1535203125,8.123134531249999,5.8766003125L11.90774453125,3.6612103124999997ZM9.87697453125,11.8766003125C10.06159453125,11.8766003125,10.27697453125,11.9073703125,10.46159453125,11.9689103125C11.04624453125,12.1227203125,11.53854453125,12.4920203125,11.84624453125,13.0458203125C12.49234453125,14.1535203125,12.09234453125,15.5381203125,11.01544453125,16.1843203125C10.49236453125,16.4920203125,9.87697453125,16.553520312499998,9.29236453125,16.3997203125C8.70774453125,16.2458203125,8.21544453125,15.8766203125,7.90774453125,15.3227203125C7.87698453125,15.2612203125,7.84621453125,15.1997203125,7.81544453125,15.1073203125C7.81544453125,15.0766203125,7.78467453125,15.0458203125,7.78467453125,15.0150203125C7.78467453125,14.9843203125,7.75390453125,14.9535203125,7.75390453125,14.8920203125C7.75390453125,14.8612203125,7.72313453125,14.7997203125,7.72313453125,14.7689203125C7.72313453125,14.7381203125,7.69236453125,14.7073203125,7.69236453125,14.6766203125C7.69236453125,14.6150203125,7.66159453125,14.5535203125,7.66159453125,14.5227203125L7.66159453125,14.4612203125C7.63082453125,14.1535203125,7.63082453125,13.8766203125,7.72313453125,13.5689203125C7.81544453125,13.2612203125,7.93851453125,13.0150203125,8.123134531249999,12.7689203125C8.123134531249999,12.7381203125,8.15390453125,12.7381203125,8.18467453125,12.7073203125C8.21544453125,12.6766203125,8.24621453125,12.6458203125,8.276984531250001,12.5843203125L8.369284531249999,12.4920203125L8.43082453125,12.4304203125C8.46159453125,12.3997203125,8.523134531250001,12.3689203125,8.55390453125,12.3381203125C8.58467453125,12.3381203125,8.58467453125,12.3073203125,8.61544453125,12.3073203125C8.67698453125,12.2766203125,8.73851453125,12.2150203125,8.80005453125,12.1843203125C9.07698453125,11.9996803125,9.47697453125,11.8766003125,9.87697453125,11.8766003125ZM5.44621453125,7.4458303125C5.50774453125,7.4150603125,5.53851453125,7.3535203125,5.60005453125,7.3227503125L5.63082453125,7.2919803125C5.69236453125,7.2612103125,5.75390453125,7.1996803125,5.81544453125,7.1689103125C6.15390453125,6.9535203125,6.55390453125,6.8612103125,6.95390453125,6.8612103125C7.13851453125,6.8612103125,7.35390453125,6.8919803125,7.53851453125,6.9535203125C8.123134531249999,7.1073703125,8.61544453125,7.4766003125,8.92313453125,8.0304403125C9.56928453125,9.1381403125,9.16928453125,10.5227503125,8.09236453125,11.1689103125C8.030824531250001,11.1996803125,7.96928453125,11.2304403125,7.87698453125,11.2612103125Q7.84621453125,11.2612103125,7.84621453125,11.2919803125C7.78467453125,11.3227503125,7.72313453125,11.3535203125,7.66159453125,11.3535203125C6.80005453125,11.6304403125,5.84621453125,11.3842903125,5.26159453125,10.7073703125C5.23082453125,10.6458303125,5.16928453125,10.6150603125,5.13851453125,10.5535203125L5.10775453125,10.5227503125C5.07698453125,10.4612103125,5.01544453125,10.3996803125,4.98467453125,10.3381403125C4.95390453125,10.2766003125,4.92313453125,10.2150603125,4.89236453125,10.1227503125L4.89236453125,10.0919803125C4.86159453125,10.0304403125,4.83082453125,9.9689003125,4.83082453125,9.9073703125C4.52313453125,8.9842903125,4.76928453125,8.0304403125,5.44621453125,7.4458303125ZM5.20005453125,16.1535203125C4.67698453125,16.4612203125,4.06159453125,16.553520312499998,3.47698453125,16.368920312500002C2.89236453125,16.215020312500002,2.40005453125,15.8458203125,2.0923645312500003,15.2920203125C1.44621053125,14.1843203125,1.84621453125,12.7997203125,2.92313453125,12.1535203125C3.26159453125,11.9381403125,3.66159453125,11.8458303125,4.06159453125,11.8458303125C4.246214531250001,11.8458303125,4.46159453125,11.8766003125,4.64621453125,11.9381403125C5.23082453125,12.0920203125,5.72313453125,12.4612203125,6.03082453125,13.0150203125C6.67698453125,14.1227203125,6.30774453125,15.5381203125,5.20005453125,16.1535203125ZM17.10774453125,12.6458203125L13.32314453125,14.8304203125C13.47694453125,14.0304203125,13.35394453125,13.1689203125,12.92314453125,12.4304203125C12.49234453125,11.6919803125,11.84624453125,11.1381403125,11.04624453125,10.8612103125L14.83084453125,8.6766003125C15.16924453125,8.4612103125,15.56924453125,8.368910312499999,15.96924453125,8.368910312499999C16.18464453125,8.368910312499999,16.36924453125,8.3996803125,16.58464453125,8.4612103125C17.16924453125,8.615060312499999,17.66154453125,8.9842903125,17.96924453125,9.538140312500001C18.58464453125,10.6150603125,18.21544453125,11.9996803125,17.10774453125,12.6458203125Z" fill="#0079D1" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const Dce={render:xce},Lce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"13.999999046325684",height:"13.059998512268066",viewBox:"0 0 13.999999046325684 13.059998512268066"};function Nce(e,t){return ne(),Te("svg",Lce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M2.5,2L2.5,1C2.5,0.447715,2.94772,0,3.5,0L10.5,0C11.0523,0,11.5,0.447715,11.5,1L11.5,2L13.5,2C13.7761,2,14,2.22386,14,2.5L14,6C14,6.27614,13.7761,6.5,13.5,6.5L11.5,6.5L11.5,7.5C11.5,8.05229,11.0523,8.5,10.5,8.5L10.1,8.5L9.5514,9.8714C9.39953,10.2511,9.03183,10.5,8.62293,10.5L8,10.5L7.5,12L6.5,12L6,10.5L5.37707,10.5C4.96817,10.5,4.60047,10.2511,4.4486,9.8714L3.90002,8.5L3.5,8.5C2.94772,8.5,2.5,8.05229,2.5,7.5L2.5,6.5L0.5,6.5C0.223858,6.5,0,6.27614,0,6L0,2.5C0,2.22386,0.223858,2,0.5,2L2.5,2ZM3.5,1L3.5,7.5L10.5,7.5L10.5,1L3.5,1ZM2.5,3L1,3L1,5.5L2.5,5.5L2.5,3ZM11.5,5.5L11.5,3L13,3L13,5.5L11.5,5.5ZM1.04483,12.157Q1.5,11.6638,1.5,11.2175Q1.5,11.101,1.43798,11.0148Q1.38125,10.936,1.17991,10.7682Q0.881245,10.5194,0.750483,10.3377Q0.5,9.98984,0.5,9.55079Q0.5,8.66742,1.30795,7.84175C1.50108,7.64438,1.82322,7.67199,2,7.88413C2.17678,8.09626,2.14247,8.40838,1.95517,8.6113Q1.5,9.10443,1.5,9.55079Q1.5,9.6673,1.56202,9.75343Q1.61875,9.83223,1.82009,10Q2.11875,10.2489,2.24952,10.4305Q2.5,10.7784,2.5,11.2175Q2.5,12.1008,1.69205,12.9265C1.49892,13.1239,1.17678,13.0963,1,12.8841C0.823218,12.672,0.857533,12.3599,1.04483,12.157ZM12.0448,12.157Q12.5,11.6638,12.5,11.2175Q12.5,11.101,12.438,11.0148Q12.3812,10.936,12.1799,10.7682Q11.8812,10.5194,11.7505,10.3377Q11.5,9.98984,11.5,9.55079Q11.5,8.66742,12.3079,7.84175C12.5011,7.64438,12.8232,7.67199,13,7.88413C13.1768,8.09626,13.1425,8.40838,12.9552,8.6113Q12.5,9.10443,12.5,9.55079Q12.5,9.6673,12.562,9.75343Q12.6188,9.83223,12.8201,10Q13.1188,10.2489,13.2495,10.4305Q13.5,10.7784,13.5,11.2175Q13.5,12.1008,12.6921,12.9265C12.4989,13.1239,12.1768,13.0963,12,12.8841C11.8232,12.672,11.8575,12.3599,12.0448,12.157ZM4.97706,8.5L5.37707,9.5L8.62293,9.5L9.02294,8.5L4.97706,8.5Z","fill-rule":"evenodd",fill:"#FFFFFF","fill-opacity":"1"})],-1)])])}const Mce={render:Nce},Bce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"11.791748046875",viewBox:"0 0 16 11.791748046875"};function Fce(e,t){return ne(),Te("svg",Bce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M2.54483,4.4487Q3,3.95557,3,3.50921Q3,3.3927,2.93798,3.30657Q2.88125,3.22777,2.67991,3.05998Q2.38125,2.8111,2.25048,2.62948Q2,2.28159,2,1.84254Q2,0.959167,2.80795,0.133494C3.00108,-0.0638753,3.32322,-0.0362649,3.5,0.175874C3.67678,0.388012,3.64247,0.700128,3.45517,0.903044Q3,1.39618,3,1.84254Q3,1.95904,3.06202,2.04518Q3.11875,2.12398,3.32009,2.29176Q3.61875,2.54065,3.74952,2.72226Q4,3.07016,4,3.50921Q4,4.39258,3.19205,5.21825C2.99892,5.41562,2.67678,5.38801,2.5,5.17587C2.32322,4.96374,2.35753,4.65162,2.54483,4.4487ZM7.54483,4.4487Q8,3.95557,8,3.50921Q8,3.3927,7.93798,3.30657Q7.88125,3.22777,7.67991,3.05998Q7.38125,2.8111,7.25048,2.62948Q7,2.28159,7,1.84254Q7,0.959167,7.80795,0.133494C8.00108,-0.0638753,8.32322,-0.0362649,8.5,0.175874C8.67678,0.388012,8.64247,0.700128,8.45517,0.903044Q8,1.39618,8,1.84254Q8,1.95904,8.06202,2.04518Q8.11875,2.12398,8.32009,2.29176Q8.61875,2.54065,8.74952,2.72226Q9,3.07016,9,3.50921Q9,4.39258,8.19205,5.21825C7.99892,5.41562,7.67678,5.38801,7.5,5.17587C7.32322,4.96374,7.35753,4.65162,7.54483,4.4487ZM12.5448,4.4487Q13,3.95557,13,3.50921Q13,3.3927,12.938,3.30657Q12.8812,3.22777,12.6799,3.05998Q12.3812,2.8111,12.2505,2.62948Q12,2.28159,12,1.84254Q12,0.959167,12.8079,0.133494C13.0011,-0.0638753,13.3232,-0.0362649,13.5,0.175874C13.6768,0.388012,13.6425,0.700128,13.4552,0.903044Q13,1.39618,13,1.84254Q13,1.95904,13.062,2.04518Q13.1188,2.12398,13.3201,2.29176Q13.6188,2.54065,13.7495,2.72226Q14,3.07016,14,3.50921Q14,4.39258,13.1921,5.21825C12.9989,5.41562,12.6768,5.38801,12.5,5.17587C12.3232,4.96374,12.3575,4.65162,12.5448,4.4487ZM0,8.59175L0,6.99175Q0,6.49469,0.351472,6.14322Q0.702944,5.79175,1.2,5.79175L14.8,5.79175Q15.2971,5.79175,15.6485,6.14322Q16,6.49469,16,6.99175L16,8.59175Q16,9.0888,15.6485,9.44028Q15.2971,9.79175,14.8,9.79175L14.4849,9.79175Q14.5,9.88862,14.5,9.99175L14.5,10.5917Q14.5,11.0888,14.1485,11.4403Q13.7971,11.7917,13.3,11.7917L11.7,11.7917Q11.2029,11.7917,10.8515,11.4403Q10.5,11.0888,10.5,10.5917L10.5,9.99175Q10.5,9.88862,10.5151,9.79175L5.48487,9.79175Q5.5,9.88861,5.5,9.99175L5.5,10.5917Q5.5,11.0888,5.14853,11.4403Q4.79706,11.7917,4.3,11.7917L2.7,11.7917Q2.20294,11.7917,1.85147,11.4403Q1.5,11.0888,1.5,10.5917L1.5,9.99175Q1.5,9.88861,1.51513,9.79175L1.2,9.79175Q0.702944,9.79175,0.351472,9.44028Q0,9.0888,0,8.59175ZM2.7,9.79175C2.58954,9.79175,2.5,9.88129,2.5,9.99175L2.5,10.5917C2.5,10.7022,2.58954,10.7917,2.7,10.7917L4.3,10.7917C4.41046,10.7917,4.5,10.7022,4.5,10.5917L4.5,9.99175C4.5,9.88129,4.41046,9.79175,4.3,9.79175L2.7,9.79175ZM4.3,8.79175L14.8,8.79175C14.9105,8.79175,15,8.7022,15,8.59175L15,6.99175C15,6.88129,14.9105,6.79175,14.8,6.79175L1.2,6.79175C1.08954,6.79175,1,6.88129,1,6.99175L1,8.59175C1,8.7022,1.08954,8.79175,1.2,8.79175L4.3,8.79175ZM11.7,9.79175C11.5895,9.79175,11.5,9.88129,11.5,9.99175L11.5,10.5917C11.5,10.7022,11.5895,10.7917,11.7,10.7917L13.3,10.7917C13.4105,10.7917,13.5,10.7022,13.5,10.5917L13.5,9.99175C13.5,9.88129,13.4105,9.79175,13.3,9.79175L11.7,9.79175Z","fill-rule":"evenodd",fill:"#FFFFFF","fill-opacity":"1"})],-1)])])}const Uce={render:Fce},jce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"16",height:"16",viewBox:"0 0 16 16"};function Hce(e,t){return ne(),Te("svg",jce,[...t[0]||(t[0]=[G("g",null,[G("g"),G("g",null,[G("g",null,[G("rect",{x:"1.5999999642372131",y:"1.600000023841858",width:"12.799998998641968",height:"12.799999952316284",rx:"0.3999999761581421","fill-opacity":"0","stroke-opacity":"1",stroke:"#FFFFFF",fill:"none","stroke-width":"1.2000000476837158"})]),G("g",{transform:"matrix(-1,0,0,-1,25.99999988079071,22)"},[G("rect",{x:"13.649999916553497",y:"11.649999976158142",width:"2.6999998092651367",height:"4.700000047683716",rx:"0.3500000238418579","fill-opacity":"0","stroke-opacity":"1",stroke:"#FFFFFF",fill:"none","stroke-width":"1.2999999523162842"})])])],-1)])])}const zce={render:Hce},Wce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"14",height:"14",viewBox:"0 0 14 14"};function Vce(e,t){return ne(),Te("svg",Wce,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_155_22108"><rect x="0" y="0" width="14" height="14" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_155_22108)"><g><path d="M7.013937109375,0L7.013937109375,0.098L7.013937109375,0C6.894937109375,0.119,1.553937109375,5.425,1.742936549375,8.764C1.756936609375,11.655,4.101937109375,14,6.999937109375,14L7.013937109375,14C9.911937109375,14,12.256937109375,11.655,12.270937109375,8.764C12.466937109375,5.425,7.132937109375,0.119,7.013937109375,0ZM11.479937109375,8.75C11.472937109375,11.207,9.477937109374999,13.195,7.020937109375,13.195L7.013937109375,13.195L7.006937109375,13.195C4.549937109375,13.195,2.554937109375,11.207,2.547937109375,8.75Q2.372937109375,5.866,7.013937109375,1.036L7.013937109375,1.043L7.013937109375,1.036C7.020937109375,1.036,11.675937109375,5.845,11.479937109375,8.75Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M2.982177734375,8.7150859375C2.982177734375,10.9480859375,4.795177734375,12.761085937499999,7.028177734375,12.761085937499999C8.911177734375,12.761085937499999,10.479177734375,11.3400859375,10.934177734375,9.604085937499999Q10.003177734375,8.8900859375,7.658177734375,9.0790859375C5.768177734375,9.0790859375,4.200177734375,8.2250869375,3.199177734375,7.4130859375C3.059177334375,7.8260859375,2.982177467346,8.2600859375,2.982177734375,8.7150859375Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const nV={render:Vce},Gce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"27.02685546875",height:"26.9990234375",viewBox:"0 0 27.02685546875 26.9990234375"};function Jce(e,t){return ne(),Te("svg",Gce,[...t[0]||(t[0]=[bi('<g><g><g><path d="M26.562431388549804,19.849607440490722C26.496771388549803,17.473577440490722,25.400201388549803,15.831181440490722,24.053121388549805,15.831181440490722C23.829811388549807,15.831181440490722,23.614471388549806,15.888608440490723,23.408331388549804,15.986743440490722C23.202211388549806,15.888577440490723,22.986821388549806,15.831181440490722,22.763511388549805,15.831181440490722C22.540151388549805,15.831181440490722,22.324721388549804,15.888629440490723,22.118541388549804,15.986826440490722C21.912351388549805,15.888608440490723,21.696931388549807,15.831181440490722,21.473561388549804,15.831181440490722C21.234421388549805,15.831181440490722,21.003851388549805,15.894753440490723,20.784751388549804,16.006947440490723C20.549631388549805,15.892125440490723,20.299871388549803,15.831202440490722,20.040901388549806,15.831202440490722C19.250841388549805,15.831202440490722,18.546671388549804,16.39656144049072,18.085466388549804,17.342417440490724L18.085465388549803,15.443337440490723L17.525251388549805,15.443337440490723L17.525251388549805,20.080537440490723L17.525468863549804,20.080537440490723C17.527788788549806,22.57316744049072,18.652951388549806,24.035077440490724,20.040881388549806,24.035077440490724C20.309971388549805,24.035077440490724,20.568721388549804,23.978707440490723,20.811811388549806,23.871957440490725C21.022921388549804,23.975637440490722,21.244181388549805,24.035077440490724,21.473551388549804,24.035077440490724C21.696911388549804,24.035077440490724,21.912341388549805,23.977657440490724,22.118521388549805,23.879437440490722C22.324711388549805,23.977637440490724,22.540141388549806,24.035077440490724,22.763501388549805,24.035077440490724C22.986811388549803,24.035077440490724,23.202201388549803,23.977687440490723,23.408321388549805,23.879517440490723C23.614441388549807,23.977657440490724,23.829801388549804,24.035077440490724,24.053101388549806,24.035077440490724C24.843151388549806,24.035077440490724,25.547331388549807,23.56020744049072,26.008541388549805,22.692397440490723L26.008541388549805,24.486807440490722L26.568751388549806,24.486807440490722L26.568751388549806,19.849607440490722L26.562431388549804,19.849607440490722ZM20.040901388549806,23.395437440490724C18.960941388549806,23.395437440490724,18.085465388549803,22.217097440490722,18.085465388549803,20.07307744049072C18.085465388549803,17.929077440490722,18.960941388549806,16.47086744049072,20.040901388549806,16.47086744049072C21.120841388549806,16.47086744049072,21.996311388549806,17.929067440490723,21.996311388549806,20.07307744049072C21.996311388549806,22.217087440490722,21.120841388549806,23.395437440490724,20.040901388549806,23.395437440490724ZM21.489551388549806,23.394317440490724C22.134311388549804,22.738217440490722,22.556521388549804,21.599937440490724,22.556521388549804,20.073087440490724C22.556521388549804,18.48335744049072,22.099121388549804,17.201147440490722,21.408991388549804,16.477327440490722C21.430471388549805,16.474887440490722,21.451761388549805,16.470847440490722,21.473571388549804,16.470847440490722C22.553511388549804,16.470847440490722,23.428981388549804,17.929047440490724,23.428981388549804,20.07305744049072C23.428971388549805,22.206357440490724,22.562041388549805,23.382607440490723,21.489551388549806,23.394317440490724ZM22.763531388549804,23.39541744049072C22.762031388549804,23.39541744049072,22.760551388549803,23.394967440490724,22.759061388549803,23.394967440490724C23.494811388549806,22.605927440490724,23.989191388549806,21.72491744049072,23.989191388549806,20.073067440490725C23.989191388549806,18.421197440490722,23.494811388549806,17.260327440490723,22.759061388549803,16.471287440490723C22.760551388549803,16.471287440490723,22.762031388549804,16.470837440490723,22.763531388549804,16.470837440490723C23.843491388549804,16.470837440490723,24.718961388549804,17.929037440490724,24.718961388549804,20.073047440490722C24.718951388549804,22.217077440490723,23.843491388549804,23.39541744049072,22.763531388549804,23.39541744049072ZM24.053131388549804,23.39541744049072C24.051751388549803,23.39541744049072,24.050371388549806,23.395067440490724,24.049001388549804,23.394997440490723C24.784781388549803,22.605957440490723,25.279161388549806,21.724947440490723,25.279161388549806,20.073067440490725C25.279161388549806,18.421187440490723,24.784761388549803,17.260297440490724,24.049001388549804,16.471257440490724C24.050371388549806,16.471177440490724,24.051751388549803,16.470837440490723,24.053131388549804,16.470837440490723C25.133091388549804,16.470837440490723,26.008561388549804,17.929037440490724,26.008561388549804,20.073047440490722C26.008551388549805,22.217077440490723,25.133081388549805,23.39541744049072,24.053131388549804,23.39541744049072Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M20.06874792655945,17.823198556900024C19.600503926559448,17.823198556900024,19.22090792655945,18.782141556900026,19.22090792655945,19.965068556900025C19.22090792655945,21.147988556900025,19.600503926559448,22.106948556900026,20.06874792655945,22.106948556900026C20.536977926559448,22.106948556900026,20.91656792655945,21.147998556900024,20.91656792655945,19.965068556900025C20.916577926559448,18.782141556900026,20.536977926559448,17.823198556900024,20.06874792655945,17.823198556900024ZM20.06874792655945,21.325268556900024C19.874301926559447,21.325268556900024,19.71666892655945,20.716128556900024,19.71666892655945,19.964718556900024C19.71666892655945,19.213298556900025,19.874301926559447,18.604182556900025,20.06874792655945,18.604182556900025C20.263177926559447,18.604182556900025,20.420807926559448,19.213298556900025,20.420807926559448,19.964718556900024C20.420807926559448,20.716128556900024,20.263177926559447,21.325268556900024,20.06874792655945,21.325268556900024Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g><g><g transform="matrix(0.8727166652679443,0.4882270395755768,-0.5118661522865295,0.8590652346611023,1.6706943643466552,-5.22468276735304)"><path d="M20.620843278697105,20.7327L26.421413278697106,17.5209L25.936913278697105,16.646L20.136433278697105,19.8578Q19.894233278697104,19.9919,19.652023278697104,19.8578L11.621511278697104,15.4113Q11.363713278697105,15.2685,11.363713278697105,14.9739L11.363713278697105,6.1521Q11.363713278697105,5.85742,11.621511278697104,5.71468L19.652033278697104,1.2681390000000001Q19.894233278697104,1.134031,20.136433278697105,1.26814L28.682513278697105,6.00016L29.166913278697105,5.12532L20.620843278697105,0.393295Q19.894233278697104,-0.009031000000000011,19.167623278697107,0.393296L11.137105278697105,4.83983Q10.363713278697105,5.26806,10.363713278697105,6.1521L10.363713278697105,14.9739Q10.363713278697105,15.8579,11.137105278697105,16.286099999999998L19.167633278697103,20.7327Q19.894233278697104,21.135,20.620843278697105,20.7327Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"></path></g><g><path d="M16.995796251109216,13.647046841430665Q16.995796251109216,13.813656841430664,16.979466251109216,13.979456841430665Q16.963136251109216,14.145256841430664,16.930626251109214,14.308656841430665Q16.898126251109215,14.472056841430664,16.849766251109216,14.631486841430664Q16.801396251109214,14.790916841430665,16.737646251109215,14.944846841430664Q16.673886251109217,15.098766841430663,16.595346251109213,15.245696841430664Q16.516816251109216,15.392626841430664,16.424256251109213,15.531156841430665Q16.331696251109214,15.669676841430665,16.225996251109216,15.798466841430663Q16.120306251109213,15.927256841430664,16.002496251109214,16.045056841430664Q15.884696251109215,16.162866841430663,15.755906251109215,16.268556841430666Q15.627116251109214,16.374256841430665,15.488596251109215,16.466816841430663Q15.350066251109215,16.559376841430662,15.203136251109214,16.637906841430663Q15.056196251109213,16.716446841430663,14.902276251109214,16.780206841430665Q14.748356251109215,16.843956841430664,14.588926251109214,16.892316841430663Q14.429496251109214,16.940686841430665,14.266096251109214,16.973186841430664Q14.102686251109215,17.005686841430663,13.936886251109215,17.022016841430663Q13.771086251109214,17.038346841430666,13.604476251109215,17.038346841430666Q13.437876251109214,17.038346841430666,13.272076251109215,17.022016841430663Q13.106266251109215,17.005686841430663,12.942866251109214,16.973186841430664Q12.779466251109215,16.940686841430665,12.620036251109214,16.892316841430663Q12.460606251109215,16.843956841430664,12.306676251109215,16.780206841430665Q12.152756251109214,16.716446841430663,12.005826251109214,16.637906841430663Q11.858896251109215,16.559376841430662,11.720366251109215,16.466816841430663Q11.581836251109214,16.374256841430665,11.453056251109214,16.268556841430666Q11.324266251109215,16.162866841430663,11.206459251109214,16.045056841430664Q11.088651251109214,15.927256841430664,10.982959251109214,15.798466841430663Q10.877266251109214,15.669676841430665,10.784705251109214,15.531156841430665Q10.692145251109215,15.392626841430664,10.613608251109214,15.245696841430664Q10.535071251109214,15.098766841430663,10.471314251109215,14.944846841430664Q10.407558251109215,14.790916841430665,10.359195251109215,14.631486841430664Q10.310832251109215,14.472056841430664,10.278329351109214,14.308656841430665Q10.245826451109215,14.145256841430664,10.229496351109214,13.979456841430665Q10.213166251109214,13.813656841430664,10.213166251109214,13.647046841430665Q10.213166251109214,13.480446841430664,10.229496351109214,13.314646841430664Q10.245826451109215,13.148836841430665,10.278329351109214,12.985436841430664Q10.310832251109215,12.822036841430664,10.359195251109215,12.662606841430664Q10.407558251109215,12.503176841430664,10.471314251109215,12.349256841430664Q10.535071251109214,12.195326841430663,10.613608251109214,12.048396841430664Q10.692145251109215,11.901466841430665,10.784705251109214,11.762946841430665Q10.877266251109214,11.624416841430664,10.982959251109214,11.495626841430663Q11.088651251109214,11.366846841430664,11.206459251109214,11.249035841430665Q11.324266251109215,11.131228841430664,11.453056251109214,11.025536841430664Q11.581836251109214,10.919844841430663,11.720366251109215,10.827283841430663Q11.858896251109215,10.734723841430664,12.005826251109214,10.656187841430665Q12.152756251109214,10.577650841430664,12.306676251109215,10.513893841430663Q12.460606251109215,10.450137841430664,12.620036251109214,10.401774841430663Q12.779466251109215,10.353412541430664,12.942866251109214,10.320909741430665Q13.106266251109215,10.288406941430663,13.272076251109215,10.272076841430664Q13.437876251109214,10.255746841430664,13.604476251109215,10.255746841430664Q13.771086251109214,10.255746841430664,13.936886251109215,10.272076841430664Q14.102686251109215,10.288406941430663,14.266096251109214,10.320909741430665Q14.429496251109214,10.353412541430664,14.588926251109214,10.401774841430663Q14.748356251109215,10.450137841430664,14.902276251109214,10.513893841430663Q15.056196251109213,10.577650841430664,15.203136251109214,10.656187841430665Q15.350066251109215,10.734723841430664,15.488586251109215,10.827283841430663Q15.627116251109214,10.919844841430663,15.755906251109215,11.025536841430664Q15.884696251109215,11.131228841430664,16.002496251109214,11.249035841430665Q16.120306251109213,11.366846841430664,16.225996251109216,11.495626841430663Q16.331696251109214,11.624416841430664,16.424256251109213,11.762946841430665Q16.516816251109216,11.901466841430665,16.595346251109213,12.048396841430664Q16.673886251109217,12.195326841430663,16.737646251109215,12.349256841430664Q16.801396251109214,12.503176841430664,16.849766251109216,12.662606841430664Q16.898126251109215,12.822036841430664,16.930626251109214,12.985436841430664Q16.963136251109216,13.148836841430665,16.979466251109216,13.314646841430664Q16.995796251109216,13.480446841430664,16.995796251109216,13.647046841430665ZM15.995796251109216,13.647046841430665Q15.995796251109216,13.529566841430665,15.984276251109215,13.412656841430664Q15.972766251109213,13.295746841430663,15.949846251109214,13.180526841430664Q15.926926251109215,13.065306841430663,15.892826251109215,12.952886841430665Q15.858716251109215,12.840466841430665,15.813766251109215,12.731936841430663Q15.768806251109215,12.623406841430665,15.713426251109215,12.519796841430665Q15.658046251109216,12.416186841430664,15.592786251109214,12.318516841430664Q15.527516251109216,12.220836841430664,15.452986251109214,12.130026841430665Q15.378466251109215,12.039206841430664,15.295396251109214,11.956146841430664Q15.212326251109214,11.873076841430663,15.121516251109215,11.798546841430664Q15.030696251109214,11.724016841430664,14.933016251109215,11.658756841430664Q14.835346251109215,11.593486841430664,14.731736251109215,11.538106841430665Q14.628126251109215,11.482726841430663,14.519596251109213,11.437776841430663Q14.411056251109216,11.392816841430664,14.298636251109215,11.358716841430663Q14.186226251109215,11.324616841430664,14.070996251109214,11.301696841430664Q13.955776251109214,11.278776841430664,13.838866251109215,11.267256841430664Q13.721956251109214,11.255746841430664,13.604476251109215,11.255746841430664Q13.487006251109214,11.255746841430664,13.370086251109214,11.267256841430664Q13.253176251109215,11.278776841430664,13.137956251109214,11.301696841430664Q13.022736251109215,11.324616841430664,12.910316251109215,11.358716841430663Q12.797896251109215,11.392816841430664,12.689366251109215,11.437776841430663Q12.580826251109215,11.482726841430663,12.477226251109215,11.538106841430665Q12.373616251109215,11.593486841430664,12.275936251109215,11.658756841430664Q12.178256251109215,11.724016841430664,12.087446251109215,11.798546841430664Q11.996636251109214,11.873076841430663,11.913566251109215,11.956146841430664Q11.830496251109214,12.039206841430664,11.755966251109214,12.130026841430665Q11.681446251109215,12.220836841430664,11.616176251109215,12.318516841430664Q11.550906251109215,12.416186841430664,11.495526251109215,12.519796841430665Q11.440146251109214,12.623406841430665,11.395196251109214,12.731936841430663Q11.350236251109214,12.840466841430665,11.316136251109214,12.952886841430665Q11.282036251109215,13.065306841430663,11.259116251109214,13.180526841430664Q11.236196251109215,13.295746841430663,11.224676251109214,13.412656841430664Q11.213166251109214,13.529566841430665,11.213166251109214,13.647046841430665Q11.213166251109214,13.764526841430664,11.224676251109214,13.881436841430665Q11.236196251109215,13.998346841430664,11.259116251109214,14.113566841430664Q11.282036251109215,14.228786841430665,11.316136251109214,14.341206841430665Q11.350236251109214,14.453626841430664,11.395196251109214,14.562156841430664Q11.440146251109214,14.670696841430665,11.495526251109215,14.774296841430665Q11.550906251109215,14.877906841430665,11.616176251109215,14.975586841430664Q11.681446251109215,15.073266841430664,11.755966251109214,15.164076841430663Q11.830496251109214,15.254886841430665,11.913566251109215,15.337956841430664Q11.996636251109214,15.421026841430663,12.087446251109215,15.495546841430663Q12.178256251109215,15.570076841430664,12.275936251109215,15.635346841430664Q12.373616251109215,15.700606841430664,12.477226251109215,15.755986841430664Q12.580826251109215,15.811366841430665,12.689366251109215,15.856326841430665Q12.797896251109215,15.901276841430665,12.910316251109215,15.935376841430664Q13.022736251109215,15.969486841430664,13.137956251109214,15.992396841430665Q13.253176251109215,16.015316841430664,13.370086251109214,16.026836841430665Q13.487006251109214,16.038346841430666,13.604476251109215,16.038346841430666Q13.721956251109214,16.038346841430666,13.838866251109215,16.026836841430665Q13.955776251109214,16.015316841430664,14.070996251109214,15.992396841430665Q14.186216251109215,15.969486841430664,14.298636251109215,15.935376841430664Q14.411056251109216,15.901276841430665,14.519596251109213,15.856326841430665Q14.628126251109215,15.811366841430665,14.731736251109215,15.755986841430664Q14.835346251109215,15.700606841430664,14.933016251109215,15.635346841430664Q15.030696251109214,15.570076841430664,15.121516251109215,15.495546841430663Q15.212326251109214,15.421026841430663,15.295396251109214,15.337956841430664Q15.378466251109215,15.254886841430665,15.452986251109214,15.164076841430663Q15.527516251109216,15.073266841430664,15.592786251109214,14.975586841430664Q15.658046251109216,14.877906841430665,15.713426251109215,14.774296841430665Q15.768806251109215,14.670696841430665,15.813766251109215,14.562156841430664Q15.858716251109215,14.453626841430664,15.892826251109215,14.341206841430665Q15.926926251109215,14.228786841430665,15.949846251109214,14.113566841430664Q15.972766251109213,13.998346841430664,15.984276251109215,13.881436841430665Q15.995796251109216,13.764526841430664,15.995796251109216,13.647046841430665Z" fill="#FFFFFF" fill-opacity="1"></path></g></g></g>',1)])])}const W6={render:Jce},Zce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"18",height:"18",viewBox:"0 0 18 18"};function Yce(e,t){return ne(),Te("svg",Zce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M1.77459,0.253311L1.83366,0.306773L9.13202,7.50084L16.1619,0.571965C16.5698,0.166017,17.2309,0.152343,17.6557,0.541066C18.0806,0.929788,18.1158,1.58065,17.7354,2.01173L17.6817,2.06996L10.6508,8.99778L17.6811,15.9267C18.0935,16.3285,18.1077,16.9804,17.7134,17.3994C17.319,17.8184,16.6584,17.8532,16.2209,17.4781L16.1619,17.4241L9.13202,10.4952L1.83367,17.6898C1.42526,18.0925,0.766897,18.1046,0.343477,17.7173C-0.0799417,17.3301,-0.116759,16.6821,0.260143,16.2506L0.314383,16.1924L7.61327,8.99778L0.31492,1.80424C-0.0906336,1.40129,-0.101624,0.7548,0.290005,0.338687C0.681635,-0.0774256,1.33652,-0.115087,1.77459,0.253311Z",fill:"#FFFFFF","fill-opacity":"0.800000011920929",style:{"mix-blend-mode":"passthrough"}})],-1)])])}const Wd={render:Yce},Xce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"33",height:"1",viewBox:"0 0 33 1"};function Qce(e,t){return ne(),Te("svg",Xce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M32.5,1L0.5,1L0.5,0L32.5,0L32.5,1Z","fill-rule":"evenodd",fill:"#565656","fill-opacity":"1"})],-1)])])}const rV={render:Qce},Kce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"220.60000002384186",height:"0.6000000238418579",viewBox:"0 0 220.60000002384186 0.6000000238418579"};function qce(e,t){return ne(),Te("svg",Kce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M220.30000001192093,0.600000011920929L0.30000001192092896,0.600000011920929L0.30000001192092896,1.1920928966180355e-8L220.30000001192093,1.1920928966180355e-8L220.30000001192093,0.600000011920929Z","fill-rule":"evenodd",fill:"#AEAEAE","fill-opacity":"0.800000011920929"})],-1)])])}const J3={render:qce},$ce={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"13.75",viewBox:"0 0 20 13.75"};function ele(e,t){return ne(),Te("svg",$ce,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M9.98959,0C5.61915,0,1.41519,2.85742,0,6.875C1.41519,10.8926,5.61915,13.75,9.98959,13.75C14.3392,13.75,18.5848,10.8926,20,6.875C18.564,2.85742,14.3392,0,9.98959,0ZM9.98959,11.1719C7.70031,11.1719,5.82726,9.23828,5.82726,6.875C5.82726,4.51172,7.70031,2.57812,9.98959,2.57812C12.2789,2.57812,14.1519,4.51172,14.1519,6.875C14.1519,9.23828,12.2789,11.1719,9.98959,11.1719ZM12.487,6.875C12.487,8.29297,11.3632,9.45312,9.98959,9.45312C8.61603,9.45312,7.4922,8.29297,7.4922,6.875C7.4922,5.45703,8.61603,4.29688,9.98959,4.29688C11.3632,4.29688,12.487,5.45703,12.487,6.875Z",fill:"#FFFFFF","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})],-1)])])}const tle={render:ele},nle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"15.832032203674316",height:"15.828125",viewBox:"0 0 15.832032203674316 15.828125"};function rle(e,t){return ne(),Te("svg",nle,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M15.209,5.61914C14.8652,5.61914,14.5898,5.89844,14.5898,6.23828L14.5898,13.6582C14.5898,14.1719,14.1719,14.5898,13.6582,14.5898L2.16992,14.5898C1.65625,14.5898,1.23828,14.1719,1.23828,13.6582L1.23828,2.16992C1.23828,1.65625,1.65625,1.23828,2.16992,1.23828L9.58984,1.23828C9.93359,1.23828,10.209,0.958984,10.209,0.619141C10.209,0.275391,9.92969,0,9.58984,0L2.16992,0C0.974609,0,0,0.974609,0,2.16992L0,13.6562C0,14.8535,0.974609,15.8281,2.16992,15.8281L13.6582,15.8281C14.8555,15.8281,15.8281,14.8535,15.8281,13.6582L15.8281,6.24023C15.8301,5.89648,15.5508,5.61914,15.209,5.61914ZM7.47656,8.35352C7.59766,8.47461,7.75781,8.53516,7.91602,8.53516C8.07422,8.53516,8.23242,8.47461,8.35547,8.35352L15.6504,1.05859C15.8926,0.816406,15.8926,0.423828,15.6504,0.181641C15.4082,-0.0605469,15.0156,-0.0605469,14.7734,0.181641L7.47656,7.47656C7.23242,7.71875,7.23242,8.11133,7.47656,8.35352Z",fill:"#FFFFFF","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})],-1)])])}const BO={render:rle},ile={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"30.63916015625",height:"52.4542236328125",viewBox:"0 0 30.63916015625 52.4542236328125"};function ole(e,t){return ne(),Te("svg",ile,[...t[0]||(t[0]=[bi('<g><g><g><g><g><g><g><path d="M0.0000234623,46.14963862640381C-0.00236228,46.60569862640381,0.178944,47.04198862640381,0.50003,47.35283862640381L4.01183,50.697068626403805C4.3055,50.972568626403806,4.68762,51.124268626403804,5.08328,51.12226862640381L6.97542,51.12226862640381L7.00546,51.12226862640381L7.0355,51.12226862640381L7.06554,51.12226862640381L7.09558,51.12226862640381L7.12561,51.12226862640381L7.15565,51.12226862640381L7.18569,51.12226862640381L7.21573,51.12226862640381L7.24576,51.12226862640381L7.2758,51.12226862640381L7.30584,51.12226862640381L7.33588,51.12226862640381L7.36592,51.12226862640381L7.39596,51.12226862640381L7.42599,51.12226862640381L7.45603,51.12226862640381L7.48607,51.12226862640381L7.48607,47.97196862640381C7.48606,47.09256862640381,8.17197,46.37970862640381,9.01801,46.37985862640381L16.4224,46.37985862640381C17.2685,46.37985862640381,17.9544,47.09271862640381,17.9543,47.97196862640381L17.9543,51.12226862640381L17.9843,51.12226862640381L18.0144,51.12226862640381L18.0444,51.12226862640381L18.0744,51.12226862640381L18.1045,51.12226862640381L18.1345,51.12226862640381L18.1646,51.12226862640381L18.1946,51.12226862640381L18.2246,51.12226862640381L18.2547,51.12226862640381L18.2847,51.12226862640381L18.3148,51.12226862640381L18.3448,51.12226862640381L18.3748,51.12226862640381L18.4049,51.12226862640381L18.4349,51.12226862640381L18.465,51.12226862640381L25.5554,51.12226862640381C25.9511,51.124268626403804,26.3332,50.972568626403806,26.6269,50.697068626403805L30.1386,47.35283862640381C30.4597,47.04198862640381,30.641,46.60568862640381,30.6387,46.14963862640381L30.6387,39.97756862640381L0.0000234623,39.97756862640381L0.0000234623,46.14963862640381Z" fill="#A3A3A3" fill-opacity="1"></path></g></g><g><g><g><path d="M0.00034046173095703125,39.977592655944825L30.639040461730957,39.977592655944825L30.639040461730957,7.398912655944825C30.639040461730957,6.930952655944824,30.327240461730955,6.503162655944824,29.83364046173096,6.293872655944824L27.257840461730957,5.2017516559448245C27.071140461730955,5.122615655944824,26.876040461730955,5.058512655944824,26.675340461730958,5.010285655944824C26.670640461730958,5.009158655944824,26.66594046173096,5.008036655944824,26.661140461730955,5.006920655944824C26.656440461730956,5.005803655944824,26.651740461730956,5.004689655944825,26.646940461730956,5.003583655944825C26.642140461730957,5.002473355944824,26.637340461730957,5.001371955944824,26.632540461730958,5.000275455944824C26.62774046173096,4.999176555944824,26.622940461730956,4.998087455944824,26.618040461730956,4.997002655944824C26.613240461730957,4.995915355944824,26.608340461730958,4.994835455944824,26.603540461730958,4.993764855944824C26.598640461730955,4.992692355944825,26.593640461730956,4.9916265559448245,26.588740461730957,4.990565155944824C26.583840461730958,4.9895086559448245,26.57894046173096,4.988454555944824,26.574040461730956,4.987412855944824C26.569040461730957,4.9863680559448245,26.564140461730958,4.985330555944824,26.55924046173096,4.984305355944824C26.554340461730956,4.983274755944824,26.549240461730957,4.982256355944824,26.544340461730958,4.981244755944824C26.53934046173096,4.980231255944824,26.534340461730956,4.979228855944824,26.529340461730957,4.978234455944825C26.524440461730958,4.977239455944824,26.519340461730955,4.976256055944824,26.514340461730956,4.975277655944824C26.509340461730957,4.974301755944825,26.50434046173096,4.973334955944824,26.499240461730956,4.972378055944824C26.494340461730957,4.971421255944824,26.489340461730958,4.9704735559448245,26.484240461730955,4.969535155944825C26.479340461730956,4.968599155944824,26.474340461730957,4.967670555944824,26.46924046173096,4.9667511559448245C26.464240461730956,4.965836655944824,26.459140461730957,4.964929655944824,26.454240461730958,4.9640311559448245C26.449140461730956,4.963135755944824,26.444140461730957,4.962249555944824,26.439040461730958,4.961372655944825C26.43414046173096,4.9604981559448245,26.429140461730956,4.959635955944824,26.424040461730957,4.958780555944824C26.207640461730957,4.921883755944824,25.98754046173096,4.903292655944824,25.766840461730958,4.903292655944824L4.872520461730957,4.903292655944824C4.651800461730957,4.903292655944824,4.431640461730957,4.921881255944824,4.215250461730957,4.958780555944824C4.210220461730957,4.959635955944824,4.205210461730957,4.9604981559448245,4.200210461730957,4.961372655944825C4.195190461730957,4.962249555944824,4.190180461730957,4.963135755944824,4.185150461730957,4.9640311559448245C4.180130461730957,4.964929655944824,4.175120461730957,4.965836655944824,4.170090461730957,4.9667511559448245C4.165080461730957,4.967670555944824,4.160050461730957,4.968599155944824,4.155050461730957,4.969535155944825C4.150020461730957,4.9704735559448245,4.145010461730957,4.971421255944824,4.140000461730957,4.972378055944824C4.134980461730957,4.973334955944824,4.129980461730957,4.974301755944825,4.124970461730957,4.975277655944824C4.119970461730957,4.976256055944824,4.114970461730957,4.977239455944824,4.109990461730957,4.978234455944825C4.104990461730957,4.979228855944824,4.100010461730957,4.980231255944824,4.095030461730957,4.981244755944824C4.090060461730957,4.982256355944824,4.085090461730957,4.983274755944824,4.080140461730957,4.984305355944824C4.075180461730957,4.985330555944824,4.070240461730957,4.9863680559448245,4.065300461730957,4.987412855944824C4.060370461730957,4.988454555944824,4.055450461730957,4.9895086559448245,4.050540461730957,4.990565155944824C4.045630461730957,4.9916265559448245,4.040740461730957,4.992692355944825,4.035860461730957,4.993764855944824C4.030980461730957,4.994835455944824,4.026120461730957,4.995915355944824,4.021280461730957,4.997002655944824C4.016420461730957,4.998087455944824,4.0115904617309575,4.999176555944824,4.006780461730957,5.000275455944824C4.001970461730957,5.001371955944824,3.997180461730957,5.002473355944824,3.992400461730957,5.003583655944825C3.987630461730957,5.004689655944825,3.982890461730957,5.005803655944824,3.978150461730957,5.006920655944824C3.973410461730957,5.008036655944824,3.968710461730957,5.009158655944824,3.964010461730957,5.010285655944824C3.763230461730957,5.058509655944825,3.568230461730957,5.122612655944824,3.381560461730957,5.201754655944824L0.805724461730957,6.293872655944824C0.312133461730957,6.503152655944824,0.00034663602095703124,6.930952655944824,0.00034046173095703125,7.398912655944825L0.00034046173095703125,39.977592655944825Z" fill="#D3D3D3" fill-opacity="1"></path></g></g></g><g><g><g><path d="M4.215826034545898,5.055912837386131L26.422326034545897,5.055912837386131L26.422326034545897,42.89511283738613C26.422326034545897,43.60741283738613,25.842626034545898,44.18481283738613,25.127526034545898,44.18481283738613L5.510666034545898,44.18481283738613C4.7955460345458985,44.18481283738613,4.215826034545898,43.60741283738613,4.215826034545898,42.89511283738613L4.215826034545898,5.055912837386131Z" fill="#E1E1E1" fill-opacity="1"></path></g></g><g><g><path d="M7.170949459075928,15.754884952406883C7.170954398505928,11.077874952406884,10.819119459075928,7.286404952406883,15.319369459075928,7.286404952406883C19.819649459075926,7.286404952406883,23.46784945907593,11.077874952406884,23.46784945907593,15.754884952406883L23.46784945907593,29.126104952406884C23.46784945907593,33.80310495240688,19.819649459075926,37.594704952406886,15.319369459075928,37.594704952406886C10.819119459075928,37.594704952406886,7.170954398505928,33.80310495240688,7.170949459075928,29.126104952406884L7.170949459075928,15.754884952406883Z" fill="#F7F7F7" fill-opacity="1"></path></g></g><g><g><ellipse cx="15.31957721710205" cy="29.118284091353416" rx="7.149111747741699" ry="7.102231025695801" fill="#CACACA" fill-opacity="1"></ellipse></g></g><g><g><ellipse cx="15.319482326507568" cy="29.118385657668114" rx="6.127810001373291" ry="6.087626934051514" fill="#D26DF9" fill-opacity="1"></ellipse></g></g></g></g></g><g transform="matrix(-1,0,0,-1,29.08842658996582,104.90850639343262)"><g><path d="M14.54421329498291,54.451693196716306L18.18800329498291,54.451693196716306Q17.25200329498291,52.45425319671631,16.34106329498291,52.45425319671631Q15.43011229498291,52.45425319671631,14.54421329498291,54.451693196716306Z" fill="#727272" fill-opacity="1"></path></g></g></g><g><g><path d="M9.48497486114502,46.347723960876465L15.959184861145019,46.347723960876465L15.959184861145019,49.695323960876465C15.959184861145019,50.122683960876465,15.61135486114502,50.469123960876466,15.18228486114502,50.469123960876466L10.26188086114502,50.469123960876466C9.83280686114502,50.469123960876466,9.48497486114502,50.122683960876465,9.48497486114502,49.695323960876465L9.48497486114502,46.347723960876465Z" fill="#8F8F8F" fill-opacity="1"></path></g></g><g><g><path d="M4.215826034545898,39.97756862640381L26.4229260345459,39.97756862640381L26.4229260345459,42.89508862640381C26.4229260345459,43.60735862640381,25.8431260345459,44.18476862640381,25.128026034545897,44.18476862640381L5.510666034545898,44.18476862640381C4.7955460345458985,44.18476862640381,4.215826034545898,43.60735862640381,4.215826034545898,42.89508862640381L4.215826034545898,39.97756862640381Z" fill="#B8B8B8" fill-opacity="1"></path></g></g></g><g><path d="M13.481176376342773 0.4000000059604645C13.481176376342773 0.17908610273627346 13.660262479079046 0 13.881176382303238 0L17.983422368764877 0C18.204336271989067 0 18.383422374725342 0.1790861027362735 18.383422374725342 0.4000000059604645L18.383422374725342 4.903225898742676C18.383422374725342 4.903225898742676 18.383422374725342 4.903225898742676 18.383422374725342 4.903225898742676L13.481176376342773 4.903225898742676C13.481176376342773 4.903225898742676 13.481176376342773 4.903225898742676 13.481176376342773 4.903225898742676Z" fill="#D8D8D8" fill-opacity="1"></path></g></g>',1)])])}const sle={render:ole},ale={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"190",height:"46",viewBox:"0 0 190 46"};function cle(e,t){return ne(),Te("svg",ale,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M187.99998,6.000001L187.99998,45Q187.99997,45.098488,188.0192,45.195084Q188.03841,45.291679,188.0761,45.382675Q188.11377,45.473667,188.16849,45.555557Q188.22321,45.637455,188.29286,45.707104Q188.3625,45.776749,188.4444,45.831467Q188.52628,45.886185,188.61728,45.923874Q188.70828,45.961567,188.80487,45.980782Q188.90149,46,188.99998,46Q189.09848,46,189.19507,45.980785Q189.29166,45.961567,189.38264,45.923874Q189.47363,45.886185,189.55554,45.831463Q189.63745,45.776741,189.70709,45.7071Q189.77673,45.637451,189.83142,45.555557Q189.88614,45.473667,189.92384,45.382675Q189.96153,45.291679,189.98074,45.195084Q189.99997,45.098488,189.99998,45L189.99998,6.000001Q189.99998,3.5147071,188.24265,1.7573599199999999Q186.48528,-1.0000000005838672e-7,183.99998,-4.0000000001150227e-7L6.0000048,0Q3.5147207,0,1.7573604600000001,1.75735939Q4.799999999693938e-7,3.5147185,6.000000000172534e-7,6.000001L0,25.508352Q5.999999996841865e-8,25.606842,0.019214810000000027,25.703442Q0.038429559999999974,25.800039,0.07612061999999997,25.891033Q0.11381160999999995,25.982027,0.16853046000000005,26.063919Q0.22324938000000005,26.145813,0.29289329,26.215456Q0.36253726,26.285099,0.44442981000000004,26.339817Q0.5263224200000001,26.394535,0.6173166,26.432226Q0.7083107799999999,26.469917,0.80490969,26.489132Q0.9015086,26.508348,1,26.50835Q1.0984914,26.508348,1.1950903099999999,26.489134Q1.29168922,26.469917,1.3826834,26.432228Q1.47367758,26.394535,1.55557013,26.339817Q1.6374627400000001,26.285099,1.7071067100000001,26.215456Q1.77675062,26.145813,1.83146948,26.063919Q1.88618839,25.982025,1.9238794399999999,25.891031Q1.9615705,25.800037,1.98078519,25.703438Q1.99999994,25.60684,2,25.50835L2.0000007,6.000001Q2.0000005,4.3431461,3.1715736,3.1715732Q4.3431473,2,6.0000048,2L183.99998,1.9999997Q185.65685,1.9999997,186.82841,3.1715724Q187.99998,4.343143899999999,187.99998,6.000001Z","fill-rule":"evenodd",fill:"#D26DF9","fill-opacity":"1"})],-1)])])}const lle={render:cle},ule={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"22.834545135498047",height:"95.16129302978516",viewBox:"0 0 22.834545135498047 95.16129302978516"};function dle(e,t){return ne(),Te("svg",ule,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M20.8345,1Q20.8345,0.9015086,20.8538,0.80491Q20.873,0.708311,20.9107,0.617317Q20.9484,0.526322,21.0031,0.44443Q21.0578,0.362537,21.1274,0.29289299999999996Q21.1971,0.22324900000000003,21.279,0.16852999999999996Q21.3609,0.11381200000000002,21.4519,0.076121Q21.5429,0.038429999999999964,21.6395,0.019214999999999982Q21.7361,0,21.8345,0Q21.933,0,22.0296,0.019214999999999982Q22.1262,0.038429999999999964,22.2172,0.076121Q22.3082,0.11381200000000002,22.3901,0.16852999999999996Q22.472,0.22324900000000003,22.5417,0.29289299999999996Q22.6113,0.362537,22.666,0.44443Q22.7207,0.526322,22.7584,0.617317Q22.7961,0.708311,22.8153,0.80491Q22.8345,0.9015086,22.8345,1L22.8345,37.404Q22.8345,73.6032,1.709401,94.8661Q1.56861,95.0078,1.384183,95.0845Q1.199756,95.1613,1,95.1613Q0.9015086,95.1613,0.80491,95.1421Q0.708311,95.1229,0.617317,95.0852Q0.526322,95.0475,0.44443,94.9928Q0.362537,94.938,0.29289299999999996,94.8684Q0.22324900000000003,94.7987,0.16852999999999996,94.7169Q0.11381200000000002,94.635,0.076121,94.544Q0.038429999999999964,94.453,0.019214999999999982,94.3564Q0,94.2598,0,94.1613Q0,93.9632,0.07549799999999995,93.7801Q0.150995,93.597,0.29059100000000004,93.4565Q0.293172,93.4539,0.29574500000000004,93.4513Q20.8346,72.7741,20.8345,37.404L20.8345,1Z","fill-rule":"evenodd",fill:"#D26DF9","fill-opacity":"1"})],-1)])])}const fle={render:dle},hle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"28.962352752685547",height:"186.48387145996094",viewBox:"0 0 28.962352752685547 186.48387145996094"};function ple(e,t){return ne(),Te("svg",hle,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M26.9624,1Q26.9624,0.9015086,26.9816,0.80491Q27.0008,0.708311,27.0385,0.617317Q27.0762,0.526322,27.1309,0.44443Q27.1856,0.362537,27.2552,0.29289299999999996Q27.3249,0.22324900000000003,27.4068,0.16852999999999996Q27.4887,0.11381200000000002,27.5797,0.076121Q27.6707,0.038429999999999964,27.7673,0.019214999999999982Q27.8639,0,27.9624,0Q28.0608,0,28.1574,0.019214999999999982Q28.254,0.038429999999999964,28.345,0.076121Q28.436,0.11381200000000002,28.5179,0.16852999999999996Q28.5998,0.22324900000000003,28.6695,0.29289299999999996Q28.7391,0.362537,28.7938,0.44443Q28.8485,0.526322,28.8862,0.617317Q28.9239,0.708311,28.9431,0.80491Q28.9624,0.9015086,28.9624,1L28.9624,75.7239Q28.9624,149.512,1.8028,186.08Q1.733022,186.174,1.643438,186.249Q1.5538539999999998,186.325,1.449305,186.377Q1.344756,186.43,1.230891,186.457Q1.117027,186.484,1,186.484Q0.9015086,186.484,0.80491,186.465Q0.708311,186.445,0.617317,186.408Q0.526322,186.37,0.44443,186.315Q0.362537,186.261,0.29289299999999996,186.191Q0.22324900000000003,186.121,0.16852999999999996,186.039Q0.11381200000000002,185.958,0.076121,185.867Q0.038429999999999964,185.776,0.019214999999999982,185.679Q0,185.582,0,185.484Q0,185.323,0.05057999999999996,185.17Q0.101159,185.017,0.197202,184.888Q26.9624,148.851,26.9624,75.7239L26.9624,1Z","fill-rule":"evenodd",fill:"#D8D8D8","fill-opacity":"1"})],-1)])])}const mle={render:ple},gle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"28.962352752685547",height:"186.48387145996094",viewBox:"0 0 28.962352752685547 186.48387145996094"};function vle(e,t){return ne(),Te("svg",gle,[...t[0]||(t[0]=[G("g",{transform:"matrix(-1,0,0,1,55.924705505371094,0)"},[G("path",{d:"M53.92475275268555,1Q53.92475275268555,0.9015086,53.94395275268555,0.80491Q53.963152752685545,0.708311,54.000852752685546,0.617317Q54.03855275268555,0.526322,54.093252752685544,0.44443Q54.14795275268555,0.362537,54.21755275268555,0.29289299999999996Q54.287252752685546,0.22324900000000003,54.36915275268555,0.16852999999999996Q54.45105275268555,0.11381200000000002,54.54205275268555,0.076121Q54.63305275268554,0.038429999999999964,54.729652752685546,0.019214999999999982Q54.82625275268555,0,54.92475275268555,0Q55.02315275268555,0,55.11975275268554,0.019214999999999982Q55.21635275268555,0.038429999999999964,55.307352752685546,0.076121Q55.39835275268555,0.11381200000000002,55.480252752685544,0.16852999999999996Q55.56215275268555,0.22324900000000003,55.631852752685546,0.29289299999999996Q55.70145275268555,0.362537,55.75615275268555,0.44443Q55.81085275268555,0.526322,55.84855275268555,0.617317Q55.88625275268555,0.708311,55.90545275268555,0.80491Q55.92475275268555,0.9015086,55.92475275268555,1L55.92475275268555,75.7239Q55.92475275268555,149.512,28.765152752685548,186.08Q28.695374752685545,186.174,28.605790752685547,186.249Q28.516206752685548,186.325,28.411657752685546,186.377Q28.307108752685547,186.43,28.193243752685547,186.457Q28.079379752685547,186.484,27.962352752685547,186.484Q27.863861352685547,186.484,27.767262752685546,186.465Q27.670663752685545,186.445,27.579669752685547,186.408Q27.488674752685547,186.37,27.406782752685547,186.315Q27.324889752685547,186.261,27.255245752685546,186.191Q27.185601752685546,186.121,27.130882752685547,186.039Q27.076164752685546,185.958,27.038473752685547,185.867Q27.000782752685545,185.776,26.981567752685546,185.679Q26.962352752685547,185.582,26.962352752685547,185.484Q26.962352752685547,185.323,27.012932752685547,185.17Q27.063511752685546,185.017,27.159554752685548,184.888Q53.92475275268555,148.851,53.92475275268555,75.7239L53.92475275268555,1Z","fill-rule":"evenodd",fill:"#D8D8D8","fill-opacity":"1"})],-1)])])}const yle={render:vle},Ele={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"22.834545135498047",height:"95.16129302978516",viewBox:"0 0 22.834545135498047 95.16129302978516"};function ble(e,t){return ne(),Te("svg",Ele,[...t[0]||(t[0]=[G("g",{transform:"matrix(-1,0,0,1,43.669090270996094,0)"},[G("path",{d:"M41.669045135498045,1Q41.669045135498045,0.9015086,41.68834513549805,0.80491Q41.70754513549805,0.708311,41.745245135498045,0.617317Q41.782945135498046,0.526322,41.83764513549805,0.44443Q41.89234513549805,0.362537,41.96194513549805,0.29289299999999996Q42.031645135498046,0.22324900000000003,42.11354513549804,0.16852999999999996Q42.19544513549805,0.11381200000000002,42.28644513549804,0.076121Q42.37744513549805,0.038429999999999964,42.474045135498045,0.019214999999999982Q42.57064513549805,0,42.669045135498045,0Q42.76754513549805,0,42.86414513549805,0.019214999999999982Q42.960745135498044,0.038429999999999964,43.051745135498045,0.076121Q43.142745135498046,0.11381200000000002,43.22464513549805,0.16852999999999996Q43.30654513549805,0.22324900000000003,43.376245135498046,0.29289299999999996Q43.44584513549805,0.362537,43.500545135498044,0.44443Q43.55524513549805,0.526322,43.59294513549805,0.617317Q43.63064513549804,0.708311,43.64984513549805,0.80491Q43.669045135498045,0.9015086,43.669045135498045,1L43.669045135498045,37.404Q43.669045135498045,73.6032,22.543946135498047,94.8661Q22.403155135498046,95.0078,22.218728135498047,95.0845Q22.034301135498048,95.1613,21.834545135498047,95.1613Q21.736053735498047,95.1613,21.639455135498046,95.1421Q21.542856135498045,95.1229,21.451862135498047,95.0852Q21.360867135498047,95.0475,21.278975135498047,94.9928Q21.197082135498047,94.938,21.127438135498046,94.8684Q21.057794135498046,94.7987,21.003075135498047,94.7169Q20.948357135498046,94.635,20.910666135498047,94.544Q20.872975135498045,94.453,20.853760135498046,94.3564Q20.834545135498047,94.2598,20.834545135498047,94.1613Q20.834545135498047,93.9632,20.910043135498046,93.7801Q20.98554013549805,93.597,21.125136135498046,93.4565Q21.127717135498045,93.4539,21.130290135498047,93.4513Q41.66914513549804,72.7741,41.669045135498045,37.404L41.669045135498045,1Z","fill-rule":"evenodd",fill:"#D8D8D8","fill-opacity":"1"})],-1)])])}const Sle={render:ble},Ale={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"17.460956573486328",height:"17.460956573486328",viewBox:"0 0 17.460956573486328 17.460956573486328"};function Cle(e,t){return ne(),Te("svg",Ale,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M16.3341,13.0226L16.7019,12.9445C17.0178,12.8772,17.3285,13.0788,17.3957,13.3947C17.463,13.7106,17.2615,14.0212,16.9456,14.0885L15.6107,14.3717C15.084,14.4834,14.5664,14.1473,14.4542,13.6207L14.1699,12.2861C14.1039,11.9705,14.3056,11.661,14.621,11.5941C14.9363,11.5272,15.2464,11.7282,15.3141,12.0434L15.376,12.334C15.977,11.2281,16.2909,9.98912,16.2891,8.73048C16.2891,4.55599,12.905,1.17188,8.73048,1.17188C7.27718,1.16976,5.85439,1.58866,4.63411,2.37796C4.62239,2.38692,4.61079,2.39593,4.59827,2.40411C4.32774,2.58138,3.96474,2.50577,3.78747,2.23524C3.61021,1.96472,3.68581,1.60171,3.95634,1.42444C3.95829,1.42319,3.96024,1.42224,3.9622,1.42101L3.96024,1.41796C5.37806,0.490326,7.03616,-0.00254231,8.73048,0.00000944138C13.5522,0.00000944138,17.4609,3.90878,17.4609,8.73048C17.4632,10.2346,17.0749,11.7136,16.3341,13.0226ZM5.41017,8.73048C5.41017,6.89672,6.89672,5.41017,8.73048,5.41017C10.5642,5.41017,12.0508,6.89672,12.0508,8.73048C12.0508,10.5642,10.5642,12.0508,8.73048,12.0508C6.89672,12.0508,5.41017,10.5642,5.41017,8.73048ZM10.8789,8.73048C10.8789,7.54393,9.91703,6.58204,8.73048,6.58204C7.54393,6.58204,6.58204,7.54393,6.58204,8.73048C6.58204,9.91703,7.54393,10.8789,8.73048,10.8789C9.91703,10.8789,10.8789,9.91703,10.8789,8.73048ZM8.73048,16.2891C10.1974,16.2913,11.6329,15.8646,12.8604,15.0615L12.8654,15.0691C12.8711,15.0651,12.8764,15.0607,12.8822,15.0568C13.1682,14.8666,13.5558,14.9622,13.7205,15.2636C13.8852,15.565,13.7564,15.9428,13.4418,16.0808C12.0367,16.9842,10.4009,17.4634,8.73048,17.4609C3.90878,17.4609,0.00000963211,13.5522,0.00000963211,8.73048C-0.0022295,7.22519,0.386637,5.74514,1.12851,4.43536L0.763154,4.51296C0.450083,4.57462,0.145484,4.37357,0.0791036,4.06147C0.0127231,3.74937,0.20914,3.44176,0.520205,3.37067L1.85134,3.0879C2.37689,2.97662,2.89318,3.31237,3.0046,3.8379L3.28804,5.1706C3.3566,5.48637,3.15536,5.7977,2.83928,5.86485C2.5232,5.93199,2.21277,5.72934,2.14706,5.41296L2.08595,5.1253C1.48432,6.23158,1.17003,7.47119,1.17188,8.73048C1.17188,12.905,4.55599,16.2891,8.73048,16.2891Z",fill:"#0C88E0","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})],-1)])])}const Z3={render:Cle},wle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"32",height:"32",viewBox:"0 0 32 32"};function Tle(e,t){return ne(),Te("svg",wle,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_565_24414"><rect x="0" y="0" width="32" height="32" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_565_24414)"><g><ellipse cx="16" cy="16" rx="15" ry="15" fill="#0C88E0" fill-opacity="1"></ellipse></g><g><path d="M13,22.579226L19.8974605,22.579226L19.8974605,21.274968L17.375254599999998,21.274968L17.375254599999998,10L16.1742046,10C15.48789,10.39470914,14.6814705,10.68645096,13.56620944,10.89238673L13.56620944,11.8877419L15.8138893,11.8877419L15.8138893,21.274968L13,21.274968L13,22.579226Z" fill="#FFFFFF" fill-opacity="1"></path></g></g>',2)])])}const Ile={render:Tle},Ple={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"32",height:"32",viewBox:"0 0 32 32"};function Ole(e,t){return ne(),Te("svg",Ple,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_565_24419"><rect x="0" y="0" width="32" height="32" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_565_24419)"><g><ellipse cx="16" cy="16" rx="15" ry="15" fill="#3C3C3C" fill-opacity="1"></ellipse></g><g><path d="M12.06863144,22.802323L19.9784055,22.802323L19.9784055,21.446581000000002L16.4953599,21.446581000000002C15.8605189,21.446581000000002,15.0884151,21.515226,14.4364164,21.56671C17.387569,18.7694197,19.3778806,16.2123871,19.3778806,13.6896777C19.3778806,11.4587092,17.9537783,10,15.7060981,10C14.1104171,10,13.0123138,10.72077459,12,11.8362583L12.90936667,12.7286451C13.6128389,11.8877419,14.48789,11.2699358,15.517361600000001,11.2699358C17.0787268,11.2699358,17.833673,12.3167746,17.833673,13.7583227C17.833673,15.9206452,16.0149398,18.426194199999998,12.06863144,21.875613L12.06863144,22.802323Z" fill="#FFFFFF" fill-opacity="1"></path></g></g>',2)])])}const _le={render:Ole},Rle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"32",height:"32",viewBox:"0 0 32 32"};function kle(e,t){return ne(),Te("svg",Rle,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_565_24422"><rect x="0" y="0" width="32" height="32" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_565_24422)"><g><ellipse cx="16" cy="16" rx="15" ry="15" fill="#3C3C3C" fill-opacity="1"></ellipse></g><g><path d="M16.0149393,23.02542C18.2626195,23.02542,20.0641947,21.686839,20.0641947,19.4387093C20.0641947,17.70542,18.880302,16.6070967,17.404726,16.246709799999998L17.404726,16.1609035C18.7430391,15.697548900000001,19.6352482,14.667871,19.6352482,13.140516C19.6352482,11.1498061,18.091041099999998,10,15.9634662,10C14.5222056,10,13.4069446,10.63496733,12.46326226,11.4930328L13.3039974,12.4883869C14.0246277,11.7676134,14.899678699999999,11.2699358,15.9119923,11.2699358C17.2331476,11.2699358,18.039566999999998,12.0593553,18.039566999999998,13.260645199999999C18.039566999999998,14.6163874,17.1645164,15.6632257,14.5565212,15.6632257L14.5565212,16.8645163C17.4733577,16.8645163,18.4685135,17.8598714,18.4685135,19.3872261C18.4685135,20.828775,17.4218836,21.721162,15.9119923,21.721162C14.48789,21.721162,13.5442075,21.03471,12.80641943,20.279612999999998L12,21.29213C12.8235774,22.201678,14.0589433,23.02542,16.0149393,23.02542Z" fill="#FFFFFF" fill-opacity="1"></path></g></g>',2)])])}const xle={render:kle},Dle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"32",height:"32",viewBox:"0 0 32 32"};function Lle(e,t){return ne(),Te("svg",Dle,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_565_24425"><rect x="0" y="0" width="32" height="32" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_565_24425)"><g><ellipse cx="16" cy="16" rx="15" ry="15" fill="#3C3C3C" fill-opacity="1"></ellipse></g><g><path d="M16.4905157,22.579226L17.9660916,22.579226L17.9660916,19.1126451L19.647562,19.1126451L19.647562,17.8598709L17.9660916,17.8598709L17.9660916,10L16.2331476,10L11,18.0829678L11,19.1126451L16.4905157,19.1126451L16.4905157,22.579226ZM16.4905157,17.8598709L12.6299969,17.8598709L15.4953599,13.5695481C15.8556747,12.9517419,16.198832,12.3167734,16.5076733,11.7161286L16.576304399999998,11.7161286C16.5419888,12.3510971,16.4905157,13.380774,16.4905157,13.9985809L16.4905157,17.8598709Z" fill="#FFFFFF" fill-opacity="1"></path></g></g>',2)])])}const Nle={render:Lle},Mle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"17.14306640625",height:"17.142822265625",viewBox:"0 0 17.14306640625 17.142822265625"};function Ble(e,t){return ne(),Te("svg",Mle,[...t[0]||(t[0]=[G("g",null,[G("g",null,[G("path",{d:"M9.48958203125,13.78214553125Q9.48958203125,13.87259953125,9.47193203125,13.96130953125Q9.45429203125,14.05002953125,9.41967203125,14.13358953125Q9.38506203125,14.217159531250001,9.33481203125,14.29236953125Q9.28455203125,14.36757953125,9.22060203125,14.43153953125Q9.15664203125,14.49549953125,9.08143203125,14.54574953125Q9.006222031250001,14.59599953125,8.92265203125,14.63061953125Q8.83909203125,14.66522953125,8.75037203125,14.68287953125Q8.66166203125,14.70051953125,8.57120803125,14.70051953125Q8.48075503125,14.70051953125,8.39204103125,14.68287953125Q8.30332703125,14.66522953125,8.21976003125,14.63061953125Q8.13619403125,14.59599953125,8.06098503125,14.54574953125Q7.98577703125,14.49549953125,7.92181803125,14.43153953125Q7.85785903125,14.36757953125,7.80760603125,14.29236953125Q7.75735403125,14.217159531250001,7.72273923125,14.13358953125Q7.68812473125,14.05002953125,7.67047833125,13.96130953125Q7.65283203125,13.87259953125,7.65283203125,13.78214553125Q7.65283203125,13.69169353125,7.67047833125,13.60297953125Q7.68812473125,13.51426553125,7.72273923125,13.43069853125Q7.75735403125,13.34713153125,7.80760603125,13.27192353125Q7.85785903125,13.19671553125,7.92181803125,13.13275553125Q7.98577703125,13.06879653125,8.06098503125,13.01854353125Q8.13619403125,12.96829153125,8.21976003125,12.93367673125Q8.30332703125,12.89906223125,8.39204103125,12.88141583125Q8.48075503125,12.86376953125,8.57120803125,12.86376953125Q8.66166203125,12.86376953125,8.75037203125,12.88141583125Q8.83909203125,12.89906223125,8.92265203125,12.93367673125Q9.006222031250001,12.96829153125,9.08143203125,13.01854353125Q9.15664203125,13.06879653125,9.22059203125,13.13275553125Q9.28455203125,13.19671553125,9.33481203125,13.27192353125Q9.38506203125,13.34713153125,9.41967203125,13.43069853125Q9.45429203125,13.51426553125,9.47193203125,13.60297953125Q9.48958203125,13.69169353125,9.48958203125,13.78214553125Z",fill:"#0079D1","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})]),G("g",null,[G("path",{d:"M8.57143,17.1429C3.84491,17.1429,0,13.298,0,8.57143C0,3.84491,3.84491,0,8.57143,0C13.298,0,17.1429,3.84491,17.1429,8.57143C17.1429,13.298,13.2979,17.1429,8.57143,17.1429ZM8.57143,1.22999C4.52326,1.22999,1.22999,4.52326,1.22999,8.57143C1.22999,12.619,4.52326,15.9129,8.57143,15.9129C12.619,15.9129,15.9129,12.619,15.9129,8.57143C15.9129,4.52326,12.619,1.22999,8.57143,1.22999Z",fill:"#434343","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})]),G("g",null,[G("path",{d:"M8.571005625,11.66567265625C8.233035625,11.66567265625,7.958745625000001,11.39139265625,7.958745625000001,11.05345265625L7.958745625000001,10.01814265625C7.958745625000001,9.01649265625,8.724045625,8.25119265625,9.399965625,7.57590265625C9.895255625,7.0799826562499995,10.407725625000001,6.56814265625,10.407725625000001,6.15976265625C10.407725625000001,5.13916265625,9.583645624999999,4.30896265625,8.571005625,4.30896265625C7.541225625,4.30896265625,6.734285625,5.10365265625,6.734285625,6.118132656249999C6.734285625,6.45610265625,6.460000625,6.73036265625,6.122026625,6.73036265625C5.784053625,6.73036265625,5.509765625,6.45607265625,5.509765625,6.118132656249999C5.509765625,4.44548265625,6.8830156250000005,3.08447265625,8.571005625,3.08447265625C10.258995625,3.08447265625,11.632245625,4.46384265625,11.632245625,6.15976265625C11.632245625,7.07630265625,10.937345624999999,7.77058265625,10.265715625,8.44221265625C9.733065625,8.97364265625,9.183265625,9.52343265625,9.183265625,10.01751265625L9.183265625,11.052822656250001C9.183265625,11.39079265625,8.908975625,11.66567265625,8.571005625,11.66567265625Z",fill:"#0079D1","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})])],-1)])])}const Fle={render:Ble},Ule={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function jle(e,t){return ne(),Te("svg",Ule,[...t[0]||(t[0]=[G("g",{transform:"matrix(-1,0,0,-1,52,52)"},[G("g",null,[G("ellipse",{cx:"39",cy:"39",rx:"13",ry:"13",fill:"#3C3E3B","fill-opacity":"1"})]),G("g",null,[G("path",{d:"M42,39.1482L38.57895,35L37,35L40.42105,39.1482L37,43L38.57895,43L42,39.1482Z",fill:"#FFFFFF","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})])],-1)])])}const Hle={render:jle},zle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function Wle(e,t){return ne(),Te("svg",zle,[...t[0]||(t[0]=[G("g",null,[G("g",null,[G("ellipse",{cx:"13",cy:"13",rx:"13",ry:"13",fill:"#3C3E3B","fill-opacity":"1"})]),G("g",null,[G("path",{d:"M16,13.1482L12.57895,9L11,9L14.421050000000001,13.1482L11,17L12.57895,17L16,13.1482Z",fill:"#FFFFFF","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})])],-1)])])}const Vle={render:Wle},Gle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Jle(e,t){return ne(),Te("svg",Gle,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_239_16805"><rect x="0" y="0" width="20" height="20" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_239_16805)"><g><path d="M18.06619453125,13.17358243125L10.06811453125,17.11889453125L2.07006453125,13.17358243125C1.70287953125,12.99389453125,1.25951953125,13.14623873125,1.07983243125,13.51342653125C0.90014453125,13.88061353125,1.05248873125,14.32397453125,1.41967653125,14.50366453125L9.74194453125,18.57592453125C9.83178453125,18.61694453125,9.92944453125,18.64037453125,10.02709453125,18.64428453125C10.12670453125,18.64037453125,10.22241453125,18.61694453125,10.31225453125,18.57592453125L18.63449453125,14.50366453125C18.92359453125,14.30248453125,19.02909453125,13.92748853125,18.89229453125,13.60522353125C18.75759453125,13.28295753125,18.40989453125,13.10326996125,18.06619453125,13.17358243125Z" fill="#0079D1" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M18.06659453125,9.357528375L10.06853453125,13.302839375L2.07048453125,9.357528375C1.83220353125,9.240341175,1.55095353125,9.259872475,1.33220353125,9.408310375C1.11345353125,9.556747375,0.98845343125,9.810653375,1.00603151125,10.074325375C1.02360963125,10.337999375,1.18181253125,10.572369375000001,1.42009353125,10.689559375L9.74236453125,14.761829375C9.83220453125,14.802839375,9.92985453125,14.826279375,10.02751453125,14.830189375C10.12712453125,14.826279375,10.22282453125,14.802839375,10.31267453125,14.761829375L18.63489453125,10.689559375C18.92989453125,10.629009375,19.15639453125,10.396589375,19.21309453125,10.101669375C19.26779453125,9.806747375,19.13889453125,9.507919375,18.88689453125,9.343856375C18.63889453125,9.179794275,18.31269453125,9.185653675,18.06659453125,9.357528375Z" fill="#0079D1" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M19.13077109375,6.142576875C19.14057109375,5.851566875,18.97847109375,5.580076875,18.71677109375,5.453126875L10.39446109375,1.378906275L10.24602109375,1.378906275L10.06829109375,1.310546875L9.78313109375,1.310546875L1.41985109375,5.453126875C1.15813309375,5.582036875,0.99602327375,5.851566875,1.00578889875,6.142576875C0.99602327375,6.433596875,1.15813309375,6.705076875,1.41985109375,6.832036875L9.74211109375,10.964846875C9.84954109375,10.988286875,9.96087109375,10.988286875,10.06829109375,10.964846875C10.16594109375,10.984376875,10.26751109375,10.984376875,10.36321109375,10.964846875L18.68547109375,6.892576875C18.94717109375,6.763676875,19.10927109375,6.494136875,19.09957109375,6.203126875L19.13077109375,6.142576875ZM10.06829109375,9.445316875L3.34368109375,6.152346875L10.07024109375,2.8691368749999997L16.79677109375,6.162106875L10.06829109375,9.445316875Z" fill="#0079D1" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const Zle={render:Jle},Yle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"12",height:"12",viewBox:"0 0 12 12"};function Xle(e,t){return ne(),Te("svg",Yle,[...t[0]||(t[0]=[G("g",{transform:"matrix(-1,0,0,-1,24,24)"},[G("path",{d:"M22.7631,20.25Q22.7795,20.27838,22.792099999999998,20.30866Q22.8046,20.338929999999998,22.8131,20.37059Q22.8216,20.402250000000002,22.8258,20.434739999999998Q22.8301,20.46723,22.8301,20.5Q22.8301,20.53277,22.8258,20.565260000000002Q22.8216,20.59776,22.8131,20.62941Q22.8046,20.661070000000002,22.792099999999998,20.69134Q22.7795,20.72162,22.7631,20.75Q22.7468,20.77838,22.7268,20.804380000000002Q22.706899999999997,20.830379999999998,22.6837,20.85355Q22.6605,20.876730000000002,22.6345,20.89668Q22.6085,20.916629999999998,22.5801,20.93301Q22.5517,20.9494,22.5215,20.96194Q22.4912,20.97448,22.4595,20.98296Q22.4279,20.99145,22.395400000000002,20.99572Q22.3629,21,22.3301,21L13.66987,21Q13.6371,21,13.604610000000001,20.99572Q13.57212,20.99145,13.54046,20.98296Q13.50881,20.97448,13.47853,20.96194Q13.44825,20.9494,13.41987,20.93301Q13.39149,20.916629999999998,13.36549,20.89668Q13.33949,20.876730000000002,13.31632,20.85355Q13.29315,20.830379999999998,13.2732,20.804380000000002Q13.25325,20.77838,13.23686,20.75Q13.22047,20.72162,13.20793,20.69134Q13.19539,20.661070000000002,13.18691,20.62941Q13.17843,20.59776,13.174150000000001,20.565260000000002Q13.16987,20.53277,13.16987,20.5Q13.16987,20.46723,13.174150000000001,20.434739999999998Q13.17843,20.402250000000002,13.18691,20.37059Q13.19539,20.338929999999998,13.20793,20.30866Q13.22047,20.27838,13.23686,20.25L17.56699,12.75Q17.583370000000002,12.721619,17.60332,12.695619Q17.623269999999998,12.66962,17.64645,12.646447Q17.669620000000002,12.623274,17.695619999999998,12.603323Q17.72162,12.583373,17.75,12.566987Q17.77838,12.550602,17.80866,12.53806Q17.83894,12.525519,17.87059,12.517037Q17.902250000000002,12.508555,17.934739999999998,12.504278Q17.96723,12.5,18,12.5Q18.03277,12.5,18.065260000000002,12.504278Q18.097749999999998,12.508555,18.12941,12.517037Q18.16106,12.525519,18.19134,12.53806Q18.22162,12.550602,18.25,12.566987Q18.27838,12.583373,18.304380000000002,12.603324Q18.330379999999998,12.623274,18.35355,12.646447Q18.376730000000002,12.66962,18.39668,12.695619Q18.416629999999998,12.721619,18.43301,12.75L22.7631,20.25Z",fill:"#717171","fill-opacity":"1"})],-1)])])}const Qle={render:Xle},Kle={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"21",height:"1",viewBox:"0 0 21 1"};function qle(e,t){return ne(),Te("svg",Kle,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M20.5,1L0.5,1L0.5,0L20.5,0L20.5,1Z","fill-rule":"evenodd",fill:"#FFFFFF","fill-opacity":"1"})],-1)])])}const $le={render:qle},eue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"18",height:"18",viewBox:"0 0 18 18"};function tue(e,t){return ne(),Te("svg",eue,[...t[0]||(t[0]=[bi('<defs><mask id="master_svg0_216_13857" style="mask-type:alpha;" maskUnits="objectBoundingBox"><g><g><path d="M18,0L0,0L0,18L18,18L18,0Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g></mask><mask id="master_svg1_216_13864" style="mask-type:alpha;" maskUnits="objectBoundingBox"><g><g><path d="M15.666563692474366,11.33326780796051L10.999913692474365,11.33326780796051L10.999913692474365,15.99991780796051L15.666563692474366,15.99991780796051L15.666563692474366,11.33326780796051Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g></mask></defs><g><g mask="url(#master_svg0_216_13857)"><g><g><path d="M13.455193560028077,3.1688253647232054L13.455193560028077,3.8345653647232054L10.871743560028076,3.8345653647232054L10.871743560028076,3.1688253647232054L13.455193560028077,3.1688253647232054ZM12.371813560028077,4.619785364723206L10.871743560028076,4.619785364723206L10.871743560028076,5.285555364723206L12.371813560028077,5.285555364723206L12.371813560028077,4.619785364723206ZM10.871743560028076,6.736545364723206L13.455193560028077,6.736545364723206L13.455193560028077,6.070815364723206L10.871743560028076,6.070815364723206L10.871743560028076,6.736545364723206ZM12.371813560028077,7.522175364723205L10.871743560028076,7.522175364723205L10.871743560028076,8.187955364723205L12.371813560028077,8.187955364723205L12.371813560028077,7.522175364723205ZM10.871743560028076,9.638905364723206L13.455193560028077,9.638905364723206L13.455193560028077,8.973125364723206L10.871743560028076,8.973125364723206L10.871743560028076,9.638905364723206ZM11.274343560028075,13.432385364723206C11.274343560028075,15.290785364723206,9.760313560028077,16.802785364723206,7.899193560028076,16.802785364723206C6.038153560028077,16.802785364723206,4.524043560028076,15.290785364723206,4.524043560028076,13.432385364723206C4.524043560028076,12.228085364723206,5.157470560028076,11.133575364723205,6.190833560028076,10.528025364723206L6.190833560028076,2.8871853647232055C6.190833560028076,1.9464553647232057,6.957223560028076,1.1811853647232056,7.899193560028076,1.1811853647232056C8.841193560028076,1.1811853647232056,9.607613560028076,1.9464553647232057,9.607613560028076,2.8871853647232055L9.607613560028076,10.528105364723206C10.641113560028076,11.132905364723205,11.274343560028075,12.227785364723205,11.274343560028075,13.432385364723206ZM10.607663560028076,13.432385364723206C10.607663560028076,12.410485364723206,10.039013560028076,11.486785364723206,9.123273560028077,11.022355364723206L8.940943560028076,10.929875364723205L8.940943560028076,2.8874853647232053C8.940943560028076,2.3136253647232055,8.473613560028076,1.8472303647232056,7.899193560028076,1.8472303647232056C7.324933560028076,1.8472303647232056,6.857493560028076,2.3136253647232055,6.857493560028076,2.8874853647232053L6.857493560028076,10.929875364723205L6.675213560028077,11.022355364723206C5.759453560028076,11.487085364723205,5.190785560028076,12.410785364723205,5.190785560028076,13.432385364723206C5.190785560028076,14.923685364723205,6.405803560028076,16.137085364723205,7.899193560028076,16.137085364723205C9.392663560028076,16.136985364723206,10.607663560028076,14.923685364723205,10.607663560028076,13.432385364723206ZM10.052363560028077,13.432385364723206C10.052363560028077,14.617785364723206,9.086593560028076,15.582085364723206,7.899193560028076,15.582085364723206C6.712193560028076,15.582085364723206,5.746483560028076,14.617785364723206,5.746483560028076,13.432385364723206C5.746483560028076,12.460685364723206,6.403863560028077,11.607585364723205,7.345173560028076,11.357585364723205L7.468823560028076,11.324685364723205L7.468823560028076,7.218615364723205L8.329913560028077,7.218615364723205L8.329913560028077,11.324385364723206L8.453523560028076,11.357685364723206C9.395363560028077,11.607585364723205,10.052363560028077,12.461085364723205,10.052363560028077,13.432385364723206ZM8.005993560028076,11.999385364723205C7.9545435600280765,11.771685364723206,7.725263560028076,11.621885364723205,7.491533560028076,11.675085364723206C6.675473560028076,11.859485364723206,6.105483560028076,12.572185364723206,6.105483560028076,13.408485364723205C6.105483560028076,13.645085364723206,6.298523560028077,13.837885364723206,6.535553560028076,13.837885364723206C6.772573560028077,13.837885364723206,6.965553560028076,13.645185364723206,6.965553560028076,13.408485364723205C6.965553560028076,12.983385364723205,7.266193560028077,12.606585364723205,7.681243560028076,12.512985364723205C7.911943560028076,12.459985364723206,8.057893560028077,12.229785364723206,8.005993560028076,11.999385364723205Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g mask="url(#master_svg1_216_13864)"><g><g><path d="M13.041491031646729,13.56959879398346L13.624841031646728,13.56959879398346L13.624841031646728,15.659998793983458C13.624841031646728,15.794178793983459,13.516016031646728,15.90291879398346,13.38184103164673,15.90291879398346L13.284416031646728,15.90291879398346C13.150241031646729,15.90291879398346,13.041491031646729,15.794178793983459,13.041491031646729,15.659998793983458L13.041491031646729,13.56959879398346Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M12.103589502740478,13.19933301273346L13.109868902740478,11.56748501273346C13.203988902740479,11.41455951273346,13.425838902740479,11.41313471273346,13.521988902740478,11.56486001273346L14.555338902740479,13.19671301273346C14.602818902740479,13.27156301273346,14.605738902740478,13.366363012733459,14.562988902740479,13.44398301273346C14.520238902740479,13.521613012733459,14.438638902740479,13.56983301273346,14.349988902740478,13.56976301273346L12.310365902740479,13.56976301273346C12.222314902740479,13.56983301273346,12.14109040274048,13.52228301273346,12.098040602740479,13.44533301273346C12.055065202740478,13.368463012733459,12.057389732740479,13.27433301273346,12.103589502740478,13.19933301273346Z" fill="#0C88E0" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g></g></g></g></g>',2)])])}const nue={render:tue},rue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"140",height:"140",viewBox:"0 0 140 140"};function iue(e,t){return ne(),Te("svg",rue,[...t[0]||(t[0]=[bi('<defs><mask id="master_svg0_299_16847" style="mask-type:alpha;" maskUnits="objectBoundingBox"><g><g><rect x="14.62686538696289" y="59.55223846435547" width="111.7910385131836" height="20.89552116394043" rx="0" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></rect></g></g></mask></defs><g><g><rect x="0" y="0" width="140" height="140" rx="4" fill="#5A5A5A" fill-opacity="1"></rect></g><g mask="url(#master_svg0_299_16847)"><g><g><path d="M53.36089748550951,63.711737798835856L53.36089748550951,67.96816779883586L62.37649748550952,67.96816779883586L62.37649748550952,71.83814779883586L53.36089748550951,71.83814779883586L53.36089748550951,76.38544779883586L64.42339748550951,76.38544779883586L64.42339748550951,80.25404779883586L49.17959748550952,80.25404779883586L49.17959748550952,80.06154779883586C49.17959748550952,73.38674779883586,49.17959748550952,66.80745779883586,49.17959748550952,60.13265679883586L49.17959748550952,59.93871879883586L64.32199748550951,59.93871879883586L64.32199748550951,63.80868779883586L53.36089748550951,63.80868779883586L53.36089748550951,63.711737798835856ZM18.706487485509513,63.711737798835856L18.706487485509513,67.96816779883586L27.736597485509513,67.96816779883586L27.736597485509513,71.83814779883586L18.706487485509513,71.83814779883586L18.706487485509513,76.38544779883586L29.769297485509515,76.38544779883586L29.769297485509515,80.25404779883586L14.641397485509515,80.25404779883586L14.641397485509515,80.06154779883586C14.641397485509515,73.38674779883586,14.641397485509515,66.71046779883586,14.641397485509515,60.13265679883586L14.641397485509515,59.93871879883586L29.769297485509515,59.93871879883586L29.769297485509515,63.80868779883586L18.706487485509513,63.80868779883586L18.706487485509513,63.711737798835856ZM36.76669748550951,76.38544779883586L47.147197485509516,76.38544779883586L47.147197485509516,80.25404779883586L32.58569748550951,80.25404779883586L32.58569748550951,80.06154779883586C32.58569748550951,73.38674779883586,32.58569748550951,66.80745779883586,32.58569748550951,60.13265679883586L32.58569748550951,59.93871879883586L36.66529748550951,59.93871879883586L36.66529748550951,76.38544779883586L36.76669748550951,76.38544779883586ZM81.20619748550952,72.32154779883587L75.1813974855095,72.32154779883587L75.1813974855095,68.83941779883585L85.37299748550952,68.83941779883585L85.37299748550952,80.25404779883586L81.88849748550952,80.25404779883586L81.88849748550952,77.64314779883586C80.52389748550951,79.57674779883585,78.28809748550952,80.35104779883585,75.8636974855095,80.44794779883586C73.33759748550952,80.54494779883586,70.82599748550952,79.67364779883586,68.88049748550952,77.93254779883586C66.64469748550951,75.99754779883585,65.58489748550952,73.28974779883586,65.58489748550952,70.38654779883586C65.58489748550952,64.38904779883586,69.56279748550952,59.64924779883586,75.77649748550951,59.64924779883586C78.20089748550951,59.64924779883586,80.52389748550951,60.423541798835856,82.46939748550952,61.97066779883586C83.15169748550952,62.64797779883586,84.02259748550952,63.51925779883586,84.50179748550951,64.38904779883586L84.60349748550952,64.58297779883586L81.10449748550951,66.80745779883586L81.01769748550952,66.61497779883585C79.36239748550952,63.228327798835856,74.51329748550951,62.55102779883586,71.88579748550951,65.16333779883585C70.72429748550951,66.32404779883586,69.85309748550952,68.25905779883585,69.85309748550952,69.90314779883586C69.85309748550952,71.35474779883586,70.24509748550952,72.90194779883586,71.01459748550951,74.15954779883586C72.0888974855095,75.90064779883586,73.83099748550951,76.67494779883586,75.77649748550951,76.67494779883586C78.57839748550951,76.57794779883585,80.42219748550951,74.83694779883587,81.20619748550952,72.32154779883587Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M115.96205242935717,59.55084341368638C112.85535242935717,59.55084341368638,110.12575242935716,60.80709341368638,108.28195242935718,62.83904341368638C109.06605242935717,64.09670341368638,109.64695242935717,64.96798341368638,110.32925242935717,66.22564341368638C111.30185242935717,65.16046341368639,112.56505242935717,64.29064341368638,114.01685242935717,63.80727341368638C118.28505242935717,62.45262341368638,122.16115242935717,65.64529341368637,122.16115242935717,69.99724341368638C122.16115242935717,73.48084341368639,119.54795242935717,76.57654341368638,116.04925242935717,76.57654341368638C113.81335242935717,76.57654341368638,111.88235242935717,75.31884341368638,110.80805242935718,73.38384341368638C109.16775242935717,70.67454341368638,109.16775242935717,67.19242341368638,107.32395242935718,64.29064341368638C105.27705242935717,61.29191341368638,101.87975242935717,59.55084341368638,98.39555242935717,59.55084341368638C92.47212242935717,59.55084341368638,87.91365242935717,64.09670341368638,87.91365242935717,69.99724341368638C87.91365242935717,75.99614341368638,92.37040242935717,80.44504341368638,98.39555242935717,80.44504341368638C101.50225242935717,80.44504341368638,104.21725242935717,79.18734341368638,106.06105242935718,77.15684341368637C105.27705242935717,75.89914341368637,104.69605242935717,75.02794341368639,104.01375242935717,73.77024341368639C103.05575242935717,74.83544341368638,101.69115242935717,75.70524341368638,100.23935242935717,76.18864341368638C96.05801242935718,77.44634341368638,92.28320242935717,74.15814341368637,92.28320242935717,69.90174341368638C92.28320242935717,66.61206341368639,94.79513242935717,63.41940341368638,98.39555242935717,63.41940341368638C100.61685242935717,63.41940341368638,102.56205242935717,64.67705341368638,103.63635242935717,66.61206341368639C105.27705242935717,69.41685341368638,105.37835242935716,72.80344341368638,107.12085242935717,75.70524341368638C108.96465242935717,78.70404341368638,112.36165242935718,80.44504341368638,115.96205242935717,80.44504341368638C121.87095242935717,80.44504341368638,126.42935242935718,75.89914341368637,126.42935242935718,69.99724341368638C126.42935242935718,64.09670341368638,121.97265242935717,59.55084341368638,115.96205242935717,59.55084341368638Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g></g></g>',2)])])}const oue={render:iue},sue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"29.908105850219727",height:"29.908100128173828",viewBox:"0 0 29.908105850219727 29.908100128173828"};function aue(e,t){return ne(),Te("svg",sue,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M8.79554,11.8846C9.40154,12.4921,9.40154,13.4746,8.79554,14.0821L4.47254,18.4036C2.53185,20.3456,2.5324,23.493,4.47375,25.4343C6.41511,27.3757,9.56251,27.3763,11.5045,25.4356L15.817,21.1216C16.4215,20.5011,17.4165,20.4946,18.029,21.1071C18.6415,21.7196,18.635,22.7146,18.0145,23.3191L13.7005,27.6316C10.5318,30.7015,5.48606,30.6616,2.36629,27.5418C-0.753489,24.422,-0.793441,19.3763,2.27654,16.2076L6.59654,11.8846C7.20356,11.2768,8.18852,11.2768,8.79554,11.8846ZM5.02154,2.91457L14.9095,12.8011L19.3045,8.40607C19.9058,7.769,20.9146,7.75462,21.5339,8.37427C22.1531,8.99393,22.138,10.0027,21.5005,10.6036L17.107,14.9986L26.9935,24.8866C27.6413,25.4854,27.6612,26.5027,27.0374,27.1265C26.4137,27.7502,25.3964,27.7303,24.7975,27.0826L14.9095,17.1961L10.5145,21.5911C9.90286,22.1676,8.9436,22.1533,8.34942,21.5587C7.75525,20.9641,7.74157,20.0048,8.31854,19.3936L12.712,14.9986L2.82554,5.11057C2.25899,4.49777,2.27763,3.5469,2.86775,2.95678C3.45788,2.36666,4.40875,2.34802,5.02154,2.91457ZM27.5425,2.36557C30.6966,5.52045,30.6966,10.6347,27.5425,13.7896L23.311,18.0226C22.702,18.6159,21.7291,18.6095,21.1278,18.0083C20.5266,17.407,20.5202,16.4342,21.1135,15.8251L25.3465,11.5936C27.2864,9.65139,27.2854,6.50468,25.3444,4.56367C23.4034,2.62266,20.2567,2.62172,18.3145,4.56157L14.029,8.84857C13.4246,9.46901,12.4296,9.47551,11.8171,8.86302C11.2046,8.25053,11.2111,7.2555,11.8315,6.65107L16.1185,2.36557C19.2734,-0.788522,24.3876,-0.788522,27.5425,2.36557Z",fill:"#FFFFFF","fill-opacity":"1",style:{"mix-blend-mode":"passthrough"}})],-1)])])}const FO={render:aue},cue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"6.999996185302734",height:"11.999998092651367",viewBox:"0 0 6.999996185302734 11.999998092651367"};function lue(e,t){return ne(),Te("svg",cue,[...t[0]||(t[0]=[G("g",{transform:"matrix(0,-1,1,0,-11.999998092651367,11.999998092651367)"},[G("path",{d:"M11,18.999998092651367C10.7441,18.999998092651367,10.4882,18.90235809265137,10.2929,18.707098092651368C10.2929,18.707098092651368,6,14.414208092651368,6,14.414208092651368C6,14.414208092651368,1.70712,18.707098092651368,1.70712,18.707098092651368C1.31659,19.097618092651366,0.683428,19.097618092651366,0.292894,18.707098092651368C-0.0976315,18.316568092651366,-0.0976315,17.683418092651365,0.292894,17.292888092651367C0.292894,17.292888092651367,5.29289,12.292887092651368,5.29289,12.292887092651368C5.68343,11.902368592651367,6.31659,11.902368592651367,6.70711,12.292887092651368C6.70711,12.292887092651368,11.7071,17.292888092651367,11.7071,17.292888092651367C12.0976,17.683418092651365,12.0976,18.316568092651366,11.7071,18.707098092651368C11.5118,18.90235809265137,11.2559,18.999998092651367,11,18.999998092651367C11,18.999998092651367,11,18.999998092651367,11,18.999998092651367Z",fill:"#F3F3F3","fill-opacity":"0.800000011920929"})],-1)])])}const UO={render:lue},uue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"26",height:"26",viewBox:"0 0 26 26"};function due(e,t){return ne(),Te("svg",uue,[...t[0]||(t[0]=[G("g",{transform:"matrix(0,-1,-1,0,52,52)"},[G("g",{transform:"matrix(0,-1,1,0,-20,78)",style:{opacity:"0.800000011920929"}},[G("g"),G("g",{transform:"matrix(0,1,-1,0,95.4997353553772,10.500231266021729)"},[G("g",null,[G("path",{d:"M53.499752044677734,59.99998331069946C53.24385204467774,59.99998331069946,52.98795204467773,59.902343310699464,52.79265204467774,59.70708331069946C52.79265204467774,59.70708331069946,48.499752044677734,55.41419331069946,48.499752044677734,55.41419331069946C48.499752044677734,55.41419331069946,44.20687204467774,59.70708331069946,44.20687204467774,59.70708331069946C43.81634204467773,60.09760331069946,43.183180044677734,60.09760331069946,42.79264604467773,59.70708331069946C42.402120544677736,59.31655331069946,42.402120544677736,58.68340331069946,42.79264604467773,58.29287331069946C42.79264604467773,58.29287331069946,47.792642044677734,53.292872310699465,47.792642044677734,53.292872310699465C48.183182044677736,52.902353810699466,48.81634204467773,52.902353810699466,49.206862044677735,53.292872310699465C49.206862044677735,53.292872310699465,54.20685204467773,58.29287331069946,54.20685204467773,58.29287331069946C54.597352044677734,58.68340331069946,54.597352044677734,59.31655331069946,54.20685204467773,59.70708331069946C54.011552044677735,59.902343310699464,53.75565204467773,59.99998331069946,53.499752044677734,59.99998331069946C53.499752044677734,59.99998331069946,53.499752044677734,59.99998331069946,53.499752044677734,59.99998331069946Z",fill:"#F3F3F3","fill-opacity":"0.800000011920929"})])])])],-1)])])}const fue={render:due},hue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"30",height:"30",viewBox:"0 0 30 30"};function pue(e,t){return ne(),Te("svg",hue,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_425_21055"><rect x="0" y="0" width="30" height="30" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_425_21055)"><g><path d="M26.914249875,25.86914075L3.0564552750000002,25.86914075C2.419277365,25.86914075,1.904296875,25.41117275,1.904296875,24.84454375L1.904296875,8.11444365C1.904296875,7.54781231,2.419277365,7.08984375,3.0564552750000002,7.08984375L26.914252875,7.08984375C27.551429875,7.08984375,28.066407875,7.54781231,28.066407875,8.11444365L28.066407875,24.84454375C28.066407875,25.40859375,27.548526875,25.86914075,26.914249875,25.86914075Z" fill="#999999" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M15.000000875,12.041016124999999L1.904296875,12.041016124999999L1.904296875,6.163183725C1.904296875,5.525302525,2.419863345,5.009765625,3.057744175,5.009765625L12.020245875,5.009765625C12.530011875,5.009765625,12.978546875,5.341816575,13.124181875,5.8311327649999996L15.000000875,12.041016124999999Z" fill="#464646" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M26.914249875,25.869141L3.0564552750000002,25.869141C2.419277365,25.869141,1.904296875,25.354103,1.904296875,24.716835L1.904296875,9.8241795C1.904296875,9.18691409,2.419277365,8.671875,3.0564552750000002,8.671875L26.914252875,8.671875C27.551429875,8.671875,28.066407875,9.18691409,28.066407875,9.8241795L28.066407875,24.716835C28.066407875,25.351173,27.548526875,25.869141,26.914249875,25.869141Z" fill="#666666" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const mue={render:pue},gue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"92",height:"92",viewBox:"0 0 92 92"};function vue(e,t){return ne(),Te("svg",gue,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_385_33497"><rect x="0" y="0" width="92" height="92" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_385_33497)"><g><path d="M65.190624,8.19384765625L43.125,30.18759765625L61.453123000000005,48.51572065625L83.446873,26.52197065625L65.190624,8.19384765625ZM58.79375,23.14384765625L62.459375,19.47822265625L66.124998,23.14384765625L62.459375,26.80947265625L58.79375,23.14384765625ZM64.90312399999999,29.25322165625L68.568748,25.58759665625L72.234373,29.25322165625L68.568748,32.91884565625L64.90312399999999,29.25322165625Z" fill="#EAEAEA" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M43.268757353515625,74.31865359375C42.550007353515625,72.52177859375,42.190632353515625,70.72490359375,42.190632353515625,68.92802859375C42.190632353515625,67.13115359375,42.550007353515625,65.33427859375,43.268757353515625,63.53740359375C43.987507353515625,61.74052859375,44.993755353515624,60.23115559375,46.35937835351562,58.79365159375C47.725006353515624,57.42802859375,49.30625935351563,56.42177959375,51.03125335351562,55.70302959375C52.756256353515624,54.98427959375,54.553131353515624,54.62490459375,56.350006353515624,54.62490459375C58.146881353515624,54.62490459375,59.943756353515624,54.98427959375,61.740631353515624,55.70302959375C62.675007353515625,56.06240459375,63.60938235351563,56.56552459375,64.47188235351562,57.21240259375L68.92813135351562,52.75615359375C70.86875935351563,50.81552859375,70.86875935351563,47.58115359375,68.92813135351562,45.64052759375L46.646881353515624,23.35927739375C44.706257353515625,21.41865232375,41.471882353515625,21.41865232375,39.53125735351563,23.35927739375L9.918756153515625,52.97177859375C7.978131083515625,54.91240359375,7.978131083515625,58.14677859375,9.918756153515625,60.08740259375L32.200006353515626,82.36865259375C34.14063235351563,84.30928059375,37.37500735351563,84.30928059375,39.315632353515625,82.36865259375L44.706257353515625,76.97802759375C44.131256353515624,76.11552859375,43.628132353515625,75.25302859375,43.268757353515625,74.31865359375ZM34.356256353515626,62.17177959375C34.068756353515624,62.89052959375,33.565632353515625,63.46553059375,32.84688035351563,63.75302459375C32.12813035351563,64.11239959375,31.337507353515626,64.11239959375,30.618757353515626,63.75302459375C30.259382353515626,63.60927959375,29.971880353515626,63.39364959375,29.684381353515626,63.17802859375C29.109382353515624,62.67489959375,28.821882353515626,61.88427759375,28.821882353515626,61.16552759375C28.821882353515626,60.80615259375,28.893755353515626,60.37490459375,29.037506353515624,60.01552959375C29.181257353515626,59.65615459375,29.396881353515624,59.36865259375,29.684381353515626,59.08114959375C29.971880353515626,58.79365159375,30.259382353515626,58.57802959375,30.618757353515626,58.43427659375C30.978132353515626,58.29052759375,31.337507353515626,58.21865459375,31.696882353515626,58.14677859375C33.278131353515626,58.14677859375,34.571882353515626,59.36865259375,34.643757353515625,60.94990559375C34.571882353515626,61.45302959375,34.50000735351563,61.81240459375,34.356256353515626,62.17177959375ZM36.29688235351563,56.20614959375C35.146881353515624,55.12802459375,35.362507353515625,53.04365359375,36.800007353515625,51.60615359375L47.006256353515624,41.18427859375C48.443756353515624,39.74677859375,50.456257353515625,39.459276593750005,51.60625835351563,40.60927759375C52.756256353515624,41.75927759375,52.54063435351563,43.771776593750005,51.10313435351563,45.209276593750005L40.896881353515624,55.63115359375C39.459381353515624,57.06865359375,37.37500735351563,57.28427459375,36.29688235351563,56.20614959375Z" fill="#B2B2B2" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M69.646875,79.78095603125C70.150002,80.42783203125,70.509377,81.00283003125,70.509377,81.43408003125C70.58125100000001,81.86533203125,70.365625,82.29658103125,69.934376,82.79970503125C69.50312600000001,83.30283203125,69,83.59033003125,68.42500100000001,83.51845503125C67.921875,83.44658303125,67.34687600000001,83.23095503125,66.84375,82.79970503125L61.956251,78.12783003125C60.950001,78.77470603124999,59.8,79.27783003125,58.578125,79.56533003125C57.356251,79.85283103124999,56.20625,79.92470503125,54.984375,79.85283103124999C53.8343744,79.78095603125,52.6125002,79.49345603124999,51.5343752,78.99033203125C50.3843751,78.48720503125,49.3781247,77.76845503125,48.4437501,76.83408203125C47.4375,75.82783103125,46.646875,74.60595703125,46.07187504,73.31220603125C45.496875,72.01845603125,45.28125,70.65283103125,45.28125,69.21533103125C45.28125,67.84970663125,45.56874999,66.48408123125,46.07187504,65.19033193125C46.5749999,63.89658163125,47.3656251,62.67470693125,48.4437501,61.59658193125C49.4500003,60.59033203125,50.671875,59.79970693125,51.9656253,59.22470701125C53.2593756,58.72158202125,54.625,58.43408203125,55.990624,58.43408203125C57.356251,58.43408203125,58.721875,58.72158202125,60.015625,59.22470701125C61.309374,59.72783193125,62.53125,60.51845693125,63.5375,61.59658193125C64.47187600000001,62.53095673125,65.19062600000001,63.60908173125,65.69375,64.75908183125C66.196877,65.90908193125,66.484375,67.05908203125,66.556252,68.28095623125C66.62812600000001,69.50283103125,66.556252,70.65283103125,66.26875100000001,71.87470603125C65.98124899999999,73.02470703125,65.478127,74.17470603125,64.83125100000001,75.18095603124999L69.646875,79.78095603125ZM56.134376,76.18720603125C57.068749,76.18720603125,58.003125,75.97158003125,58.793751,75.61220503125C59.65625,75.25283003125,60.375,74.74970603125,61.021875,74.10283203125C61.668749,73.45595603125,62.171875,72.73720603125,62.53125,71.87470603125C62.890625,71.01220603125,63.106249,70.07783103125,63.106249,69.07158203125C63.106249,68.13720603125,62.890625,67.20283123125,62.53125,66.34033153125C62.171875,65.47783183125,61.668749,64.75908183125,61.021875,64.04033183125C60.375,63.39345693125,59.65625,62.89033173125,58.793751,62.53095673125C57.931251,62.17158203125,57.068749,61.95595693125,56.134376,61.95595693125C55.1281252,61.95595693125,54.1937494,62.17158203125,53.4031248,62.53095673125C52.5406251,62.89033173125,51.8218751,63.39345693125,51.1749997,64.04033183125C50.5281253,64.68720723125,50.0250001,65.47783183125,49.6656251,66.34033153125C49.3062501,67.20283123125,49.090625,68.13720603125,49.090625,69.07158203125C49.090625,70.07783103125,49.3062501,71.01220603125,49.6656251,71.87470603125C50.0250001,72.73720603125,50.5281253,73.45595603125,51.1749997,74.10283203125C51.8218751,74.74970603125,52.5406251,75.25283003125,53.4031248,75.61220503125C54.265625,76.04345703125,55.1281252,76.18720603125,56.134376,76.18720603125Z" fill="#FF7F00" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const yue={render:vue},Eue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"80",height:"80",viewBox:"0 0 80 80"};function bue(e,t){return ne(),Te("svg",Eue,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_155_18885"><rect x="0" y="0" width="80" height="80" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_155_18885)"><g><path d="M19.8786224859375,24.5452880859375L60.1212960859375,24.5452880859375Q65.4546240859375,24.5452880859375,65.4546240859375,29.8786224859375L65.4546240859375,51.9386250859375Q65.4546240859375,57.2719570859375,60.1212960859375,57.2719570859375L19.8786205859375,57.2719570859375Q14.5452880859375,57.2719570859375,14.5452880859375,51.9386250859375L14.5452880859375,29.8786258859375Q14.5452880859375,24.5452926635739,19.8786224859375,24.5452880859375Z" fill="#F3F6FB" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M23.514733284374998,11.818603515625L56.484066484375,11.818603515625Q61.817401484375,11.818603515625,61.817401484375,17.151937515625L61.817401484375,49.211940515625Q61.817401484375,54.545268515625,56.484066484375,54.545268515625L23.514728984375,54.545268515625Q18.181396484375,54.545268515625,18.181396484375,49.211936515625L18.181396484375,17.151933215625Q18.181396484375,11.8185997009273,23.514733284374998,11.818603515625Z" fill="#B7B9BC" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M11.818603515625,39.3932319L11.818603515625,61.5145725C11.81860427856452,65.19647549999999,14.803371715625,68.1812365,18.485270015624998,68.1812365L61.514606515625,68.1812365C65.196506515625,68.1812365,68.181282515625,65.19646850000001,68.181282515625,61.5145725L68.181282515625,49.3665675C68.181320515625,45.6955735,65.213569515625,42.7153158,61.542606515625,42.6999006L38.089275515625005,42.6025677C35.873321515625,42.5926933,33.807109515625,41.4823875,32.575941515625004,39.639899299999996L29.934608515625,35.6892304C28.697442515625,33.838022,26.618083515625003,32.7265625,24.391942515625,32.7265625L18.485274815625,32.7265625C14.803376215625,32.7265625,11.8186073303223,35.7113316,11.818603515625,39.3932319Z" fill="#FFFFFF" fill-opacity="0.800000011920929" style="mix-blend-mode:passthrough;"></path></g><g><path d="M11.1519790649415,39.3932776234375L11.1519790649415,61.5146125234375Q11.1519790649415,64.55327952343751,13.2986457390625,66.70127852343751Q15.4466452390625,68.8479465234375,18.4853129390625,68.8479465234375L61.5146485390625,68.8479465234375Q64.5533145390625,68.8479465234375,66.7013165390625,66.70127852343751Q68.84798053906249,64.55327952343751,68.84798053906249,61.5146085234375L68.84798053906249,49.3666055234375Q68.84798053906249,46.3372715234375,66.7119785390625,44.1919395234375Q64.5746495390625,42.0452709234375,61.5453075390625,42.0319376234375L38.091978539062495,41.9359379234375Q34.902643539062495,41.9226055234375,33.1293105390625,39.269272823437504L30.4893095390625,35.3186037234375Q28.3106425390625,32.0599365234375,24.3919785390625,32.0599365234375L18.4853119390625,32.0599365234375Q15.4466438390625,32.0599365234375,13.2986443390625,34.2079377234375Q11.1519775390625,36.3559389234375,11.1519775390625,39.3946051234375L11.1519790649415,39.3932776234375ZM14.2426462390625,65.7572865234375Q12.4853128390625,63.999950523437505,12.4853128390625,61.5146125234375L12.4853128390625,39.3946123234375Q12.4853128390625,36.9079442234375,14.2426462390625,35.1506109234375Q15.9999799390625,33.3932770234375,18.4853129390625,33.3932770234375L24.3919815390625,33.3932770234375Q27.5986445390625,33.3932770234375,29.3799785390625,36.0599432234375L32.019977539062495,40.0106086234375Q34.187976539062504,43.2519425234375,38.0866435390625,43.2692765234375L61.5399775390625,43.3666095234375Q64.0186465390625,43.3759405234375,65.76665153906251,45.1319405234375Q67.5146485390625,46.8879415234375,67.5146485390625,49.3666095234375L67.5146485390625,61.5146085234375Q67.5146485390625,63.9999425234375,65.7573085390625,65.7572745234375Q63.9999735390625,67.5146105234375,61.5146405390625,67.5146105234375L18.4853129390625,67.5146105234375Q15.9999799390625,67.5146105234375,14.2426462390625,65.7572865234375Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M30.000064184375,18.181396484375L49.998731484375,18.181396484375Q51.817398484375005,18.181396484375,51.817398484375005,20.000062584375L51.817398484375005,19.998728984375Q51.817398484375005,21.817394984375,49.998731484375,21.817394984375L30.000064184375,21.817394984375Q28.181396484375,21.817394984375,28.181396484375,19.998728984375L28.181396484375,20.000062584375Q28.181396484375,18.181396484375,30.000064184375,18.181396484375Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g><g><path d="M30.000064184375,25.4547119140625L40.908064484375004,25.4547119140625Q42.726733484375,25.4547119140625,42.726733484375,27.2733796140625L42.726733484375,27.2720461140625Q42.726733484375,29.0907140140625,40.908064484375004,29.0907140140625L30.000064184375,29.0907140140625Q28.181396484375,29.0907140140625,28.181396484375,27.2720461140625L28.181396484375,27.2733796140625Q28.181396484375,25.4547134399415,30.000064184375,25.4547119140625Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></path></g></g>',2)])])}const jO={render:bue},Sue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"30",height:"29.999998092651367",viewBox:"0 0 30 29.999998092651367"};function Aue(e,t){return ne(),Te("svg",Sue,[...t[0]||(t[0]=[bi('<defs><clipPath id="master_svg0_431_21973"><rect x="0" y="0" width="30" height="29.999998092651367" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_431_21973)"><g><path d="M8.351078236132812,1.66650390625C8.351078236132812,1.66650390625,23.894554036132813,1.66650390625,23.894554036132813,1.66650390625C25.213396036132814,1.66650390625,26.249630036132814,2.6977540062500003,26.249630036132814,4.01025390625C26.249630036132814,4.01025390625,26.249630036132814,12.91650390625,26.249630036132814,12.91650390625C26.249630036132814,12.91650390625,4.5829620361328125,12.91650390625,4.5829620361328125,12.91650390625C4.5829620361328125,12.91650390625,4.5829620361328125,5.416503706249999,4.5829620361328125,5.416503706249999C4.5829620361328125,3.3540035062499998,6.278614136132813,1.66650390625,8.351078236132812,1.66650390625Z" fill="#999999" fill-opacity="1"></path></g><g><path d="M18.964327036132815,1.66650390625C18.964327036132815,1.66650390625,6.948318736132812,1.66650390625,6.948318736132812,1.66650390625C5.623719136132813,1.66650390625,4.5829620361328125,2.70235790625,4.5829620361328125,4.02071690625C4.5829620361328125,4.02071690625,4.5829620361328125,25.67947790625,4.5829620361328125,25.67947790625C4.5829620361328125,26.99783690625,5.623719136132813,28.03368990625,6.948318736132812,28.03368990625C6.948318736132812,28.03368990625,23.88427303613281,28.03368990625,23.88427303613281,28.03368990625C25.208872036132814,28.03368990625,26.249626036132813,26.99783690625,26.249626036132813,25.67947790625C26.249626036132813,25.67947790625,26.249628036132812,9.06559230625,26.249628036132812,9.06559230625C26.249628036132812,9.06559230625,18.964327036132815,1.66650390625,18.964327036132815,1.66650390625Z" fill="#666666" fill-opacity="1"></path></g><g><path d="M18.961456298615627,1.66650390625C18.961456298615627,1.66650390625,18.965932210015627,7.27801270625,18.965932210015627,7.27801270625C18.965932210015627,8.219697906250001,19.802694621015625,9.06721970625,20.838548441015625,9.06721970625C20.838548441015625,9.06721970625,26.248240441015625,9.06721970625,26.248240441015625,9.06721970625C26.248240441015625,9.06721970625,18.961456298615627,1.66650390625,18.961456298615627,1.66650390625Z" fill="#464646" fill-opacity="1"></path></g><g><path d="M8.408203125,12.174979171875C8.408203124999998,12.549604771875,8.557022765,12.908885971875,8.821923045,13.173786171875C9.086823405,13.438686571875,9.446105525,13.587506271875,9.820731125,13.587506271875C10.195356725,13.587506271875,10.554638825,13.438686571875,10.819539025000001,13.173786171875C11.084439525,12.908885971875,11.233258225,12.549604771875,11.233258225,12.174979171875C11.233258225,11.800353571875,11.084439525,11.441071451875,10.819539025000001,11.176171091875C10.554638825,10.911270811875,10.195356725,10.762451171874998,9.820731125,10.762451171875C9.446105525,10.762451171874998,9.086823405,10.911270811875,8.821923045,11.176171091875C8.557022765,11.441071451875,8.408203125,11.800353571875,8.408203125,12.174979171875Z" fill="#999999" fill-opacity="1"></path></g><g><path d="M14.999531149335937,11.233398437500002C14.999531149335937,11.233398437500002,20.64964106933594,11.233398437500002,20.64964106933594,11.233398437500002C21.214652069335937,11.233398437500002,21.591327169335937,11.6100732375,21.591327169335937,12.1750844075C21.591327169335937,12.7400955375,21.214652069335937,13.1167694375,20.64964106933594,13.1167694375C20.64964106933594,13.1167694375,14.999531149335937,13.1167694375,14.999531149335937,13.1167694375C14.434519949335938,13.1167694375,14.057846069335938,12.7400955375,14.057846069335938,12.1750844075C14.057846069335938,11.6100732375,14.434519949335938,11.233398411718754,14.999531149335937,11.233398437500002ZM14.999531149335937,15.9418249375C14.999531149335937,15.9418249375,20.64964106933594,15.9418249375,20.64964106933594,15.9418249375C21.214652069335937,15.9418249375,21.591327169335937,16.3184981375,21.591327169335937,16.8835091375C21.591327169335937,17.4485206375,21.214652069335937,17.8251948375,20.64964106933594,17.8251948375C20.64964106933594,17.8251948375,14.999531149335937,17.8251948375,14.999531149335937,17.8251948375C14.434519949335938,17.8251948375,14.057846069335938,17.4485206375,14.057846069335938,16.8835091375C14.057846069335938,16.3184981375,14.434519949335938,15.9418249375,14.999531149335937,15.9418249375ZM14.999531149335937,20.650248537499998C14.999531149335937,20.650248537499998,20.64964106933594,20.650248537499998,20.64964106933594,20.650248537499998C21.214652069335937,20.650248537499998,21.591327169335937,21.0269241375,21.591327169335937,21.5919354375C21.591327169335937,22.1569454375,21.214652069335937,22.533620437499998,20.64964106933594,22.533620437499998C20.64964106933594,22.533620437499998,14.999531149335937,22.533620437499998,14.999531149335937,22.533620437499998C14.434519949335938,22.533620437499998,14.057846069335938,22.1569454375,14.057846069335938,21.5919354375C14.057846069335938,21.0269241375,14.434519949335938,20.650248537499998,14.999531149335937,20.650248537499998Z" fill="#999999" fill-opacity="1"></path></g><g><path d="M8.408203125,16.883231325C8.408203124999998,17.257857225,8.557022765,17.617139325,8.821923045,17.882039525C9.086823405,18.146940025,9.446105525,18.295759425,9.820731125,18.295759425C10.195356725,18.295759425,10.554638825,18.146940025,10.819539025000001,17.882039525C11.084439525,17.617139325,11.233258225,17.257857225,11.233258225,16.883231325C11.233258225,16.508605625,11.084439525,16.149323525,10.819539025000001,15.884423165C10.554638825,15.619522795,10.195356725,15.470703125,9.820731125,15.470703125C9.446105525,15.470703125,9.086823405,15.619522795,8.821923045,15.884423165C8.557022765,16.149323525,8.408203125,16.508605625,8.408203125,16.883231325Z" fill="#999999" fill-opacity="1"></path></g><g><path d="M8.408203125,21.59172741875C8.408203124999998,21.96635331875,8.557022765,22.32563541875,8.821923045,22.59053561875C9.086823405,22.85543611875,9.446105525,23.00425551875,9.820731125,23.00425551875C10.195356725,23.00425551875,10.554638825,22.85543611875,10.819539025000001,22.59053561875C11.084439525,22.32563541875,11.233258225,21.96635331875,11.233258225,21.59172741875C11.233258225,21.21710171875,11.084439525,20.85781961875,10.819539025000001,20.59291925875C10.554638825,20.32801888875,10.195356725,20.17919921875,9.820731125,20.17919921875C9.446105525,20.17919921875,9.086823405,20.32801888875,8.821923045,20.59291925875C8.557022765,20.85781961875,8.408203125,21.21710171875,8.408203125,21.59172741875Z" fill="#999999" fill-opacity="1"></path></g><g><path d="M7.91500962,6.7697841L7.96985251,6.4964027L7.083707504,6.4964027L7.24823608,5.48441252L8.691469099999999,5.48441252L8.4692111,6.8393284Q8.4576653,6.9088728,8.394163,6.9544363Q8.3306608,7,8.2469534,7L7,7L7.054842863,6.6786569L7.16741504,6.7697841L7.91500962,6.7697841ZM7.77645934,5.71462828L7.67254651,6.2637889L7.99871719,6.2637889L8.1084028,5.71462828L7.77645934,5.71462828ZM10.5012832,5.71462828L9.6151381,5.71462828L9.5054526,6.266187L10.2790253,6.266187L10.4175756,6.1750599L10.362732900000001,6.4964027L8.9223863,6.4964027L9.1157796,5.48441252L10.5301478,5.48441252L10.5012832,5.71462828ZM12.1465683,5.48441252Q12.230276100000001,5.48441252,12.2721295,5.54076737Q12.3139839,5.59712231,12.3139839,5.66666669L12.1754332,6.4964027L10.9284799,6.4964027Q10.8447726,6.4964027,10.8029189,6.4508393Q10.761065,6.4052758,10.761065,6.3357314L10.8996155,5.48441252L12.1465683,5.48441252ZM11.424952000000001,5.71462828L11.315266099999999,6.266187L11.647210099999999,6.266187L11.759782300000001,5.71462828L11.424952000000001,5.71462828ZM13.653303600000001,5L14.2075052,5L13.959268999999999,6.4964027L12.7123156,6.4964027Q12.6286077,6.4964027,12.5867548,6.4508393Q12.5449009,6.4052758,12.5449009,6.3357314L12.6834512,5.48441252L13.5695958,5.48441252L13.653303600000001,5ZM13.1943555,5.71462828L13.0875564,6.266187L13.439705400000001,6.266187L13.543618200000001,5.71462828L13.1943555,5.71462828ZM15.8903141,6.0815347L15.0041695,6.0815347L14.975304600000001,6.266187L15.7517643,6.266187L15.8903141,6.1750599L15.8066072,6.4964027L14.5885181,6.4964027Q14.5048108,6.4964027,14.4629569,6.4508393Q14.421103500000001,6.4052758,14.421103500000001,6.3357314L14.5596538,5.48441252L16,5.48441252L15.8903141,6.0815347ZM15.0849905,5.71462828L15.0590124,5.85131896L15.3909559,5.85131896L15.4198208,5.71462828L15.0849905,5.71462828Z" fill="#DFDFDF" fill-opacity="1"></path></g></g>',2)])])}const Cue={render:Aue},wue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"173",height:"46",viewBox:"0 0 173 46"};function Tue(e,t){return ne(),Te("svg",wue,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M171,6.000001L171,45Q171,45.098488,171.0192,45.195084Q171.03841,45.291679,171.0761,45.382675Q171.11378,45.473667,171.1685,45.555557Q171.22324,45.637455,171.29288,45.707104Q171.36252,45.776749,171.4444,45.831467Q171.52631,45.886185,171.61729,45.923874Q171.70828,45.961567,171.8049,45.980782Q171.9015,46,172,46Q172.09848,46,172.19508,45.980785Q172.29167,45.961567,172.38266,45.923874Q172.47366,45.886185,172.55556,45.831463Q172.63745,45.776741,172.70709,45.7071Q172.77673,45.637451,172.83145,45.555557Q172.88617,45.473667,172.92386,45.382675Q172.96156,45.291679,172.98077,45.195084Q173,45.098488,173,45L173,6.000001Q173,3.5147171,171.24265,1.7573599199999999Q169.48529,-1.0000000005838672e-7,167,-4.0000000001150227e-7L6.0000014,0Q3.514719,0,1.75735939,1.75735945Q-4.0000000001150227e-7,3.514719,-4.0000000001150227e-7,6.000001L0,25.508352Q5.999999996841865e-8,25.606842,0.019214810000000027,25.703442Q0.038429559999999974,25.800039,0.07612061999999997,25.891033Q0.11381160999999995,25.982027,0.16853046000000005,26.063919Q0.22324938000000005,26.145813,0.29289329,26.215456Q0.36253726,26.285099,0.44442981000000004,26.339817Q0.5263224200000001,26.394535,0.6173166,26.432226Q0.7083107799999999,26.469917,0.80490969,26.489132Q0.9015086,26.508348,1,26.50835Q1.0984914,26.508348,1.1950903099999999,26.489134Q1.29168922,26.469917,1.3826834,26.432228Q1.47367758,26.394535,1.55557013,26.339817Q1.6374627400000001,26.285099,1.7071067100000001,26.215456Q1.77675062,26.145813,1.83146948,26.063919Q1.88618839,25.982025,1.9238794399999999,25.891031Q1.9615705,25.800037,1.98078519,25.703438Q1.99999994,25.60684,2,25.50835L1.9999997,6.000001Q1.99999964,4.3431461,3.1715729,3.1715732Q4.3431461,2,6.0000014,2L167,1.9999997Q168.65688,1.9999997,169.82845,3.1715724Q171,4.3431339,171,6.000001Z","fill-rule":"evenodd",fill:"#D26DF9","fill-opacity":"1"})],-1)])])}const Iue={render:Tue},Pue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"156",height:"46",viewBox:"0 0 156 46"};function Oue(e,t){return ne(),Te("svg",Pue,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M154,6.000001L154,45Q154,45.098488,154.01921,45.195084Q154.03842,45.291679,154.07611,45.382675Q154.1138,45.473667,154.16852,45.555557Q154.22324,45.637455,154.29288,45.707104Q154.36252,45.776749,154.44443,45.831467Q154.52631,45.886185,154.61731,45.923874Q154.70831,45.961567,154.8049,45.980782Q154.9015,46,155,46Q155.09848,46,155.19508,45.980785Q155.29169,45.961567,155.38268,45.923874Q155.47366,45.886185,155.55556,45.831463Q155.63745,45.776741,155.70709,45.7071Q155.77673,45.637451,155.83145,45.555557Q155.88617,45.473667,155.92387,45.382675Q155.96156,45.291679,155.98079,45.195084Q156,45.098488,156,45L156,6.000001Q156,3.5147171,154.24265,1.7573599199999999Q152.48529,-1.0000000005838672e-7,150,-4.0000000001150227e-7L6.0000019,0Q3.5147197,0,1.75735945,1.75735939Q-5.00000000069889e-7,3.5147188,-4.0000000001150227e-7,6.000001L0,25.508352Q5.999999996841865e-8,25.606842,0.019214810000000027,25.703442Q0.038429559999999974,25.800039,0.07612061999999997,25.891033Q0.11381160999999995,25.982027,0.16853046000000005,26.063919Q0.22324938000000005,26.145813,0.29289329,26.215456Q0.36253726,26.285099,0.44442981000000004,26.339817Q0.5263224200000001,26.394535,0.6173166,26.432226Q0.7083107799999999,26.469917,0.80490969,26.489132Q0.9015086,26.508348,1,26.50835Q1.0984914,26.508348,1.1950903099999999,26.489134Q1.29168922,26.469917,1.3826834,26.432228Q1.47367758,26.394535,1.55557013,26.339817Q1.6374627400000001,26.285099,1.7071067100000001,26.215456Q1.77675062,26.145813,1.83146948,26.063919Q1.88618839,25.982025,1.9238794399999999,25.891031Q1.9615705,25.800037,1.98078519,25.703438Q1.99999994,25.60684,2,25.50835L1.9999997,6.000001Q1.9999997,4.3431458,3.1715727,3.1715732Q4.3431461,2,6.0000019,2L150,1.9999997Q151.65688,1.9999997,152.82845,3.1715724Q154,4.3431339,154,6.000001Z","fill-rule":"evenodd",fill:"#D8D8D8","fill-opacity":"1"})],-1)])])}const _ue={render:Oue},Rue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"139",height:"46",viewBox:"0 0 139 46"};function kue(e,t){return ne(),Te("svg",Rue,[...t[0]||(t[0]=[G("g",null,[G("path",{d:"M137,6.000001L137,45Q137,45.098488,137.01921,45.195084Q137.03842,45.291679,137.07611,45.382675Q137.1138,45.473667,137.16852,45.555557Q137.22324,45.637455,137.29289,45.707104Q137.36253,45.776749,137.44443,45.831467Q137.52631,45.886185,137.61731,45.923874Q137.70831,45.961567,137.8049,45.980782Q137.90152,46,138,46Q138.0985,46,138.1951,45.980785Q138.29169,45.961567,138.38268,45.923874Q138.47366,45.886185,138.55557,45.831463Q138.63745,45.776741,138.70711,45.7071Q138.77673,45.637451,138.83145,45.555557Q138.88617,45.473667,138.92387,45.382675Q138.96158,45.291679,138.98079,45.195084Q139,45.098488,139,45L139,6.000001Q139,3.5147171,137.24265,1.7573599199999999Q135.48529,-1.0000000005838672e-7,133,-4.0000000001150227e-7L5.999999,0Q3.5147183,0,1.7573589699999999,1.7573595Q-1.9999999989472883e-7,3.514719,-4.0000000001150227e-7,6.000001L0,25.508352Q5.999999996841865e-8,25.606842,0.019214810000000027,25.703442Q0.038429559999999974,25.800039,0.07612061999999997,25.891033Q0.11381160999999995,25.982027,0.16853046000000005,26.063919Q0.22324938000000005,26.145813,0.29289329,26.215456Q0.36253726,26.285099,0.44442981000000004,26.339817Q0.5263224200000001,26.394535,0.6173166,26.432226Q0.7083107799999999,26.469917,0.80490969,26.489132Q0.9015086,26.508348,1,26.50835Q1.0984914,26.508348,1.1950903099999999,26.489134Q1.29168922,26.469917,1.3826834,26.432228Q1.47367758,26.394535,1.55557013,26.339817Q1.6374627400000001,26.285099,1.7071067100000001,26.215456Q1.77675062,26.145813,1.83146948,26.063919Q1.88618839,25.982025,1.9238794399999999,25.891031Q1.9615705,25.800037,1.98078519,25.703438Q1.99999994,25.60684,2,25.50835L1.9999997,6.000001Q1.9999997,4.3431461,3.1715727,3.1715732Q4.3431454,2,5.999999,2L133,1.9999997Q134.65688,1.9999997,135.82845,3.1715724Q137,4.3431339,137,6.000001Z","fill-rule":"evenodd",fill:"#D8D8D8","fill-opacity":"1"})],-1)])])}const xue={render:kue},Due={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"20",height:"20",viewBox:"0 0 20 20"};function Lue(e,t){return ne(),Te("svg",Due,[...t[0]||(t[0]=[bi('<g><g></g><g><g><path d="M15.5,4.796875C15.5,4.796875,4.5,4.796875,4.5,4.796875C4.085785,4.796875,3.7500000000000284,4.461095,3.7500000000000284,4.046875C3.7500000000000284,3.63266,4.085785,3.296875,4.5,3.296875C4.5,3.296875,15.5,3.296875,15.5,3.296875C15.9142,3.296875,16.25,3.63266,16.25,4.046875C16.25,4.461095,15.9142,4.796875,15.5,4.796875C15.5,4.796875,15.5,4.796875,15.5,4.796875Z" fill="#ff8517" fill-opacity="1"></path></g></g><g><g><path d="M15.5,17.296875C15.5,17.296875,4.5,17.296875,4.5,17.296875C4.085785,17.296875,3.7500000000000284,16.961125,3.7500000000000284,16.546875C3.7500000000000284,16.132629,4.085785,15.796875,4.5,15.796875C4.5,15.796875,15.5,15.796875,15.5,15.796875C15.9142,15.796875,16.25,16.132629,16.25,16.546875C16.25,16.961125,15.9142,17.296875,15.5,17.296875C15.5,17.296875,15.5,17.296875,15.5,17.296875Z" fill="#ff8517" fill-opacity="1"></path></g></g><g><g><path d="M11,11.046875C11,11.046875,9,11.046875,9,11.046875C7.798,11.046875,6.667949999999999,10.578795,5.81801,9.728855C4.968079,8.878924999999999,4.5,7.748875,4.5,6.546875C4.5,6.546875,4.5,4.796875,4.5,4.796875C4.5,4.38266,4.835785,4.046875000000028,5.25,4.046875000000028C5.66422,4.046875000000028,6,4.38266,6,4.796875C6,4.796875,6,6.546875,6,6.546875C6,8.201084999999999,7.34579,9.546875,9,9.546875C9,9.546875,11,9.546875,11,9.546875C12.65421,9.546875,14,8.201084999999999,14,6.546875C14,6.546875,14,4.796875,14,4.796875C14,4.38266,14.33578,4.046875000000028,14.75,4.046875000000028C15.1642,4.046875000000028,15.5,4.38266,15.5,4.796875C15.5,4.796875,15.5,6.546875,15.5,6.546875C15.5,7.748875,15.0319,8.878924999999999,14.18198,9.728855C13.33205,10.578795,12.202,11.046875,11,11.046875C11,11.046875,11,11.046875,11,11.046875Z" fill="#ff8517" fill-opacity="1"></path></g></g><g><g><path d="M14.75,16.546875C14.33578,16.546875,14,16.211095,14,15.796875C14,15.796875,14,14.046875,14,14.046875C14,12.392665000000001,12.65421,11.046875,11,11.046875C11,11.046875,9,11.046875,9,11.046875C7.34579,11.046875,6,12.392665000000001,6,14.046875C6,14.046875,6,15.796875,6,15.796875C6,16.211095,5.66422,16.546875,5.25,16.546875C4.835785,16.546875,4.500000000000028,16.211095,4.500000000000028,15.796875C4.500000000000028,15.796875,4.500000000000028,14.046875,4.500000000000028,14.046875C4.500000000000028,12.844875,4.968079,11.714845,5.81801,10.864895C6.667949999999999,10.014954,7.798,9.546875,9,9.546875C9,9.546875,11,9.546875,11,9.546875C12.202,9.546875,13.33205,10.014954,14.18198,10.864895C15.0319,11.714845,15.5,12.844875,15.5,14.046875C15.5,14.046875,15.5,15.796875,15.5,15.796875C15.5,16.211095,15.1642,16.546875,14.75,16.546875C14.75,16.546875,14.75,16.546875,14.75,16.546875Z" fill="#ff8517" fill-opacity="1"></path></g></g><g><path d="M7.5 13.421875C7.5 12.938625843898055 7.8917508438980555 12.546875 8.375 12.546875L11.625 12.546875C12.108249156101945 12.546875 12.5 12.938625843898055 12.5 13.421875L12.5 14.296875C12.5 14.296875 12.5 14.296875 12.5 14.296875L7.5 14.296875C7.5 14.296875 7.5 14.296875 7.5 14.296875Z" fill="#ff8517" fill-opacity="1"></path></g></g>',1)])])}const Nue={render:Lue},Mue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"1",height:"41",viewBox:"0 0 1 41"};function Bue(e,t){return ne(),Te("svg",Mue,[...t[0]||(t[0]=[G("g",{transform:"matrix(0,1,-1,0,1,0)"},[G("path",{d:"M1.49999994,0L0.5,0L0.5,1L1.49999994,1L1.49999994,0ZM5.5,0L3.5,0L3.5,1L5.5,1L5.5,0ZM9.5,0L7.5,0L7.5,1L9.5,1L9.5,0ZM13.5,0L11.5,0L11.5,1L13.5,1L13.5,0ZM17.5,0L15.5,0L15.5,1L17.5,1L17.5,0ZM21.5,0L19.5,0L19.5,1L21.5,1L21.5,0ZM25.396267,0L23.5,0L23.5,1L25.5,1L25.5,0L25.396267,0ZM29.5,0L27.5,0L27.5,1L29.5,1L29.5,0ZM33.5,0L31.5,0L31.5,1L33.5,1L33.5,0ZM37.5,0L35.5,0L35.5,1L37.5,1L37.5,0ZM40.5,0L39.5,0L39.5,1L40.5,1L40.5,0Z","fill-rule":"evenodd",fill:"#FFFFFF","fill-opacity":"1"})],-1)])])}const Fue={render:Bue},Uue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",fill:"none",version:"1.1",width:"105.2637939453125",height:"134.6925048828125",viewBox:"0 0 105.2637939453125 134.6925048828125"};function jue(e,t){return ne(),Te("svg",Uue,[...t[0]||(t[0]=[bi('<defs><filter id="master_svg0_540_24114" filterUnits="objectBoundingBox" color-interpolation-filters="sRGB" x="-0.2657320739010564" y="-0.15282848108318026" width="1.5314641478021127" height="1.3820712027079507"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy="4" dx="0"></feOffset><feGaussianBlur stdDeviation="5"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.30000001192092896 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend></filter><linearGradient x1="0.5" y1="0" x2="0.5" y2="1" id="master_svg1_495_22803"><stop offset="0%" stop-color="#000000" stop-opacity="1"></stop><stop offset="100%" stop-color="#535252" stop-opacity="1"></stop></linearGradient></defs><g filter="url(#master_svg0_540_24114)"><g><ellipse cx="31.617759704589844" cy="63.34626388549805" rx="16.617759704589844" ry="52.34626388549805" fill="#5A5A5A" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><rect x="32.14990234375" y="11.0333251953125" width="2.2065680027008057" height="104.6321029663086" rx="0" fill="#676767" fill-opacity="1" style="mix-blend-mode:passthrough;"></rect></g><g><ellipse cx="34.356496810913086" cy="63.34626388549805" rx="17.048879623413086" ry="52.34626388549805" fill="#2F302F" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><rect x="37.815185546875" y="18.7142333984375" width="43.6109619140625" height="89.2644271850586" rx="0" fill="#D26DF9" fill-opacity="1" style="mix-blend-mode:passthrough;"></rect></g><g><ellipse cx="37.815125465393066" cy="63.34624481201172" rx="14.630799293518066" ry="44.63213348388672" fill="#D26DF9" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><ellipse cx="73.82871913909912" cy="63.34629154205322" rx="4.115096092224121" ry="12.634865760803223" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><ellipse cx="70.47591400146484" cy="63.34626388549805" rx="16.617759704589844" ry="52.34626388549805" fill="#5A5A5A" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><rect x="71.008544921875" y="11.02734375" width="2.2065680027008057" height="104.63530731201172" rx="0" fill="#676767" fill-opacity="1" style="mix-blend-mode:passthrough;"></rect></g><g><ellipse cx="73.21489524841309" cy="63.34626388549805" rx="17.048879623413086" ry="52.34626388549805" fill="#2F302F" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g><g><ellipse cx="74.31492328643799" cy="63.34635353088379" rx="3.6222963333129883" ry="11.121744155883789" fill="url(#master_svg1_495_22803)" fill-opacity="1" style="mix-blend-mode:passthrough;"></ellipse></g></g>',2)])])}const Hue={render:jue};function Fu(e){const t=s=>{if(!s)return null;const a=s.split("&");for(const c of a){if(!c)continue;const l=c.indexOf("="),u=l>=0?c.slice(0,l):c,d=l>=0?c.slice(l+1):"";if(u===e)try{return decodeURIComponent(d)}catch{return d}}return null},n=window.location.search.startsWith("?")?window.location.search.slice(1):"",r=t(n);if(r!==null)return r;const i=window.location.hash||"",o=i.indexOf("?");if(o!==-1){const s=i.slice(o+1),a=t(s);if(a!==null)return a}return null}const qi={printerId:Fu("id"),ip:Fu("ip")||"10.31.1.155",sn:Fu("sn")||"F01GAUPGSAF6ATC",access_code:Fu("access_code")||"123456",username:Fu("username")||"elegoo",region:Fu("region")||"",lang:Fu("lang")||"zh_CN",dev:Fu("dev")==="true"};var qC=(e=>(e.AsiaPacific="Asia-Pacific",e.China="China",e.Europe="Europe",e.NorthAmerica="North America",e.Others="Others",e))(qC||{}),iV=(e=>(e.zh_CN="zh_CN",e.en_US="en_US",e))(iV||{}),Ge=(e=>(e[e.Offline=-1]="Offline",e[e.Initializing=0]="Initializing",e[e.Idle=1]="Idle",e[e.Printing=2]="Printing",e[e.Loading=3]="Loading",e[e.UnLoading=4]="UnLoading",e[e.AutoLeveling=5]="AutoLeveling",e[e.PidCalibration=6]="PidCalibration",e[e.ResonanceTester=7]="ResonanceTester",e[e.SelfCheck=8]="SelfCheck",e[e.Upgrade=9]="Upgrade",e[e.ManualHoming=10]="ManualHoming",e[e.FileSending=11]="FileSending",e[e.TimeLapseVideoGenerating=12]="TimeLapseVideoGenerating",e[e.Extrudering=13]="Extrudering",e[e.EmergencyStop=14]="EmergencyStop",e[e.PowerOffResume=15]="PowerOffResume",e[e.ComponentUpgrade=16]="ComponentUpgrade",e))(Ge||{}),De=(e=>(e[e.Default=0]="Default",e[e.NozzleHeating=1133]="NozzleHeating",e[e.ManualInsertFilament=1134]="ManualInsertFilament",e[e.BiteFilament=1135]="BiteFilament",e[e.BiteFilamentEnd=1136]="BiteFilamentEnd",e[e.CutFilament=1143]="CutFilament",e[e.EjectFilament=1144]="EjectFilament",e[e.EjectFilamentComplete=1145]="EjectFilamentComplete",e[e.LoadStartCanvas=1150]="LoadStartCanvas",e[e.LoadNozzleHeatingCanvas=1151]="LoadNozzleHeatingCanvas",e[e.LoadManualInsertFilamentCanvas=1152]="LoadManualInsertFilamentCanvas",e[e.LoadCutFilamentCanvas=1153]="LoadCutFilamentCanvas",e[e.LoadDrawFilamentCanvas=1154]="LoadDrawFilamentCanvas",e[e.LoadPushFilamentCanvas=1155]="LoadPushFilamentCanvas",e[e.LoadFlushFilamentCanvas=1156]="LoadFlushFilamentCanvas",e[e.LoadCompleteCanvas=1157]="LoadCompleteCanvas",e[e.LoadFailedCanvas=1158]="LoadFailedCanvas",e[e.ChamberCooling=1070]="ChamberCooling",e[e.ChamberCoolingComplete=1071]="ChamberCoolingComplete",e[e.ChamberCoolingFailed=1072]="ChamberCoolingFailed",e[e.UnloadStartCanvas=1160]="UnloadStartCanvas",e[e.UnloadNozzleHeatingCanvas=1161]="UnloadNozzleHeatingCanvas",e[e.UnloadCheckFilamentCanvas=1162]="UnloadCheckFilamentCanvas",e[e.UnloadCutFilamentCanvas=1163]="UnloadCutFilamentCanvas",e[e.UnloadDrawFilamentCanvas=1164]="UnloadDrawFilamentCanvas",e[e.UnloadCompleteCanvas=1165]="UnloadCompleteCanvas",e[e.UnloadFailedCanvas=1166]="UnloadFailedCanvas",e[e.HotendPreheating=1045]="HotendPreheating",e[e.HotendCooling=1096]="HotendCooling",e[e.BedPreheating=1405]="BedPreheating",e[e.BedCooling=1906]="BedCooling",e[e.EnvironmentTooCold=1041]="EnvironmentTooCold",e[e.Homing=2801]="Homing",e[e.Homed=2802]="Homed",e[e.AutoLeveling=2901]="AutoLeveling",e[e.AutoLevelingComplete=2902]="AutoLevelingComplete",e[e.Pausing=2501]="Pausing",e[e.Paused=2502]="Paused",e[e.Resuming=2401]="Resuming",e[e.Resumed=2402]="Resumed",e[e.Stopping=2503]="Stopping",e[e.Stopped=2504]="Stopped",e[e.Printing=2075]="Printing",e[e.PrintComplete=2077]="PrintComplete",e[e.Interruption=2505]="Interruption",e[e.PidPreheating=1053]="PidPreheating",e[e.PidDetecting=1054]="PidDetecting",e[e.PidCompleted=1055]="PidCompleted",e[e.PidFailed=1056]="PidFailed",e[e.AccelerometerNormal=5932]="AccelerometerNormal",e[e.AccelerometerError=5933]="AccelerometerError",e[e.ResonanceOptimizing=5934]="ResonanceOptimizing",e[e.ResonanceOptimized=5935]="ResonanceOptimized",e[e.ResonanceOptimizeFailed=5936]="ResonanceOptimizeFailed",e[e.OTAInfoUpdating=2601]="OTAInfoUpdating",e[e.OTADownloading=2701]="OTADownloading",e[e.OTAExtracting=2702]="OTAExtracting",e[e.OTAUpdating=2703]="OTAUpdating",e[e.OTAComplete=2704]="OTAComplete",e[e.OTAFailed=2705]="OTAFailed",e[e.ComponentUpgrading=3030]="ComponentUpgrading",e[e.ComponentUpgradeComplete=3031]="ComponentUpgradeComplete",e[e.InitializeComplete=2603]="InitializeComplete",e[e.FileSending=3e3]="FileSending",e[e.FileSendingComplete=3001]="FileSendingComplete",e[e.FileCopying=3010]="FileCopying",e[e.FileCopyingComplete=3011]="FileCopyingComplete",e[e.TimeLapseVideoGenerating=3020]="TimeLapseVideoGenerating",e[e.TimeLapseVideoGeneratingComplete=3021]="TimeLapseVideoGeneratingComplete",e[e.TimeLapseVideoGeneratingFailed=3022]="TimeLapseVideoGeneratingFailed",e[e.ExtruderLoading=1061]="ExtruderLoading",e[e.ExtruderLoadComplete=1063]="ExtruderLoadComplete",e[e.ExtruderUnloading=1062]="ExtruderUnloading",e[e.ExtruderUnloadingComplete=1064]="ExtruderUnloadingComplete",e[e.PowerOffResume=2405]="PowerOffResume",e[e.PowerOffResumeComplete=2406]="PowerOffResumeComplete",e))(De||{}),wi=(e=>(e.NoFilament="/",e.NoRecognition="?",e))(wi||{}),tc=(e=>(e.CC2="Centauri Carbon 2",e.C2="Centauri 2",e))(tc||{}),$C=(e=>(e[e.NoFilament=0]="NoFilament",e[e.Filament=1]="Filament",e))($C||{}),oV=(e=>(e[e.NoodleDefect=1]="NoodleDefect",e[e.NoDefect=0]="NoDefect",e))(oV||{}),Eh=(e=>(e[e.Success=0]="Success",e[e.FilamentRunout=109]="FilamentRunout",e[e.TokenValidationFailed=1e3]="TokenValidationFailed",e[e.UnknownInterface=1001]="UnknownInterface",e[e.FolderOpenFailed=1002]="FolderOpenFailed",e[e.InvalidParameter=1003]="InvalidParameter",e[e.FileWriteFailed=1004]="FileWriteFailed",e[e.UpdateTokenFailed=1005]="UpdateTokenFailed",e[e.SendUpdateMosFailed=1006]="SendUpdateMosFailed",e[e.FileDeleteFailed=1007]="FileDeleteFailed",e[e.ResponseDataEmpty=1008]="ResponseDataEmpty",e[e.PrinterBusy=1009]="PrinterBusy",e[e.PrinterNotPrinting=1010]="PrinterNotPrinting",e[e.FileCopyFailed=1011]="FileCopyFailed",e[e.TaskNotFound=1012]="TaskNotFound",e[e.DatabaseOperationFailed=1013]="DatabaseOperationFailed",e[e.GcodeFileInvalid=1014]="GcodeFileInvalid",e[e.ThumbnailNotExist=1015]="ThumbnailNotExist",e[e.ParseThumbnailFailed=1016]="ParseThumbnailFailed",e[e.UDiskNotDetected=1017]="UDiskNotDetected",e[e.UDiskRemoved=1018]="UDiskRemoved",e[e.TimeLapseVideoGenerateFailed=1019]="TimeLapseVideoGenerateFailed",e[e.TimeLapseVideoNotExist=1020]="TimeLapseVideoNotExist",e[e.PrintFileNotExist=1021]="PrintFileNotExist",e[e.BedMeshDataMissing=1026]="BedMeshDataMissing",e[e.ComponentNotUpgraded=1036]="ComponentNotUpgraded",e[e.FileOffsetMismatch=9e3]="FileOffsetMismatch",e[e.FileWriteOpenFailed=9001]="FileWriteOpenFailed",e[e.FileWriteFailed2=9002]="FileWriteFailed2",e[e.FileSeekFailed=9003]="FileSeekFailed",e[e.MD5CheckFailed=9004]="MD5CheckFailed",e[e.NoCancelNeeded=9005]="NoCancelNeeded",e[e.CancelFailed=9006]="CancelFailed",e[e.UploadPathNotExist=9007]="UploadPathNotExist",e[e.MD5CheckFailedSystemError=9008]="MD5CheckFailedSystemError",e[e.MD5CheckFailedReadError=9009]="MD5CheckFailedReadError",e[e.UploadDeleteSameNameFileFailed=9010]="UploadDeleteSameNameFileFailed",e[e.UnknownError=9999]="UnknownError",e))(Eh||{}),Oo=(e=>(e[e.Empty=0]="Empty",e[e.preViewLoad=1]="preViewLoad",e[e.loaded=2]="loaded",e))(Oo||{}),Y3=(e=>(e[e.NotCaptured=0]="NotCaptured",e[e.hasNoGenerated=1]="hasNoGenerated",e[e.hasGenerated=2]="hasGenerated",e[e.Failed=3]="Failed",e))(Y3||{});function C7(e){return{0:"Success",109:"FilamentRunout",1e3:"TokenValidationFailed",1001:"UnknownInterface",1002:"FolderOpenFailed",1003:"InvalidParameter",1004:"FileWriteFailed",1005:"UpdateTokenFailed",1006:"SendUpdateMosFailed",1007:"FileDeleteFailed",1008:"ResponseDataEmpty",1009:"PrinterBusy",1010:"PrinterNotPrinting",1011:"FileCopyFailed",1012:"TaskNotFound",1013:"DatabaseOperationFailed",1014:"GcodeFileInvalid",1015:"ThumbnailNotExist",1016:"ParseThumbnailFailed",1017:"UDiskNotDetected",1018:"UDiskRemoved",1019:"TimeLapseVideoGenerateFailed",1020:"TimeLapseVideoNotExist",1021:"PrintFileNotExist",1026:"BedMeshDataMissing",1036:"ComponentNotUpgraded",9e3:"FileOffsetMismatch",9001:"FileWriteOpenFailed",9002:"FileWriteFailed",9003:"FileSeekFailed",9004:"MD5CheckFailed",9005:"NoCancelNeeded",9006:"CancelFailed",9007:"UploadPathNotExist",9008:"MD5CheckFailedSystemError",9009:"MD5CheckFailedReadError",9010:"UploadDeleteSameNameFileFailed",9999:"UnknownError"}[e]||"UnknownError"}var zc=(e=>(e[e.BedHeatFailed=101]="BedHeatFailed",e[e.BedTempSensorDisconnected=102]="BedTempSensorDisconnected",e[e.NozzleHeatFailed=103]="NozzleHeatFailed",e[e.NozzleTempSensorDisconnected=104]="NozzleTempSensorDisconnected",e[e.NozzleTempSensorShorted=105]="NozzleTempSensorShorted",e[e.BedTempSensorShorted=106]="BedTempSensorShorted",e[e.ToolheadOverheatingProtection=107]="ToolheadOverheatingProtection",e[e.BedOverheatingProtection=108]="BedOverheatingProtection",e[e.MonoFilamentRunout=109]="MonoFilamentRunout",e[e.ChamberTempSensorDisconnected=205]="ChamberTempSensorDisconnected",e[e.ChamberTempSensorShorted=206]="ChamberTempSensorShorted",e[e.ZHomingFailed=304]="ZHomingFailed",e[e.AccelerometerChipError=401]="AccelerometerChipError",e[e.PressureSensorDataError=605]="PressureSensorDataError",e[e.MainboardFanError=701]="MainboardFanError",e[e.HeatbreakFanError=702]="HeatbreakFanError",e[e.ModelFanError=703]="ModelFanError",e[e.LevelingFailed=704]="LevelingFailed",e[e.AuxiliaryFanError=705]="AuxiliaryFanError",e[e.CaseFanError=706]="CaseFanError",e[e.MainboardExtruderCommunicationError=801]="MainboardExtruderCommunicationError",e[e.LevelingSensorControllerCommunicationError=802]="LevelingSensorControllerCommunicationError",e[e.CriticalSystemError=803]="CriticalSystemError",e[e.ExhaustVentOpenFailed=1101]="ExhaustVentOpenFailed",e[e.ExhaustVentCloseFailed=1102]="ExhaustVentCloseFailed",e[e.XMotorDriverError=1103]="XMotorDriverError",e[e.YMotorDriverError=1104]="YMotorDriverError",e[e.ZMotorDriverError=1105]="ZMotorDriverError",e[e.ExtruderMotorDriverError=1106]="ExtruderMotorDriverError",e[e.PrintFileUnavailable=1300]="PrintFileUnavailable",e[e.CanvasCommunicationError=1210]="CanvasCommunicationError",e[e.CanvasFilamentRunout=1211]="CanvasFilamentRunout",e[e.ExtruderError=1220]="ExtruderError",e[e.FilamentCutFailed=1231]="FilamentCutFailed",e[e.CutterHandleNotReleased_1232=1232]="CutterHandleNotReleased_1232",e[e.LoadingError=1241]="LoadingError",e[e.UnloadFilamentAtToolheadFailed_1242=1242]="UnloadFilamentAtToolheadFailed_1242",e[e.UnloadFilamentAtToolheadFailed_1252=1252]="UnloadFilamentAtToolheadFailed_1252",e[e.ToolheadExtrusionFailed_1251=1251]="ToolheadExtrusionFailed_1251",e[e.ToolheadFrontCoverDetached=1261]="ToolheadFrontCoverDetached",e[e.CutterHandleNotReleased_1262=1262]="CutterHandleNotReleased_1262",e[e.ToolheadExtrusionFailed_1263=1263]="ToolheadExtrusionFailed_1263",e[e.ToolheadExtrusionFailed_1264=1264]="ToolheadExtrusionFailed_1264",e[e.ToolheadExtrusionFailed_1265=1265]="ToolheadExtrusionFailed_1265",e[e.FilamentAbnormalAtToolhead_1266=1266]="FilamentAbnormalAtToolhead_1266",e[e.FilamentNotDetectedAtToolhead_1267=1267]="FilamentNotDetectedAtToolhead_1267",e[e.ChamberTempTooHigh=901]="ChamberTempTooHigh",e[e.ChamberTempOverheatingProtection=902]="ChamberTempOverheatingProtection",e[e.MainboardDriverUnitOverheatingProtection=903]="MainboardDriverUnitOverheatingProtection",e[e.UDiskStorageSpaceNotEnough=904]="UDiskStorageSpaceNotEnough",e[e.UDiskReadException=905]="UDiskReadException",e[e.VersionUpdateFailed=906]="VersionUpdateFailed",e[e.ToolheadExtrusionFailed_1243=1243]="ToolheadExtrusionFailed_1243",e[e.ToolheadExtrusionFailed_1244=1244]="ToolheadExtrusionFailed_1244",e[e.ToolheadFrontCoverDetached_707=707]="ToolheadFrontCoverDetached_707",e[e.NoodleDefect=1301]="NoodleDefect",e[e.foreignDetection=1302]="foreignDetection",e))(zc||{});function zue(e){return{701:"exceptionCode.MainboardFanError",702:"exceptionCode.HeatbreakFanError",703:"exceptionCode.ModelFanError",304:"exceptionCode.ZHomingFailed",704:"exceptionCode.LevelingFailed",104:"exceptionCode.NozzleTempSensorDisconnected",105:"exceptionCode.NozzleTempSensorShorted",103:"exceptionCode.NozzleHeatFailed",102:"exceptionCode.BedTempSensorDisconnected",106:"exceptionCode.BedTempSensorShorted",101:"exceptionCode.BedHeatFailed",205:"exceptionCode.ChamberTempSensorDisconnected",206:"exceptionCode.ChamberTempSensorShorted",401:"exceptionCode.AccelerometerChipError",605:"exceptionCode.PressureSensorDataError",801:"exceptionCode.MainboardExtruderCommunicationError",802:"exceptionCode.LevelingSensorControllerCommunicationError",803:"exceptionCode.CriticalSystemError",1101:"exceptionCode.ExhaustVentOpenFailed",1102:"exceptionCode.ExhaustVentCloseFailed",705:"exceptionCode.AuxiliaryFanError",706:"exceptionCode.CaseFanError",107:"exceptionCode.ToolheadOverheatingProtection",108:"exceptionCode.BedOverheatingProtection",1210:"exceptionCode.CanvasCommunicationError",1211:"exceptionCode.FilamentRunout",109:"exceptionCode.FilamentRunout",1220:"exceptionCode.ExtruderError",1231:"exceptionCode.FilamentCutFailed",1232:"exceptionCode.CutterHandleNotReleased",1241:"exceptionCode.LoadingError",1242:"exceptionCode.UnloadFilamentAtToolheadFailed",1252:"exceptionCode.UnloadFilamentAtToolheadFailed",1251:"exceptionCode.ToolheadExtrusionFailed",1265:"exceptionCode.ToolheadExtrusionFailed",1261:"exceptionCode.ToolheadFrontCoverDetached",1262:"exceptionCode.CutterHandleNotReleased",1263:"exceptionCode.ToolheadExtrusionFailed",1264:"exceptionCode.ToolheadExtrusionFailed",1266:"exceptionCode.FilamentAbnormalAtToolhead_1266",1267:"exceptionCode.FilamentNotDetectedAtToolhead_1267",1244:"exceptionCode.ToolheadExtrusionFailed",1243:"exceptionCode.ToolheadExtrusionFailed",1300:"exceptionCode.PrintFileUnavailable",901:"exceptionCode.ChamberTempTooHigh",902:"exceptionCode.ChamberTempOverheatingProtection",903:"exceptionCode.MainboardDriverUnitOverheatingProtection",904:"exceptionCode.UDiskStorageSpaceNotEnough",905:"exceptionCode.UDiskReadException",906:"exceptionCode.VersionUpdateFailed",707:"exceptionCode.ToolheadFrontCoverDetached"}[e]||"exceptionCode.UnknownException"}function Wue(e,t,n="zh"){const r=[1103,1104,1105,1106],i={1103:"exceptionCode.XAxisMotor",1104:"exceptionCode.YAxisMotor",1105:"exceptionCode.ZAxisMotor",1106:"exceptionCode.ExtruderMotor"},o=e.filter(u=>r.includes(u));if(o.length===0)return null;o.sort((u,d)=>u-d);const s=o.map(u=>{const d=i[u];return t(d)}),c=n.startsWith("zh")?"、":", ",l=s.join(c);return t("exceptionCode.MotorDriverError",{axisNames:l})}const Vue=new Set([104,105,103,102,106,101,801,803,1210,107,108,902,903,1103,1104,1105,1106]);function Gue(e){return Vue.has(e)}var w7=(e=>(e.AlreadyRegistered="already registered",e.TooManyClients="too many clients",e))(w7||{}),na=(e=>(e.AuxiliaryFan="auxiliaryFan",e.ExhaustGrille="exhaustGrille",e.ChassisFan="chassisFan",e.ChassisLight="chassisLight",e.ModelFan="modelFan",e))(na||{});const Jue=["width"],Zue={class:"flex items-center justify-end"},Yue=["href"],Xue={key:0,class:"ml-1.5"},Que=Je({__name:"fdm-header",setup(e){const{isMobile:t}=gs(),{locale:n}=Eo();qi.lang===iV.zh_CN?n.value="zh":n.value="en";const r=V(()=>t.value?"110":"156"),i=V(()=>t.value?"width:20px;":"width:26px"),o=V(()=>qi.region===qC.China),s=V(()=>o.value?"https://mall.jd.com/index-10397047.html":"https://www.elegoo.com"),a=V(()=>"ELEGOO STORE");return(c,l)=>(ne(),Te("div",{class:"title-bar",style:Ut(P(t)?"padding: 0 10px":"padding: 0 30px")},[G("img",{src:loe,alt:"logo",width:r.value},null,8,Jue),G("div",Zue,[G("a",{target:"_blank",class:"store-box",style:Ut(P(t)?"":"margin-left:150px"),href:s.value},[be(P(zae),{style:Ut(i.value)},null,8,["style"]),P(t)?Ke("",!0):(ne(),Te("span",Xue,Ue(a.value),1))],12,Yue)])],4))}}),Kue=rr(Que,[["__scopeId","data-v-84b3efdf"]]),sV=Symbol(),cm="el",que="is-",d0=(e,t,n,r,i)=>{let o=`${e}-${t}`;return n&&(o+=`-${n}`),r&&(o+=`__${r}`),i&&(o+=`--${i}`),o},aV=Symbol("namespaceContextKey"),ew=e=>{const t=e||(yn()?Vt(aV,se(cm)):se(cm));return V(()=>P(t)||cm)},pn=(e,t)=>{const n=ew(t);return{namespace:n,b:(g="")=>d0(n.value,e,g,"",""),e:g=>g?d0(n.value,e,"",g,""):"",m:g=>g?d0(n.value,e,"","",g):"",be:(g,m)=>g&&m?d0(n.value,e,g,m,""):"",em:(g,m)=>g&&m?d0(n.value,e,"",g,m):"",bm:(g,m)=>g&&m?d0(n.value,e,g,"",m):"",bem:(g,m,y)=>g&&m&&y?d0(n.value,e,g,m,y):"",is:(g,...m)=>{const y=m.length>=1?m[0]:!0;return g&&y?`${que}${g}`:""},cssVar:g=>{const m={};for(const y in g)g[y]&&(m[`--${n.value}-${y}`]=g[y]);return m},cssVarName:g=>`--${n.value}-${g}`,cssVarBlock:g=>{const m={};for(const y in g)g[y]&&(m[`--${n.value}-${e}-${y}`]=g[y]);return m},cssVarBlockName:g=>`--${n.value}-${e}-${g}`}};var cV=typeof global=="object"&&global&&global.Object===Object&&global,$ue=typeof self=="object"&&self&&self.Object===Object&&self,Ec=cV||$ue||Function("return this")(),cl=Ec.Symbol,lV=Object.prototype,ede=lV.hasOwnProperty,tde=lV.toString,u1=cl?cl.toStringTag:void 0;function nde(e){var t=ede.call(e,u1),n=e[u1];try{e[u1]=void 0;var r=!0}catch{}var i=tde.call(e);return r&&(t?e[u1]=n:delete e[u1]),i}var rde=Object.prototype,ide=rde.toString;function ode(e){return ide.call(e)}var sde="[object Null]",ade="[object Undefined]",HO=cl?cl.toStringTag:void 0;function Ef(e){return e==null?e===void 0?ade:sde:HO&&HO in Object(e)?nde(e):ode(e)}function Ld(e){return e!=null&&typeof e=="object"}var cde="[object Symbol]";function uy(e){return typeof e=="symbol"||Ld(e)&&Ef(e)==cde}function uV(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var Hs=Array.isArray,zO=cl?cl.prototype:void 0,WO=zO?zO.toString:void 0;function dV(e){if(typeof e=="string")return e;if(Hs(e))return uV(e,dV)+"";if(uy(e))return WO?WO.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var lde=/\s/;function ude(e){for(var t=e.length;t--&&lde.test(e.charAt(t)););return t}var dde=/^\s+/;function fde(e){return e&&e.slice(0,ude(e)+1).replace(dde,"")}function zs(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var VO=NaN,hde=/^[-+]0x[0-9a-f]+$/i,pde=/^0b[01]+$/i,mde=/^0o[0-7]+$/i,gde=parseInt;function GO(e){if(typeof e=="number")return e;if(uy(e))return VO;if(zs(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=zs(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=fde(e);var n=pde.test(e);return n||mde.test(e)?gde(e.slice(2),n?2:8):hde.test(e)?VO:+e}function tw(e){return e}var vde="[object AsyncFunction]",yde="[object Function]",Ede="[object GeneratorFunction]",bde="[object Proxy]";function nw(e){if(!zs(e))return!1;var t=Ef(e);return t==yde||t==Ede||t==vde||t==bde}var V6=Ec["__core-js_shared__"],JO=(function(){var e=/[^.]+$/.exec(V6&&V6.keys&&V6.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Sde(e){return!!JO&&JO in e}var Ade=Function.prototype,Cde=Ade.toString;function bf(e){if(e!=null){try{return Cde.call(e)}catch{}try{return e+""}catch{}}return""}var wde=/[\\^$.*+?()[\]{}|]/g,Tde=/^\[object .+?Constructor\]$/,Ide=Function.prototype,Pde=Object.prototype,Ode=Ide.toString,_de=Pde.hasOwnProperty,Rde=RegExp("^"+Ode.call(_de).replace(wde,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kde(e){if(!zs(e)||Sde(e))return!1;var t=nw(e)?Rde:Tde;return t.test(bf(e))}function xde(e,t){return e==null?void 0:e[t]}function Sf(e,t){var n=xde(e,t);return kde(n)?n:void 0}var T7=Sf(Ec,"WeakMap"),ZO=Object.create,Dde=(function(){function e(){}return function(t){if(!zs(t))return{};if(ZO)return ZO(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}})();function Lde(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Nde(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}var Mde=800,Bde=16,Fde=Date.now;function Ude(e){var t=0,n=0;return function(){var r=Fde(),i=Bde-(r-n);if(n=r,i>0){if(++t>=Mde)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function jde(e){return function(){return e}}var X3=(function(){try{var e=Sf(Object,"defineProperty");return e({},"",{}),e}catch{}})(),Hde=X3?function(e,t){return X3(e,"toString",{configurable:!0,enumerable:!1,value:jde(t),writable:!0})}:tw,fV=Ude(Hde);function zde(e,t,n,r){e.length;for(var i=n+1;i--;)if(t(e[i],i,e))return i;return-1}var Wde=9007199254740991,Vde=/^(?:0|[1-9]\d*)$/;function dy(e,t){var n=typeof e;return t=t??Wde,!!t&&(n=="number"||n!="symbol"&&Vde.test(e))&&e>-1&&e%1==0&&e<t}function rw(e,t,n){t=="__proto__"&&X3?X3(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function kg(e,t){return e===t||e!==e&&t!==t}var Gde=Object.prototype,Jde=Gde.hasOwnProperty;function hV(e,t,n){var r=e[t];(!(Jde.call(e,t)&&kg(r,n))||n===void 0&&!(t in e))&&rw(e,t,n)}function Zde(e,t,n,r){var i=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var a=t[o],c=void 0;c===void 0&&(c=e[a]),i?rw(n,a,c):hV(n,a,c)}return n}var YO=Math.max;function pV(e,t,n){return t=YO(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=YO(r.length-t,0),s=Array(o);++i<o;)s[i]=r[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=r[i];return a[t]=n(s),Lde(e,this,a)}}function Yde(e,t){return fV(pV(e,t,tw),e+"")}var Xde=9007199254740991;function iw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Xde}function Op(e){return e!=null&&iw(e.length)&&!nw(e)}function Qde(e,t,n){if(!zs(n))return!1;var r=typeof t;return(r=="number"?Op(n)&&dy(t,n.length):r=="string"&&t in n)?kg(n[t],e):!1}function Kde(e){return Yde(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&Qde(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r<i;){var a=n[r];a&&e(t,a,r,o)}return t})}var qde=Object.prototype;function ow(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||qde;return e===n}function $de(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var e0e="[object Arguments]";function XO(e){return Ld(e)&&Ef(e)==e0e}var mV=Object.prototype,t0e=mV.hasOwnProperty,n0e=mV.propertyIsEnumerable,Wm=XO((function(){return arguments})())?XO:function(e){return Ld(e)&&t0e.call(e,"callee")&&!n0e.call(e,"callee")};function r0e(){return!1}var gV=typeof sa=="object"&&sa&&!sa.nodeType&&sa,QO=gV&&typeof aa=="object"&&aa&&!aa.nodeType&&aa,i0e=QO&&QO.exports===gV,KO=i0e?Ec.Buffer:void 0,o0e=KO?KO.isBuffer:void 0,Q3=o0e||r0e,s0e="[object Arguments]",a0e="[object Array]",c0e="[object Boolean]",l0e="[object Date]",u0e="[object Error]",d0e="[object Function]",f0e="[object Map]",h0e="[object Number]",p0e="[object Object]",m0e="[object RegExp]",g0e="[object Set]",v0e="[object String]",y0e="[object WeakMap]",E0e="[object ArrayBuffer]",b0e="[object DataView]",S0e="[object Float32Array]",A0e="[object Float64Array]",C0e="[object Int8Array]",w0e="[object Int16Array]",T0e="[object Int32Array]",I0e="[object Uint8Array]",P0e="[object Uint8ClampedArray]",O0e="[object Uint16Array]",_0e="[object Uint32Array]",ni={};ni[S0e]=ni[A0e]=ni[C0e]=ni[w0e]=ni[T0e]=ni[I0e]=ni[P0e]=ni[O0e]=ni[_0e]=!0;ni[s0e]=ni[a0e]=ni[E0e]=ni[c0e]=ni[b0e]=ni[l0e]=ni[u0e]=ni[d0e]=ni[f0e]=ni[h0e]=ni[p0e]=ni[m0e]=ni[g0e]=ni[v0e]=ni[y0e]=!1;function R0e(e){return Ld(e)&&iw(e.length)&&!!ni[Ef(e)]}function k0e(e){return function(t){return e(t)}}var vV=typeof sa=="object"&&sa&&!sa.nodeType&&sa,lm=vV&&typeof aa=="object"&&aa&&!aa.nodeType&&aa,x0e=lm&&lm.exports===vV,G6=x0e&&cV.process,qO=(function(){try{var e=lm&&lm.require&&lm.require("util").types;return e||G6&&G6.binding&&G6.binding("util")}catch{}})(),$O=qO&&qO.isTypedArray,sw=$O?k0e($O):R0e,D0e=Object.prototype,L0e=D0e.hasOwnProperty;function yV(e,t){var n=Hs(e),r=!n&&Wm(e),i=!n&&!r&&Q3(e),o=!n&&!r&&!i&&sw(e),s=n||r||i||o,a=s?$de(e.length,String):[],c=a.length;for(var l in e)(t||L0e.call(e,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||dy(l,c)))&&a.push(l);return a}function EV(e,t){return function(n){return e(t(n))}}var N0e=EV(Object.keys,Object),M0e=Object.prototype,B0e=M0e.hasOwnProperty;function F0e(e){if(!ow(e))return N0e(e);var t=[];for(var n in Object(e))B0e.call(e,n)&&n!="constructor"&&t.push(n);return t}function aw(e){return Op(e)?yV(e):F0e(e)}function U0e(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var j0e=Object.prototype,H0e=j0e.hasOwnProperty;function z0e(e){if(!zs(e))return U0e(e);var t=ow(e),n=[];for(var r in e)r=="constructor"&&(t||!H0e.call(e,r))||n.push(r);return n}function bV(e){return Op(e)?yV(e,!0):z0e(e)}var W0e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V0e=/^\w*$/;function cw(e,t){if(Hs(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||uy(e)?!0:V0e.test(e)||!W0e.test(e)||t!=null&&e in Object(t)}var Vm=Sf(Object,"create");function G0e(){this.__data__=Vm?Vm(null):{},this.size=0}function J0e(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Z0e="__lodash_hash_undefined__",Y0e=Object.prototype,X0e=Y0e.hasOwnProperty;function Q0e(e){var t=this.__data__;if(Vm){var n=t[e];return n===Z0e?void 0:n}return X0e.call(t,e)?t[e]:void 0}var K0e=Object.prototype,q0e=K0e.hasOwnProperty;function $0e(e){var t=this.__data__;return Vm?t[e]!==void 0:q0e.call(t,e)}var efe="__lodash_hash_undefined__";function tfe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Vm&&t===void 0?efe:t,this}function sf(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}sf.prototype.clear=G0e;sf.prototype.delete=J0e;sf.prototype.get=Q0e;sf.prototype.has=$0e;sf.prototype.set=tfe;function nfe(){this.__data__=[],this.size=0}function fy(e,t){for(var n=e.length;n--;)if(kg(e[n][0],t))return n;return-1}var rfe=Array.prototype,ife=rfe.splice;function ofe(e){var t=this.__data__,n=fy(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():ife.call(t,n,1),--this.size,!0}function sfe(e){var t=this.__data__,n=fy(t,e);return n<0?void 0:t[n][1]}function afe(e){return fy(this.__data__,e)>-1}function cfe(e,t){var n=this.__data__,r=fy(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function wu(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}wu.prototype.clear=nfe;wu.prototype.delete=ofe;wu.prototype.get=sfe;wu.prototype.has=afe;wu.prototype.set=cfe;var Gm=Sf(Ec,"Map");function lfe(){this.size=0,this.__data__={hash:new sf,map:new(Gm||wu),string:new sf}}function ufe(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function hy(e,t){var n=e.__data__;return ufe(t)?n[typeof t=="string"?"string":"hash"]:n.map}function dfe(e){var t=hy(this,e).delete(e);return this.size-=t?1:0,t}function ffe(e){return hy(this,e).get(e)}function hfe(e){return hy(this,e).has(e)}function pfe(e,t){var n=hy(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function Tu(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Tu.prototype.clear=lfe;Tu.prototype.delete=dfe;Tu.prototype.get=ffe;Tu.prototype.has=hfe;Tu.prototype.set=pfe;var mfe="Expected a function";function lw(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(mfe);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(lw.Cache||Tu),n}lw.Cache=Tu;var gfe=500;function vfe(e){var t=lw(e,function(r){return n.size===gfe&&n.clear(),r}),n=t.cache;return t}var yfe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Efe=/\\(\\)?/g,bfe=vfe(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(yfe,function(n,r,i,o){t.push(i?o.replace(Efe,"$1"):r||n)}),t});function Sfe(e){return e==null?"":dV(e)}function py(e,t){return Hs(e)?e:cw(e,t)?[e]:bfe(Sfe(e))}function xg(e){if(typeof e=="string"||uy(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function uw(e,t){t=py(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[xg(t[n++])];return n&&n==r?e:void 0}function fs(e,t,n){var r=e==null?void 0:uw(e,t);return r===void 0?n:r}function SV(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var e_=cl?cl.isConcatSpreadable:void 0;function Afe(e){return Hs(e)||Wm(e)||!!(e_&&e&&e[e_])}function AV(e,t,n,r,i){var o=-1,s=e.length;for(n||(n=Afe),i||(i=[]);++o<s;){var a=e[o];n(a)?SV(i,a):i[i.length]=a}return i}function Cfe(e){var t=e==null?0:e.length;return t?AV(e):[]}function wfe(e){return fV(pV(e,void 0,Cfe),e+"")}var CV=EV(Object.getPrototypeOf,Object),Tfe="[object Object]",Ife=Function.prototype,Pfe=Object.prototype,wV=Ife.toString,Ofe=Pfe.hasOwnProperty,_fe=wV.call(Object);function Rfe(e){if(!Ld(e)||Ef(e)!=Tfe)return!1;var t=CV(e);if(t===null)return!0;var n=Ofe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&wV.call(n)==_fe}function Vc(){if(!arguments.length)return[];var e=arguments[0];return Hs(e)?e:[e]}function kfe(){this.__data__=new wu,this.size=0}function xfe(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Dfe(e){return this.__data__.get(e)}function Lfe(e){return this.__data__.has(e)}var Nfe=200;function Mfe(e,t){var n=this.__data__;if(n instanceof wu){var r=n.__data__;if(!Gm||r.length<Nfe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Tu(r)}return n.set(e,t),this.size=n.size,this}function tl(e){var t=this.__data__=new wu(e);this.size=t.size}tl.prototype.clear=kfe;tl.prototype.delete=xfe;tl.prototype.get=Dfe;tl.prototype.has=Lfe;tl.prototype.set=Mfe;var TV=typeof sa=="object"&&sa&&!sa.nodeType&&sa,t_=TV&&typeof aa=="object"&&aa&&!aa.nodeType&&aa,Bfe=t_&&t_.exports===TV,n_=Bfe?Ec.Buffer:void 0;n_&&n_.allocUnsafe;function Ffe(e,t){return e.slice()}function Ufe(e,t){for(var n=-1,r=e==null?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function jfe(){return[]}var Hfe=Object.prototype,zfe=Hfe.propertyIsEnumerable,r_=Object.getOwnPropertySymbols,Wfe=r_?function(e){return e==null?[]:(e=Object(e),Ufe(r_(e),function(t){return zfe.call(e,t)}))}:jfe;function Vfe(e,t,n){var r=t(e);return Hs(e)?r:SV(r,n(e))}function i_(e){return Vfe(e,aw,Wfe)}var I7=Sf(Ec,"DataView"),P7=Sf(Ec,"Promise"),O7=Sf(Ec,"Set"),o_="[object Map]",Gfe="[object Object]",s_="[object Promise]",a_="[object Set]",c_="[object WeakMap]",l_="[object DataView]",Jfe=bf(I7),Zfe=bf(Gm),Yfe=bf(P7),Xfe=bf(O7),Qfe=bf(T7),dd=Ef;(I7&&dd(new I7(new ArrayBuffer(1)))!=l_||Gm&&dd(new Gm)!=o_||P7&&dd(P7.resolve())!=s_||O7&&dd(new O7)!=a_||T7&&dd(new T7)!=c_)&&(dd=function(e){var t=Ef(e),n=t==Gfe?e.constructor:void 0,r=n?bf(n):"";if(r)switch(r){case Jfe:return l_;case Zfe:return o_;case Yfe:return s_;case Xfe:return a_;case Qfe:return c_}return t});var K3=Ec.Uint8Array;function Kfe(e){var t=new e.constructor(e.byteLength);return new K3(t).set(new K3(e)),t}function qfe(e,t){var n=Kfe(e.buffer);return new e.constructor(n,e.byteOffset,e.length)}function $fe(e){return typeof e.constructor=="function"&&!ow(e)?Dde(CV(e)):{}}var ehe="__lodash_hash_undefined__";function the(e){return this.__data__.set(e,ehe),this}function nhe(e){return this.__data__.has(e)}function q3(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Tu;++t<n;)this.add(e[t])}q3.prototype.add=q3.prototype.push=the;q3.prototype.has=nhe;function rhe(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function ihe(e,t){return e.has(t)}var ohe=1,she=2;function IV(e,t,n,r,i,o){var s=n&ohe,a=e.length,c=t.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(e),u=o.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,h=n&she?new q3:void 0;for(o.set(e,t),o.set(t,e);++d<a;){var p=e[d],g=t[d];if(r)var m=s?r(g,p,d,t,e,o):r(p,g,d,e,t,o);if(m!==void 0){if(m)continue;f=!1;break}if(h){if(!rhe(t,function(y,v){if(!ihe(h,v)&&(p===y||i(p,y,n,r,o)))return h.push(v)})){f=!1;break}}else if(!(p===g||i(p,g,n,r,o))){f=!1;break}}return o.delete(e),o.delete(t),f}function ahe(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}function che(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var lhe=1,uhe=2,dhe="[object Boolean]",fhe="[object Date]",hhe="[object Error]",phe="[object Map]",mhe="[object Number]",ghe="[object RegExp]",vhe="[object Set]",yhe="[object String]",Ehe="[object Symbol]",bhe="[object ArrayBuffer]",She="[object DataView]",u_=cl?cl.prototype:void 0,J6=u_?u_.valueOf:void 0;function Ahe(e,t,n,r,i,o,s){switch(n){case She:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case bhe:return!(e.byteLength!=t.byteLength||!o(new K3(e),new K3(t)));case dhe:case fhe:case mhe:return kg(+e,+t);case hhe:return e.name==t.name&&e.message==t.message;case ghe:case yhe:return e==t+"";case phe:var a=ahe;case vhe:var c=r&lhe;if(a||(a=che),e.size!=t.size&&!c)return!1;var l=s.get(e);if(l)return l==t;r|=uhe,s.set(e,t);var u=IV(a(e),a(t),r,i,o,s);return s.delete(e),u;case Ehe:if(J6)return J6.call(e)==J6.call(t)}return!1}var Che=1,whe=Object.prototype,The=whe.hasOwnProperty;function Ihe(e,t,n,r,i,o){var s=n&Che,a=i_(e),c=a.length,l=i_(t),u=l.length;if(c!=u&&!s)return!1;for(var d=c;d--;){var f=a[d];if(!(s?f in t:The.call(t,f)))return!1}var h=o.get(e),p=o.get(t);if(h&&p)return h==t&&p==e;var g=!0;o.set(e,t),o.set(t,e);for(var m=s;++d<c;){f=a[d];var y=e[f],v=t[f];if(r)var E=s?r(v,y,f,t,e,o):r(y,v,f,e,t,o);if(!(E===void 0?y===v||i(y,v,n,r,o):E)){g=!1;break}m||(m=f=="constructor")}if(g&&!m){var b=e.constructor,S=t.constructor;b!=S&&"constructor"in e&&"constructor"in t&&!(typeof b=="function"&&b instanceof b&&typeof S=="function"&&S instanceof S)&&(g=!1)}return o.delete(e),o.delete(t),g}var Phe=1,d_="[object Arguments]",f_="[object Array]",C2="[object Object]",Ohe=Object.prototype,h_=Ohe.hasOwnProperty;function _he(e,t,n,r,i,o){var s=Hs(e),a=Hs(t),c=s?f_:dd(e),l=a?f_:dd(t);c=c==d_?C2:c,l=l==d_?C2:l;var u=c==C2,d=l==C2,f=c==l;if(f&&Q3(e)){if(!Q3(t))return!1;s=!0,u=!1}if(f&&!u)return o||(o=new tl),s||sw(e)?IV(e,t,n,r,i,o):Ahe(e,t,c,n,r,i,o);if(!(n&Phe)){var h=u&&h_.call(e,"__wrapped__"),p=d&&h_.call(t,"__wrapped__");if(h||p){var g=h?e.value():e,m=p?t.value():t;return o||(o=new tl),i(g,m,n,r,o)}}return f?(o||(o=new tl),Ihe(e,t,n,r,i,o)):!1}function my(e,t,n,r,i){return e===t?!0:e==null||t==null||!Ld(e)&&!Ld(t)?e!==e&&t!==t:_he(e,t,n,r,my,i)}var Rhe=1,khe=2;function xhe(e,t,n,r){var i=n.length,o=i;if(e==null)return!o;for(e=Object(e);i--;){var s=n[i];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){s=n[i];var a=s[0],c=e[a],l=s[1];if(s[2]){if(c===void 0&&!(a in e))return!1}else{var u=new tl,d;if(!(d===void 0?my(l,c,Rhe|khe,r,u):d))return!1}}return!0}function PV(e){return e===e&&!zs(e)}function Dhe(e){for(var t=aw(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,PV(i)]}return t}function OV(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function Lhe(e){var t=Dhe(e);return t.length==1&&t[0][2]?OV(t[0][0],t[0][1]):function(n){return n===e||xhe(n,e,t)}}function Nhe(e,t){return e!=null&&t in Object(e)}function Mhe(e,t,n){t=py(t,e);for(var r=-1,i=t.length,o=!1;++r<i;){var s=xg(t[r]);if(!(o=e!=null&&n(e,s)))break;e=e[s]}return o||++r!=i?o:(i=e==null?0:e.length,!!i&&iw(i)&&dy(s,i)&&(Hs(e)||Wm(e)))}function _V(e,t){return e!=null&&Mhe(e,t,Nhe)}var Bhe=1,Fhe=2;function Uhe(e,t){return cw(e)&&PV(t)?OV(xg(e),t):function(n){var r=fs(n,e);return r===void 0&&r===t?_V(n,e):my(t,r,Bhe|Fhe)}}function jhe(e){return function(t){return t==null?void 0:t[e]}}function Hhe(e){return function(t){return uw(t,e)}}function zhe(e){return cw(e)?jhe(xg(e)):Hhe(e)}function RV(e){return typeof e=="function"?e:e==null?tw:typeof e=="object"?Hs(e)?Uhe(e[0],e[1]):Lhe(e):zhe(e)}function Whe(e){return function(t,n,r){for(var i=-1,o=Object(t),s=r(t),a=s.length;a--;){var c=s[++i];if(n(o[c],c,o)===!1)break}return t}}var kV=Whe();function Vhe(e,t){return e&&kV(e,t,aw)}function Ghe(e,t){return function(n,r){if(n==null)return n;if(!Op(n))return e(n,r);for(var i=n.length,o=-1,s=Object(n);++o<i&&r(s[o],o,s)!==!1;);return n}}var Jhe=Ghe(Vhe),Z6=function(){return Ec.Date.now()},Zhe="Expected a function",Yhe=Math.max,Xhe=Math.min;function rp(e,t,n){var r,i,o,s,a,c,l=0,u=!1,d=!1,f=!0;if(typeof e!="function")throw new TypeError(Zhe);t=GO(t)||0,zs(n)&&(u=!!n.leading,d="maxWait"in n,o=d?Yhe(GO(n.maxWait)||0,t):o,f="trailing"in n?!!n.trailing:f);function h(w){var C=r,_=i;return r=i=void 0,l=w,s=e.apply(_,C),s}function p(w){return l=w,a=setTimeout(y,t),u?h(w):s}function g(w){var C=w-c,_=w-l,I=t-C;return d?Xhe(I,o-_):I}function m(w){var C=w-c,_=w-l;return c===void 0||C>=t||C<0||d&&_>=o}function y(){var w=Z6();if(m(w))return v(w);a=setTimeout(y,g(w))}function v(w){return a=void 0,f&&r?h(w):(r=i=void 0,s)}function E(){a!==void 0&&clearTimeout(a),l=0,r=c=i=a=void 0}function b(){return a===void 0?s:v(Z6())}function S(){var w=Z6(),C=m(w);if(r=arguments,i=this,c=w,C){if(a===void 0)return p(c);if(d)return clearTimeout(a),a=setTimeout(y,t),h(c)}return a===void 0&&(a=setTimeout(y,t)),s}return S.cancel=E,S.flush=b,S}function _7(e,t,n){(n!==void 0&&!kg(e[t],n)||n===void 0&&!(t in e))&&rw(e,t,n)}function Qhe(e){return Ld(e)&&Op(e)}function R7(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function Khe(e){return Zde(e,bV(e))}function qhe(e,t,n,r,i,o,s){var a=R7(e,n),c=R7(t,n),l=s.get(c);if(l){_7(e,n,l);return}var u=o?o(a,c,n+"",e,t,s):void 0,d=u===void 0;if(d){var f=Hs(c),h=!f&&Q3(c),p=!f&&!h&&sw(c);u=c,f||h||p?Hs(a)?u=a:Qhe(a)?u=Nde(a):h?(d=!1,u=Ffe(c)):p?(d=!1,u=qfe(c)):u=[]:Rfe(c)||Wm(c)?(u=a,Wm(a)?u=Khe(a):(!zs(a)||nw(a))&&(u=$fe(c))):d=!1}d&&(s.set(c,u),i(u,c,r,o,s),s.delete(c)),_7(e,n,u)}function xV(e,t,n,r,i){e!==t&&kV(t,function(o,s){if(i||(i=new tl),zs(o))qhe(e,t,s,n,xV,r,i);else{var a=r?r(R7(e,s),o,s+"",e,t,i):void 0;a===void 0&&(a=o),_7(e,s,a)}},bV)}function $he(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=r-1;return zde(e,RV(t),i)}function epe(e,t){var n=-1,r=Op(e)?Array(e.length):[];return Jhe(e,function(i,o,s){r[++n]=t(i,o,s)}),r}function tpe(e,t){var n=Hs(e)?uV:epe;return n(e,RV(t))}function DV(e,t){return AV(tpe(e,t))}function Jm(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r}function Id(e,t){return my(e,t)}function nl(e){return e==null}function Dg(e){return e===null}function npe(e){return e===void 0}var LV=Kde(function(e,t,n){xV(e,t,n)});function NV(e,t,n,r){if(!zs(e))return e;t=py(t,e);for(var i=-1,o=t.length,s=o-1,a=e;a!=null&&++i<o;){var c=xg(t[i]),l=n;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=s){var u=a[c];l=void 0,l===void 0&&(l=zs(u)?u:dy(t[i+1])?[]:{})}hV(a,c,l),a=a[c]}return e}function rpe(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var s=t[r],a=uw(e,s);n(a,s)&&NV(o,py(s,e),a)}return o}function ipe(e,t){return rpe(e,t,function(n,r){return _V(e,r)})}var MV=wfe(function(e,t){return e==null?{}:ipe(e,t)});function ope(e,t,n){return e==null?e:NV(e,t,n)}var spe="Expected a function";function Y6(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(spe);return zs(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),rp(e,t,{leading:r,maxWait:t,trailing:i})}const Wi=e=>e===void 0,vi=e=>typeof e=="boolean",_n=e=>typeof e=="number",uc=e=>typeof Element>"u"?!1:e instanceof Element,uu=e=>nl(e),ape=e=>Yt(e)?!Number.isNaN(Number(e)):!1,cpe=e=>e===window;var lpe=Object.defineProperty,upe=Object.defineProperties,dpe=Object.getOwnPropertyDescriptors,p_=Object.getOwnPropertySymbols,fpe=Object.prototype.hasOwnProperty,hpe=Object.prototype.propertyIsEnumerable,m_=(e,t,n)=>t in e?lpe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ppe=(e,t)=>{for(var n in t||(t={}))fpe.call(t,n)&&m_(e,n,t[n]);if(p_)for(var n of p_(t))hpe.call(t,n)&&m_(e,n,t[n]);return e},mpe=(e,t)=>upe(e,dpe(t));function BV(e,t){var n;const r=xo();return cu(()=>{r.value=e()},mpe(ppe({},t),{flush:(n=void 0)!=null?n:"sync"})),vf(r)}var g_;const qn=typeof window<"u",gpe=e=>typeof e=="string",X0=()=>{},k7=qn&&((g_=window==null?void 0:window.navigator)==null?void 0:g_.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function gy(e){return typeof e=="function"?e():P(e)}function vpe(e,t){function n(...r){return new Promise((i,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(i).catch(o)})}return n}function ype(e,t=!0,n=!0,r=!1){let i=0,o,s=!0,a=X0,c;const l=()=>{o&&(clearTimeout(o),o=void 0,a(),a=X0)};return d=>{const f=gy(e),h=Date.now()-i,p=()=>c=d();return l(),f<=0?(i=Date.now(),p()):(h>f&&(n||!s)?(i=Date.now(),p()):t&&(c=new Promise((g,m)=>{a=r?m:g,o=setTimeout(()=>{i=Date.now(),s=!0,g(p()),l()},Math.max(0,f-h))})),!n&&!o&&(o=setTimeout(()=>s=!0,f)),s=!1,c)}}function Epe(e){return e}function _p(e){return G4()?(J4(e),!0):!1}function bpe(e,t=200,n=!1,r=!0,i=!1){return vpe(ype(t,n,r,i),e)}function Spe(e,t=!0){yn()?ln(e):t?e():Cn(e)}function x7(e,t,n={}){const{immediate:r=!0}=n,i=se(!1);let o=null;function s(){o&&(clearTimeout(o),o=null)}function a(){i.value=!1,s()}function c(...l){s(),i.value=!0,o=setTimeout(()=>{i.value=!1,o=null,e(...l)},gy(t))}return r&&(i.value=!0,qn&&c()),_p(a),{isPending:vf(i),start:c,stop:a}}function sc(e){var t;const n=gy(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Lg=qn?window:void 0;function _o(...e){let t,n,r,i;if(gpe(e[0])||Array.isArray(e[0])?([n,r,i]=e,t=Lg):[t,n,r,i]=e,!t)return X0;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],s=()=>{o.forEach(u=>u()),o.length=0},a=(u,d,f,h)=>(u.addEventListener(d,f,h),()=>u.removeEventListener(d,f,h)),c=Ye(()=>[sc(t),gy(i)],([u,d])=>{s(),u&&o.push(...n.flatMap(f=>r.map(h=>a(u,f,h,d))))},{immediate:!0,flush:"post"}),l=()=>{c(),s()};return _p(l),l}let v_=!1;function Ape(e,t,n={}){const{window:r=Lg,ignore:i=[],capture:o=!0,detectIframe:s=!1}=n;if(!r)return;k7&&!v_&&(v_=!0,Array.from(r.document.body.children).forEach(f=>f.addEventListener("click",X0)));let a=!0;const c=f=>i.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(p=>p===f.target||f.composedPath().includes(p));{const p=sc(h);return p&&(f.target===p||f.composedPath().includes(p))}}),u=[_o(r,"click",f=>{const h=sc(e);if(!(!h||h===f.target||f.composedPath().includes(h))){if(f.detail===0&&(a=!c(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),_o(r,"pointerdown",f=>{const h=sc(e);h&&(a=!f.composedPath().includes(h)&&!c(f))},{passive:!0}),s&&_o(r,"blur",f=>{var h;const p=sc(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(p!=null&&p.contains(r.document.activeElement))&&t(f)})].filter(Boolean);return()=>u.forEach(f=>f())}function dw(e,t=!1){const n=se(),r=()=>n.value=!!e();return r(),Spe(r,t),n}const y_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},E_="__vueuse_ssr_handlers__";y_[E_]=y_[E_]||{};var b_=Object.getOwnPropertySymbols,Cpe=Object.prototype.hasOwnProperty,wpe=Object.prototype.propertyIsEnumerable,Tpe=(e,t)=>{var n={};for(var r in e)Cpe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&b_)for(var r of b_(e))t.indexOf(r)<0&&wpe.call(e,r)&&(n[r]=e[r]);return n};function ea(e,t,n={}){const r=n,{window:i=Lg}=r,o=Tpe(r,["window"]);let s;const a=dw(()=>i&&"ResizeObserver"in i),c=()=>{s&&(s.disconnect(),s=void 0)},l=Ye(()=>sc(e),d=>{c(),a.value&&i&&d&&(s=new ResizeObserver(t),s.observe(d,o))},{immediate:!0,flush:"post"}),u=()=>{c(),l()};return _p(u),{isSupported:a,stop:u}}function Ipe(e,t,n={}){const{root:r,rootMargin:i="0px",threshold:o=.1,window:s=Lg}=n,a=dw(()=>s&&"IntersectionObserver"in s);let c=X0;const l=a.value?Ye(()=>({el:sc(e),root:sc(r)}),({el:d,root:f})=>{if(c(),!d)return;const h=new IntersectionObserver(t,{root:f,rootMargin:i,threshold:o});h.observe(d),c=()=>{h.disconnect(),c=X0}},{immediate:!0,flush:"post"}):X0,u=()=>{c(),l()};return _p(u),{isSupported:a,stop:u}}var S_=Object.getOwnPropertySymbols,Ppe=Object.prototype.hasOwnProperty,Ope=Object.prototype.propertyIsEnumerable,_pe=(e,t)=>{var n={};for(var r in e)Ppe.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&S_)for(var r of S_(e))t.indexOf(r)<0&&Ope.call(e,r)&&(n[r]=e[r]);return n};function Rpe(e,t,n={}){const r=n,{window:i=Lg}=r,o=_pe(r,["window"]);let s;const a=dw(()=>i&&"MutationObserver"in i),c=()=>{s&&(s.disconnect(),s=void 0)},l=Ye(()=>sc(e),d=>{c(),a.value&&i&&d&&(s=new MutationObserver(t),s.observe(d,o))},{immediate:!0}),u=()=>{c(),l()};return _p(u),{isSupported:a,stop:u}}var A_;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(A_||(A_={}));var kpe=Object.defineProperty,C_=Object.getOwnPropertySymbols,xpe=Object.prototype.hasOwnProperty,Dpe=Object.prototype.propertyIsEnumerable,w_=(e,t,n)=>t in e?kpe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lpe=(e,t)=>{for(var n in t||(t={}))xpe.call(t,n)&&w_(e,n,t[n]);if(C_)for(var n of C_(t))Dpe.call(t,n)&&w_(e,n,t[n]);return e};const Npe={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Lpe({linear:Epe},Npe);const T_={current:0},I_=se(0),FV=2e3,P_=Symbol("elZIndexContextKey"),UV=Symbol("zIndexContextKey"),vy=e=>{const t=yn()?Vt(P_,T_):T_,n=e||(yn()?Vt(UV,void 0):void 0),r=V(()=>{const s=P(n);return _n(s)?s:FV}),i=V(()=>r.value+I_.value),o=()=>(t.current++,I_.value=t.current,i.value);return!qn&&Vt(P_),{initialZIndex:r,currentZIndex:i,nextZIndex:o}};var Mpe={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const Bpe=e=>(t,n)=>Fpe(t,n,P(e)),Fpe=(e,t,n)=>fs(n,e,e).replace(/\{(\w+)\}/g,(r,i)=>{var o;return`${(o=t==null?void 0:t[i])!=null?o:`{${i}}`}`}),Upe=e=>{const t=V(()=>P(e).name),n=En(e)?e:se(e);return{lang:t,locale:n,t:Bpe(e)}},jV=Symbol("localeContextKey"),Vd=e=>{const t=e||Vt(jV,se());return Upe(V(()=>t.value||Mpe))},HV="__epPropKey",Mt=e=>e,jpe=e=>cn(e)&&!!e[HV],yy=(e,t)=>{if(!cn(e)||jpe(e))return e;const{values:n,required:r,default:i,type:o,validator:s}=e,c={type:o,required:!!r,validator:n||s?l=>{let u=!1,d=[];if(n&&(d=Array.from(n),zn(e,"default")&&d.push(i),u||(u=d.includes(l))),s&&(u||(u=s(l))),!u&&d.length>0){const f=[...new Set(d)].map(h=>JSON.stringify(h)).join(", ");Are(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(l)}.`)}return u}:void 0,[HV]:!0};return zn(e,"default")&&(c.default=i),c},Un=e=>Jm(Object.entries(e).map(([t,n])=>[t,yy(n,t)])),fw=["","default","small","large"],vl=yy({type:String,values:fw,required:!1}),zV=Symbol("size"),Hpe=()=>{const e=Vt(zV,{});return V(()=>P(e.size)||"")},WV=Symbol("emptyValuesContextKey"),zpe=["",void 0,null],Wpe=void 0,VV=Un({emptyValues:Array,valueOnClear:{type:Mt([String,Number,Boolean,Function]),default:void 0,validator:e=>kt(e)?!e():!e}}),Vpe=(e,t)=>{const n=yn()?Vt(WV,se({})):se({}),r=V(()=>e.emptyValues||n.value.emptyValues||zpe),i=V(()=>kt(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:kt(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:Wpe),o=s=>r.value.includes(s);return r.value.includes(i.value),{emptyValues:r,valueOnClear:i,isEmptyValue:o}},D7=e=>Object.keys(e),GV=(e,t,n)=>({get value(){return fs(e,t,n)},set value(r){ope(e,t,r)}}),$3=se();function Ey(e,t=void 0){const n=yn()?Vt(sV,$3):$3;return e?V(()=>{var r,i;return(i=(r=n.value)==null?void 0:r[e])!=null?i:t}):n}function JV(e,t){const n=Ey(),r=pn(e,V(()=>{var a;return((a=n.value)==null?void 0:a.namespace)||cm})),i=Vd(V(()=>{var a;return(a=n.value)==null?void 0:a.locale})),o=vy(V(()=>{var a;return((a=n.value)==null?void 0:a.zIndex)||FV})),s=V(()=>{var a;return P(t)||((a=n.value)==null?void 0:a.size)||""});return Gpe(V(()=>P(n)||{})),{ns:r,locale:i,zIndex:o,size:s}}const Gpe=(e,t,n=!1)=>{var r;const i=!!yn(),o=i?Ey():void 0,s=(r=void 0)!=null?r:i?ui:void 0;if(!s)return;const a=V(()=>{const c=P(e);return o!=null&&o.value?Jpe(o.value,c):c});return s(sV,a),s(jV,V(()=>a.value.locale)),s(aV,V(()=>a.value.namespace)),s(UV,V(()=>a.value.zIndex)),s(zV,{size:V(()=>a.value.size||"")}),s(WV,V(()=>({emptyValues:a.value.emptyValues,valueOnClear:a.value.valueOnClear}))),(n||!$3.value)&&($3.value=a.value),a},Jpe=(e,t)=>{const n=[...new Set([...D7(e),...D7(t)])],r={};for(const i of n)r[i]=t[i]!==void 0?t[i]:e[i];return r},Yr="update:modelValue",ms="change",du="input";var Rn=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};const Zpe=e=>qn?window.requestAnimationFrame(e):setTimeout(e,16),ZV=(e="")=>e.split(" ").filter(t=>!!t.trim()),L0=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},af=(e,t)=>{!e||!t.trim()||e.classList.add(...ZV(t))},ll=(e,t)=>{!e||!t.trim()||e.classList.remove(...ZV(t))},I0=(e,t)=>{var n;if(!qn||!e||!t)return"";let r=Us(t);r==="float"&&(r="cssFloat");try{const i=e.style[r];if(i)return i;const o=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return o?o[r]:""}catch{return e.style[r]}};function ul(e,t="px"){if(!e)return"";if(_n(e)||ape(e))return`${e}${t}`;if(Yt(e))return e}const Ype=(e,t)=>{if(!qn)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],r=I0(e,n);return["scroll","auto","overlay"].some(i=>r.includes(i))},Xpe=(e,t)=>{if(!qn)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Ype(n,t))return n;n=n.parentNode}return n};let w2;const Qpe=e=>{var t;if(!qn)return 0;if(w2!==void 0)return w2;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const r=n.offsetWidth;n.style.overflow="scroll";const i=document.createElement("div");i.style.width="100%",n.appendChild(i);const o=i.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),w2=r-o,w2};function Kpe(e,t){if(!qn)return;if(!t){e.scrollTop=0;return}const n=[];let r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;const i=t.offsetTop+n.reduce((c,l)=>c+l.offsetTop,0),o=i+t.offsetHeight,s=e.scrollTop,a=s+e.clientHeight;i<s?e.scrollTop=i:o>a&&(e.scrollTop=o-e.clientHeight)}class qpe extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Rp(e,t){throw new qpe(`[${e}] ${t}`)}const Vi=(e,t)=>{if(e.install=n=>{for(const r of[e,...Object.values(t??{})])n.component(r.name,r)},t)for(const[n,r]of Object.entries(t))e[n]=r;return e},$pe=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),e1e=(e,t)=>(e.install=n=>{n.directive(t,e)},e),Gd=e=>(e.install=$i,e),t1e=Un({size:{type:Mt([Number,String])},color:{type:String}}),n1e=Je({name:"ElIcon",inheritAttrs:!1}),r1e=Je({...n1e,props:t1e,setup(e){const t=e,n=pn("icon"),r=V(()=>{const{size:i,color:o}=t;return!i&&!o?{}:{fontSize:Wi(i)?void 0:ul(i),"--color":o}});return(i,o)=>(ne(),Te("i",Ko({class:P(n).b(),style:P(r)},i.$attrs),[St(i.$slots,"default")],16))}});var i1e=Rn(r1e,[["__file","icon.vue"]]);const Pn=Vi(i1e);function O_(){let e;const t=(r,i)=>{n(),e=window.setTimeout(r,i)},n=()=>window.clearTimeout(e);return _p(()=>n()),{registerTimeout:t,cancelTimeout:n}}const o1e=Un({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),s1e=({showAfter:e,hideAfter:t,autoClose:n,open:r,close:i})=>{const{registerTimeout:o}=O_(),{registerTimeout:s,cancelTimeout:a}=O_();return{onOpen:u=>{o(()=>{r(u);const d=P(n);_n(d)&&d>0&&s(()=>{i(u)},d)},P(e))},onClose:u=>{a(),o(()=>{i(u)},P(t))}}};/*! Element Plus Icons Vue v2.3.2 */var a1e=Je({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),hw=a1e,c1e=Je({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),l1e=c1e,u1e=Je({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),pw=u1e,d1e=Je({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),YV=d1e,f1e=Je({name:"Check",__name:"check",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),h1e=f1e,p1e=Je({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),G("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),XV=p1e,m1e=Je({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),g1e=m1e,v1e=Je({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),G("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),by=v1e,y1e=Je({name:"Close",__name:"close",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),ip=y1e,E1e=Je({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),b1e=E1e,S1e=Je({name:"Hide",__name:"hide",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),G("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),A1e=S1e,C1e=Je({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),__=C1e,w1e=Je({name:"Loading",__name:"loading",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),dl=w1e,T1e=Je({name:"Minus",__name:"minus",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),I1e=T1e,P1e=Je({name:"Plus",__name:"plus",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),O1e=P1e,_1e=Je({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),R1e=_1e,k1e=Je({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),QV=k1e,x1e=Je({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),D1e=x1e,L1e=Je({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),N1e=L1e,M1e=Je({name:"View",__name:"view",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),B1e=M1e,F1e=Je({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),KV=F1e,U1e=Je({name:"Warning",__name:"warning",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}}),j1e=U1e,H1e=Je({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),z1e=H1e,W1e=Je({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(ne(),Te("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[G("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),V1e=W1e;const ks=Mt([String,Object,Function]),G1e={Close:ip},J1e={Close:ip},R_={primary:__,success:N1e,warning:KV,error:g1e,info:__},qV={validating:dl,success:XV,error:by},Z1e=()=>qn&&/firefox/i.test(window.navigator.userAgent);let Es;const Y1e={height:"0",visibility:"hidden",overflow:Z1e()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},X1e=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function Q1e(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),r=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),i=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:X1e.map(s=>[s,t.getPropertyValue(s)]),paddingSize:r,borderSize:i,boxSizing:n}}function k_(e,t=1,n){var r,i;Es||(Es=document.createElement("textarea"),((r=e.parentNode)!=null?r:document.body).appendChild(Es));const{paddingSize:o,borderSize:s,boxSizing:a,contextStyle:c}=Q1e(e);c.forEach(([f,h])=>Es==null?void 0:Es.style.setProperty(f,h)),Object.entries(Y1e).forEach(([f,h])=>Es==null?void 0:Es.style.setProperty(f,h,"important")),Es.value=e.value||e.placeholder||"";let l=Es.scrollHeight;const u={};a==="border-box"?l=l+s:a==="content-box"&&(l=l-o),Es.value="";const d=Es.scrollHeight-o;if(_n(t)){let f=d*t;a==="border-box"&&(f=f+o+s),l=Math.max(f,l),u.minHeight=`${f}px`}if(_n(n)){let f=d*n;a==="border-box"&&(f=f+o+s),l=Math.min(f,l)}return u.height=`${l}px`,(i=Es.parentNode)==null||i.removeChild(Es),Es=void 0,u}const Sy=e=>e,K1e=Un({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),yl=e=>MV(K1e,e),q1e=Un({id:{type:String,default:void 0},size:vl,disabled:Boolean,modelValue:{type:Mt([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:Mt([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:ks,default:by},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:ks},prefixIcon:{type:ks},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:Mt([Object,Array,String]),default:()=>Sy({})},autofocus:Boolean,rows:{type:Number,default:2},...yl(["ariaLabel"]),inputmode:{type:Mt(String),default:void 0},name:String}),$1e={[Yr]:e=>Yt(e),input:e=>Yt(e),change:e=>Yt(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},eme=["class","style"],tme=/^on[A-Z]/,$V=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,r=V(()=>((n==null?void 0:n.value)||[]).concat(eme)),i=yn();return V(i?()=>{var o;return Jm(Object.entries((o=i.proxy)==null?void 0:o.$attrs).filter(([s])=>!r.value.includes(s)&&!(t&&tme.test(s))))}:()=>({}))},x_={prefix:Math.floor(Math.random()*1e4),current:0},nme=Symbol("elIdInjection"),eG=()=>yn()?Vt(nme,x_):x_,cf=e=>{const t=eG(),n=ew();return BV(()=>P(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},mw=Symbol("formContextKey"),e4=Symbol("formItemContextKey"),Iu=()=>{const e=Vt(mw,void 0),t=Vt(e4,void 0);return{form:e,formItem:t}},kp=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:r})=>{n||(n=se(!1)),r||(r=se(!1));const i=yn(),o=()=>{let l=i==null?void 0:i.parent;for(;l;){if(l.type.name==="ElFormItem")return!1;if(l.type.name==="ElLabelWrap")return!0;l=l.parent}return!1},s=se();let a;const c=V(()=>{var l;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((l=t.inputIds)==null?void 0:l.length)<=1)});return ln(()=>{a=Ye([_a(e,"id"),n],([l,u])=>{const d=l??(u?void 0:cf().value);d!==s.value&&(t!=null&&t.removeInputId&&!o()&&(s.value&&t.removeInputId(s.value),!(r!=null&&r.value)&&!u&&d&&t.addInputId(d)),s.value=d)},{immediate:!0})}),yc(()=>{a&&a(),t!=null&&t.removeInputId&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:c,inputId:s}},tG=e=>{const t=yn();return V(()=>{var n,r;return(r=(n=t==null?void 0:t.proxy)==null?void 0:n.$props)==null?void 0:r[e]})},fl=(e,t={})=>{const n=se(void 0),r=t.prop?n:tG("size"),i=t.global?n:Hpe(),o=t.form?{size:void 0}:Vt(mw,void 0),s=t.formItem?{size:void 0}:Vt(e4,void 0);return V(()=>r.value||P(e)||(s==null?void 0:s.size)||(o==null?void 0:o.size)||i.value||"")},Af=e=>{const t=tG("disabled"),n=Vt(mw,void 0);return V(()=>t.value||P(e)||(n==null?void 0:n.disabled)||!1)},t4=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}};function nG(e,{disabled:t,beforeFocus:n,afterFocus:r,beforeBlur:i,afterBlur:o}={}){const s=yn(),{emit:a}=s,c=xo(),l=se(!1),u=h=>{const p=kt(n)?n(h):!1;P(t)||l.value||p||(l.value=!0,a("focus",h),r==null||r())},d=h=>{var p;const g=kt(i)?i(h):!1;P(t)||h.relatedTarget&&((p=c.value)!=null&&p.contains(h.relatedTarget))||g||(l.value=!1,a("blur",h),o==null||o())},f=h=>{var p,g;P(t)||t4(h.target)||(p=c.value)!=null&&p.contains(document.activeElement)&&c.value!==document.activeElement||(g=e.value)==null||g.focus()};return Ye([c,()=>P(t)],([h,p])=>{h&&(p?h.removeAttribute("tabindex"):h.setAttribute("tabindex","-1"))}),_o(c,"focus",u,!0),_o(c,"blur",d,!0),_o(c,"click",f,!0),{isFocused:l,wrapperRef:c,handleFocus:u,handleBlur:d}}const rme=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function rG({afterComposition:e,emit:t}){const n=se(!1),r=a=>{t==null||t("compositionstart",a),n.value=!0},i=a=>{var c;t==null||t("compositionupdate",a);const l=(c=a.target)==null?void 0:c.value,u=l[l.length-1]||"";n.value=!rme(u)},o=a=>{t==null||t("compositionend",a),n.value&&(n.value=!1,Cn(()=>e(a)))};return{isComposing:n,handleComposition:a=>{a.type==="compositionend"?o(a):i(a)},handleCompositionStart:r,handleCompositionUpdate:i,handleCompositionEnd:o}}function ime(e){let t;function n(){if(e.value==null)return;const{selectionStart:i,selectionEnd:o,value:s}=e.value;if(i==null||o==null)return;const a=s.slice(0,Math.max(0,i)),c=s.slice(Math.max(0,o));t={selectionStart:i,selectionEnd:o,value:s,beforeTxt:a,afterTxt:c}}function r(){if(e.value==null||t==null)return;const{value:i}=e.value,{beforeTxt:o,afterTxt:s,selectionStart:a}=t;if(o==null||s==null||a==null)return;let c=i.length;if(i.endsWith(s))c=i.length-s.length;else if(i.startsWith(o))c=o.length;else{const l=o[a-1],u=i.indexOf(l,a-1);u!==-1&&(c=u+1)}e.value.setSelectionRange(c,c)}return[n,r]}const ome="ElInput",sme=Je({name:ome,inheritAttrs:!1}),ame=Je({...sme,props:q1e,emits:$1e,setup(e,{expose:t,emit:n}){const r=e,i=Cz(),o=$V(),s=_g(),a=V(()=>[r.type==="textarea"?g.b():p.b(),p.m(f.value),p.is("disabled",h.value),p.is("exceed",T.value),{[p.b("group")]:s.prepend||s.append,[p.m("prefix")]:s.prefix||r.prefixIcon,[p.m("suffix")]:s.suffix||r.suffixIcon||r.clearable||r.showPassword,[p.bm("suffix","password-clear")]:B.value&&q.value,[p.b("hidden")]:r.type==="hidden"},i.class]),c=V(()=>[p.e("wrapper"),p.is("focus",_.value)]),{form:l,formItem:u}=Iu(),{inputId:d}=kp(r,{formItemContext:u}),f=fl(),h=Af(),p=pn("input"),g=pn("textarea"),m=xo(),y=xo(),v=se(!1),E=se(!1),b=se(),S=xo(r.inputStyle),w=V(()=>m.value||y.value),{wrapperRef:C,isFocused:_,handleFocus:I,handleBlur:O}=nG(w,{disabled:h,afterBlur(){var oe;r.validateEvent&&((oe=u==null?void 0:u.validate)==null||oe.call(u,"blur").catch(Ne=>void 0))}}),L=V(()=>{var oe;return(oe=l==null?void 0:l.statusIcon)!=null?oe:!1}),R=V(()=>(u==null?void 0:u.validateState)||""),F=V(()=>R.value&&qV[R.value]),W=V(()=>E.value?B1e:A1e),J=V(()=>[i.style]),Y=V(()=>[r.inputStyle,S.value,{resize:r.resize}]),M=V(()=>nl(r.modelValue)?"":String(r.modelValue)),B=V(()=>r.clearable&&!h.value&&!r.readonly&&!!M.value&&(_.value||v.value)),q=V(()=>r.showPassword&&!h.value&&!!M.value),z=V(()=>r.showWordLimit&&!!r.maxlength&&(r.type==="text"||r.type==="textarea")&&!h.value&&!r.readonly&&!r.showPassword),A=V(()=>M.value.length),T=V(()=>!!z.value&&A.value>Number(r.maxlength)),k=V(()=>!!s.suffix||!!r.suffixIcon||B.value||r.showPassword||z.value||!!R.value&&L.value),[j,re]=ime(m);ea(y,oe=>{if(X(),!z.value||r.resize!=="both")return;const Ne=oe[0],{width:x}=Ne.contentRect;b.value={right:`calc(100% - ${x+15+6}px)`}});const me=()=>{const{type:oe,autosize:Ne}=r;if(!(!qn||oe!=="textarea"||!y.value))if(Ne){const x=cn(Ne)?Ne.minRows:void 0,N=cn(Ne)?Ne.maxRows:void 0,U=k_(y.value,x,N);S.value={overflowY:"hidden",...U},Cn(()=>{y.value.offsetHeight,S.value=U})}else S.value={minHeight:k_(y.value).minHeight}},X=(oe=>{let Ne=!1;return()=>{var x;if(Ne||!r.autosize)return;((x=y.value)==null?void 0:x.offsetParent)===null||(oe(),Ne=!0)}})(me),fe=()=>{const oe=w.value,Ne=r.formatter?r.formatter(M.value):M.value;!oe||oe.value===Ne||(oe.value=Ne)},le=async oe=>{j();let{value:Ne}=oe.target;if(r.formatter&&r.parser&&(Ne=r.parser(Ne)),!Z.value){if(Ne===M.value){fe();return}n(Yr,Ne),n(du,Ne),await Cn(),fe(),re()}},ve=oe=>{let{value:Ne}=oe.target;r.formatter&&r.parser&&(Ne=r.parser(Ne)),n(ms,Ne)},{isComposing:Z,handleCompositionStart:ae,handleCompositionUpdate:pe,handleCompositionEnd:K}=rG({emit:n,afterComposition:le}),ce=()=>{j(),E.value=!E.value,setTimeout(re)},ye=()=>{var oe;return(oe=w.value)==null?void 0:oe.focus()},ee=()=>{var oe;return(oe=w.value)==null?void 0:oe.blur()},$=oe=>{v.value=!1,n("mouseleave",oe)},ge=oe=>{v.value=!0,n("mouseenter",oe)},ie=oe=>{n("keydown",oe)},Ie=()=>{var oe;(oe=w.value)==null||oe.select()},Ce=()=>{n(Yr,""),n(ms,""),n("clear"),n(du,"")};return Ye(()=>r.modelValue,()=>{var oe;Cn(()=>me()),r.validateEvent&&((oe=u==null?void 0:u.validate)==null||oe.call(u,"change").catch(Ne=>void 0))}),Ye(M,()=>fe()),Ye(()=>r.type,async()=>{await Cn(),fe(),me()}),ln(()=>{!r.formatter&&r.parser,fe(),Cn(me)}),t({input:m,textarea:y,ref:w,textareaStyle:Y,autosize:_a(r,"autosize"),isComposing:Z,focus:ye,blur:ee,select:Ie,clear:Ce,resizeTextarea:me}),(oe,Ne)=>(ne(),Te("div",{class:je([P(a),{[P(p).bm("group","append")]:oe.$slots.append,[P(p).bm("group","prepend")]:oe.$slots.prepend}]),style:Ut(P(J)),onMouseenter:ge,onMouseleave:$},[Ke(" input "),oe.type!=="textarea"?(ne(),Te(Ft,{key:0},[Ke(" prepend slot "),oe.$slots.prepend?(ne(),Te("div",{key:0,class:je(P(p).be("group","prepend"))},[St(oe.$slots,"prepend")],2)):Ke("v-if",!0),G("div",{ref_key:"wrapperRef",ref:C,class:je(P(c))},[Ke(" prefix slot "),oe.$slots.prefix||oe.prefixIcon?(ne(),Te("span",{key:0,class:je(P(p).e("prefix"))},[G("span",{class:je(P(p).e("prefix-inner"))},[St(oe.$slots,"prefix"),oe.prefixIcon?(ne(),Ze(P(Pn),{key:0,class:je(P(p).e("icon"))},{default:Re(()=>[(ne(),Ze(Br(oe.prefixIcon)))]),_:1},8,["class"])):Ke("v-if",!0)],2)],2)):Ke("v-if",!0),G("input",Ko({id:P(d),ref_key:"input",ref:m,class:P(p).e("inner")},P(o),{name:oe.name,minlength:oe.minlength,maxlength:oe.maxlength,type:oe.showPassword?E.value?"text":"password":oe.type,disabled:P(h),readonly:oe.readonly,autocomplete:oe.autocomplete,tabindex:oe.tabindex,"aria-label":oe.ariaLabel,placeholder:oe.placeholder,style:oe.inputStyle,form:oe.form,autofocus:oe.autofocus,role:oe.containerRole,inputmode:oe.inputmode,onCompositionstart:P(ae),onCompositionupdate:P(pe),onCompositionend:P(K),onInput:le,onChange:ve,onKeydown:ie}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),Ke(" suffix slot "),P(k)?(ne(),Te("span",{key:1,class:je(P(p).e("suffix"))},[G("span",{class:je(P(p).e("suffix-inner"))},[!P(B)||!P(q)||!P(z)?(ne(),Te(Ft,{key:0},[St(oe.$slots,"suffix"),oe.suffixIcon?(ne(),Ze(P(Pn),{key:0,class:je(P(p).e("icon"))},{default:Re(()=>[(ne(),Ze(Br(oe.suffixIcon)))]),_:1},8,["class"])):Ke("v-if",!0)],64)):Ke("v-if",!0),P(B)?(ne(),Ze(P(Pn),{key:1,class:je([P(p).e("icon"),P(p).e("clear")]),onMousedown:Nr(P($i),["prevent"]),onClick:Ce},{default:Re(()=>[(ne(),Ze(Br(oe.clearIcon)))]),_:1},8,["class","onMousedown"])):Ke("v-if",!0),P(q)?(ne(),Ze(P(Pn),{key:2,class:je([P(p).e("icon"),P(p).e("password")]),onClick:ce},{default:Re(()=>[(ne(),Ze(Br(P(W))))]),_:1},8,["class"])):Ke("v-if",!0),P(z)?(ne(),Te("span",{key:3,class:je(P(p).e("count"))},[G("span",{class:je(P(p).e("count-inner"))},Ue(P(A))+" / "+Ue(oe.maxlength),3)],2)):Ke("v-if",!0),P(R)&&P(F)&&P(L)?(ne(),Ze(P(Pn),{key:4,class:je([P(p).e("icon"),P(p).e("validateIcon"),P(p).is("loading",P(R)==="validating")])},{default:Re(()=>[(ne(),Ze(Br(P(F))))]),_:1},8,["class"])):Ke("v-if",!0)],2)],2)):Ke("v-if",!0)],2),Ke(" append slot "),oe.$slots.append?(ne(),Te("div",{key:1,class:je(P(p).be("group","append"))},[St(oe.$slots,"append")],2)):Ke("v-if",!0)],64)):(ne(),Te(Ft,{key:1},[Ke(" textarea "),G("textarea",Ko({id:P(d),ref_key:"textarea",ref:y,class:[P(g).e("inner"),P(p).is("focus",P(_))]},P(o),{minlength:oe.minlength,maxlength:oe.maxlength,tabindex:oe.tabindex,disabled:P(h),readonly:oe.readonly,autocomplete:oe.autocomplete,style:P(Y),"aria-label":oe.ariaLabel,placeholder:oe.placeholder,form:oe.form,autofocus:oe.autofocus,rows:oe.rows,role:oe.containerRole,onCompositionstart:P(ae),onCompositionupdate:P(pe),onCompositionend:P(K),onInput:le,onFocus:P(I),onBlur:P(O),onChange:ve,onKeydown:ie}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),P(z)?(ne(),Te("span",{key:0,style:Ut(b.value),class:je(P(p).e("count"))},Ue(P(A))+" / "+Ue(oe.maxlength),7)):Ke("v-if",!0)],64))],38))}});var cme=Rn(ame,[["__file","input.vue"]]);const iG=Vi(cme),Mf=4,lme={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},ume=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),gw=Symbol("scrollbarContextKey"),dme=Un({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),fme="Thumb",hme=Je({__name:"thumb",props:dme,setup(e){const t=e,n=Vt(gw),r=pn("scrollbar");n||Rp(fme,"can not inject scrollbar context");const i=se(),o=se(),s=se({}),a=se(!1);let c=!1,l=!1,u=0,d=0,f=qn?document.onselectstart:null;const h=V(()=>lme[t.vertical?"vertical":"horizontal"]),p=V(()=>ume({size:t.size,move:t.move,bar:h.value})),g=V(()=>i.value[h.value.offset]**2/n.wrapElement[h.value.scrollSize]/t.ratio/o.value[h.value.offset]),m=_=>{var I;if(_.stopPropagation(),_.ctrlKey||[1,2].includes(_.button))return;(I=window.getSelection())==null||I.removeAllRanges(),v(_);const O=_.currentTarget;O&&(s.value[h.value.axis]=O[h.value.offset]-(_[h.value.client]-O.getBoundingClientRect()[h.value.direction]))},y=_=>{if(!o.value||!i.value||!n.wrapElement)return;const I=Math.abs(_.target.getBoundingClientRect()[h.value.direction]-_[h.value.client]),O=o.value[h.value.offset]/2,L=(I-O)*100*g.value/i.value[h.value.offset];n.wrapElement[h.value.scroll]=L*n.wrapElement[h.value.scrollSize]/100},v=_=>{_.stopImmediatePropagation(),c=!0,u=n.wrapElement.scrollHeight,d=n.wrapElement.scrollWidth,document.addEventListener("mousemove",E),document.addEventListener("mouseup",b),f=document.onselectstart,document.onselectstart=()=>!1},E=_=>{if(!i.value||!o.value||c===!1)return;const I=s.value[h.value.axis];if(!I)return;const O=(i.value.getBoundingClientRect()[h.value.direction]-_[h.value.client])*-1,L=o.value[h.value.offset]-I,R=(O-L)*100*g.value/i.value[h.value.offset];h.value.scroll==="scrollLeft"?n.wrapElement[h.value.scroll]=R*d/100:n.wrapElement[h.value.scroll]=R*u/100},b=()=>{c=!1,s.value[h.value.axis]=0,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",b),C(),l&&(a.value=!1)},S=()=>{l=!1,a.value=!!t.size},w=()=>{l=!0,a.value=c};xi(()=>{C(),document.removeEventListener("mouseup",b)});const C=()=>{document.onselectstart!==f&&(document.onselectstart=f)};return _o(_a(n,"scrollbarElement"),"mousemove",S),_o(_a(n,"scrollbarElement"),"mouseleave",w),(_,I)=>(ne(),Ze(Cu,{name:P(r).b("fade"),persisted:""},{default:Re(()=>[vn(G("div",{ref_key:"instance",ref:i,class:je([P(r).e("bar"),P(r).is(P(h).key)]),onMousedown:y,onClick:Nr(()=>{},["stop"])},[G("div",{ref_key:"thumb",ref:o,class:je(P(r).e("thumb")),style:Ut(P(p)),onMousedown:m},null,38)],42,["onClick"]),[[_r,_.always||a.value]])]),_:1},8,["name"]))}});var D_=Rn(hme,[["__file","thumb.vue"]]);const pme=Un({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),mme=Je({__name:"bar",props:pme,setup(e,{expose:t}){const n=e,r=Vt(gw),i=se(0),o=se(0),s=se(""),a=se(""),c=se(1),l=se(1);return t({handleScroll:f=>{if(f){const h=f.offsetHeight-Mf,p=f.offsetWidth-Mf;o.value=f.scrollTop*100/h*c.value,i.value=f.scrollLeft*100/p*l.value}},update:()=>{const f=r==null?void 0:r.wrapElement;if(!f)return;const h=f.offsetHeight-Mf,p=f.offsetWidth-Mf,g=h**2/f.scrollHeight,m=p**2/f.scrollWidth,y=Math.max(g,n.minSize),v=Math.max(m,n.minSize);c.value=g/(h-g)/(y/(h-y)),l.value=m/(p-m)/(v/(p-v)),a.value=y+Mf<h?`${y}px`:"",s.value=v+Mf<p?`${v}px`:""}}),(f,h)=>(ne(),Te(Ft,null,[be(D_,{move:i.value,ratio:l.value,size:s.value,always:f.always},null,8,["move","ratio","size","always"]),be(D_,{move:o.value,ratio:c.value,size:a.value,vertical:"",always:f.always},null,8,["move","ratio","size","always"])],64))}});var gme=Rn(mme,[["__file","bar.vue"]]);const vme=Un({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:Mt([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...yl(["ariaLabel","ariaOrientation"])}),oG={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(_n)},yme="ElScrollbar",Eme=Je({name:yme}),bme=Je({...Eme,props:vme,emits:oG,setup(e,{expose:t,emit:n}){const r=e,i=pn("scrollbar");let o,s,a,c=0,l=0,u="";const d={bottom:!1,top:!1,right:!1,left:!1},f=se(),h=se(),p=se(),g=se(),m=V(()=>{const L={};return r.height&&(L.height=ul(r.height)),r.maxHeight&&(L.maxHeight=ul(r.maxHeight)),[r.wrapStyle,L]}),y=V(()=>[r.wrapClass,i.e("wrap"),{[i.em("wrap","hidden-default")]:!r.native}]),v=V(()=>[i.e("view"),r.viewClass]),E=L=>{var R;return(R=d[L])!=null?R:!1},b={top:"bottom",bottom:"top",left:"right",right:"left"},S=L=>{const R=b[u];if(!R)return;const F=L[u],W=L[R];F&&!d[u]&&(d[u]=!0),!W&&d[R]&&(d[R]=!1)},w=()=>{var L;if(h.value){(L=g.value)==null||L.handleScroll(h.value);const R=c,F=l;c=h.value.scrollTop,l=h.value.scrollLeft;const W={bottom:c+h.value.clientHeight>=h.value.scrollHeight-r.distance,top:c<=r.distance&&R!==0,right:l+h.value.clientWidth>=h.value.scrollWidth-r.distance&&F!==l,left:l<=r.distance&&F!==0};if(n("scroll",{scrollTop:c,scrollLeft:l}),R!==c&&(u=c>R?"bottom":"top"),F!==l&&(u=l>F?"right":"left"),r.distance>0){if(E(u))return;S(W)}W[u]&&n("end-reached",u)}};function C(L,R){cn(L)?h.value.scrollTo(L):_n(L)&&_n(R)&&h.value.scrollTo(L,R)}const _=L=>{_n(L)&&(h.value.scrollTop=L)},I=L=>{_n(L)&&(h.value.scrollLeft=L)},O=()=>{var L;(L=g.value)==null||L.update(),d[u]=!1};return Ye(()=>r.noresize,L=>{L?(o==null||o(),s==null||s(),a==null||a()):({stop:o}=ea(p,O),{stop:s}=ea(h,O),a=_o("resize",O))},{immediate:!0}),Ye(()=>[r.maxHeight,r.height],()=>{r.native||Cn(()=>{var L;O(),h.value&&((L=g.value)==null||L.handleScroll(h.value))})}),ui(gw,eo({scrollbarElement:f,wrapElement:h})),vz(()=>{h.value&&(h.value.scrollTop=c,h.value.scrollLeft=l)}),ln(()=>{r.native||Cn(()=>{O()})}),ey(()=>O()),t({wrapRef:h,update:O,scrollTo:C,setScrollTop:_,setScrollLeft:I,handleScroll:w}),(L,R)=>(ne(),Te("div",{ref_key:"scrollbarRef",ref:f,class:je(P(i).b())},[G("div",{ref_key:"wrapRef",ref:h,class:je(P(y)),style:Ut(P(m)),tabindex:L.tabindex,onScroll:w},[(ne(),Ze(Br(L.tag),{id:L.id,ref_key:"resizeRef",ref:p,class:je(P(v)),style:Ut(L.viewStyle),role:L.role,"aria-label":L.ariaLabel,"aria-orientation":L.ariaOrientation},{default:Re(()=>[St(L.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),L.native?Ke("v-if",!0):(ne(),Ze(gme,{key:0,ref_key:"barRef",ref:g,always:L.always,"min-size":L.minSize},null,8,["always","min-size"]))],2))}});var Sme=Rn(bme,[["__file","scrollbar.vue"]]);const vw=Vi(Sme),yw=Symbol("popper"),sG=Symbol("popperContent"),aG=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],cG=Un({role:{type:String,values:aG,default:"tooltip"}}),Ame=Je({name:"ElPopper",inheritAttrs:!1}),Cme=Je({...Ame,props:cG,setup(e,{expose:t}){const n=e,r=se(),i=se(),o=se(),s=se(),a=V(()=>n.role),c={triggerRef:r,popperInstanceRef:i,contentRef:o,referenceRef:s,role:a};return t(c),ui(yw,c),(l,u)=>St(l.$slots,"default")}});var wme=Rn(Cme,[["__file","popper.vue"]]);const Tme=Je({name:"ElPopperArrow",inheritAttrs:!1}),Ime=Je({...Tme,setup(e,{expose:t}){const n=pn("popper"),{arrowRef:r,arrowStyle:i}=Vt(sG,void 0);return xi(()=>{r.value=void 0}),t({arrowRef:r}),(o,s)=>(ne(),Te("span",{ref_key:"arrowRef",ref:r,class:je(P(n).e("arrow")),style:Ut(P(i)),"data-popper-arrow":""},null,6))}});var Pme=Rn(Ime,[["__file","arrow.vue"]]);const lG=Un({virtualRef:{type:Mt(Object)},virtualTriggering:Boolean,onMouseenter:{type:Mt(Function)},onMouseleave:{type:Mt(Function)},onClick:{type:Mt(Function)},onKeydown:{type:Mt(Function)},onFocus:{type:Mt(Function)},onBlur:{type:Mt(Function)},onContextmenu:{type:Mt(Function)},id:String,open:Boolean}),uG=Symbol("elForwardRef"),Ome=e=>{ui(uG,{setForwardRef:n=>{e.value=n}})},_me=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),Rme="ElOnlyChild",kme=Je({name:Rme,setup(e,{slots:t,attrs:n}){var r;const i=Vt(uG),o=_me((r=i==null?void 0:i.setForwardRef)!=null?r:$i);return()=>{var s;const a=(s=t.default)==null?void 0:s.call(t,n);if(!a||a.length>1)return null;const c=dG(a);return c?vn(vu(c,n),[[o]]):null}}});function dG(e){if(!e)return null;const t=e;for(const n of t){if(cn(n))switch(n.type){case mo:continue;case yf:case"svg":return L_(n);case Ft:return dG(n.children);default:return n}return L_(n)}return null}function L_(e){const t=pn("only-child");return be("span",{class:t.e("content")},[e])}const xme=Je({name:"ElPopperTrigger",inheritAttrs:!1}),Dme=Je({...xme,props:lG,setup(e,{expose:t}){const n=e,{role:r,triggerRef:i}=Vt(yw,void 0);Ome(i);const o=V(()=>a.value?n.id:void 0),s=V(()=>{if(r&&r.value==="tooltip")return n.open&&n.id?n.id:void 0}),a=V(()=>{if(r&&r.value!=="tooltip")return r.value}),c=V(()=>a.value?`${n.open}`:void 0);let l;const u=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return ln(()=>{Ye(()=>n.virtualRef,d=>{d&&(i.value=sc(d))},{immediate:!0}),Ye(i,(d,f)=>{l==null||l(),l=void 0,uc(d)&&(u.forEach(h=>{var p;const g=n[h];g&&(d.addEventListener(h.slice(2).toLowerCase(),g),(p=f==null?void 0:f.removeEventListener)==null||p.call(f,h.slice(2).toLowerCase(),g))}),t4(d)&&(l=Ye([o,s,a,c],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((p,g)=>{nl(h[g])?d.removeAttribute(p):d.setAttribute(p,h[g])})},{immediate:!0}))),uc(f)&&t4(f)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>f.removeAttribute(h))},{immediate:!0})}),xi(()=>{if(l==null||l(),l=void 0,i.value&&uc(i.value)){const d=i.value;u.forEach(f=>{const h=n[f];h&&d.removeEventListener(f.slice(2).toLowerCase(),h)}),i.value=void 0}}),t({triggerRef:i}),(d,f)=>d.virtualTriggering?Ke("v-if",!0):(ne(),Ze(P(kme),Ko({key:0},d.$attrs,{"aria-controls":P(o),"aria-describedby":P(s),"aria-expanded":P(c),"aria-haspopup":P(a)}),{default:Re(()=>[St(d.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var Lme=Rn(Dme,[["__file","trigger.vue"]]);const X6="focus-trap.focus-after-trapped",Q6="focus-trap.focus-after-released",Nme="focus-trap.focusout-prevented",N_={cancelable:!0,bubbles:!1},Mme={cancelable:!0,bubbles:!1},M_="focusAfterTrapped",B_="focusAfterReleased",fG=Symbol("elFocusTrap"),Ew=se(),Ay=se(0),bw=se(0);let T2=0;const hG=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0||r===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},F_=(e,t)=>{for(const n of e)if(!Bme(n,t))return n},Bme=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},Fme=e=>{const t=hG(e),n=F_(t,e),r=F_(t.reverse(),e);return[n,r]},Ume=e=>e instanceof HTMLInputElement&&"select"in e,Vl=(e,t)=>{if(e&&e.focus){const n=document.activeElement;let r=!1;uc(e)&&!t4(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),r=!0),e.focus({preventScroll:!0}),bw.value=window.performance.now(),e!==n&&Ume(e)&&t&&e.select(),uc(e)&&r&&e.removeAttribute("tabindex")}};function U_(e,t){const n=[...e],r=e.indexOf(t);return r!==-1&&n.splice(r,1),n}const jme=()=>{let e=[];return{push:r=>{const i=e[0];i&&r!==i&&i.pause(),e=U_(e,r),e.unshift(r)},remove:r=>{var i,o;e=U_(e,r),(o=(i=e[0])==null?void 0:i.resume)==null||o.call(i)}}},Hme=(e,t=!1)=>{const n=document.activeElement;for(const r of e)if(Vl(r,t),document.activeElement!==n)return},j_=jme(),zme=()=>Ay.value>bw.value,I2=()=>{Ew.value="pointer",Ay.value=window.performance.now()},H_=()=>{Ew.value="keyboard",Ay.value=window.performance.now()},Wme=()=>(ln(()=>{T2===0&&(document.addEventListener("mousedown",I2),document.addEventListener("touchstart",I2),document.addEventListener("keydown",H_)),T2++}),xi(()=>{T2--,T2<=0&&(document.removeEventListener("mousedown",I2),document.removeEventListener("touchstart",I2),document.removeEventListener("keydown",H_))}),{focusReason:Ew,lastUserFocusTimestamp:Ay,lastAutomatedFocusTimestamp:bw}),P2=e=>new CustomEvent(Nme,{...Mme,detail:e}),so={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",numpadEnter:"NumpadEnter"};let uh=[];const z_=e=>{e.code===so.esc&&uh.forEach(t=>t(e))},Vme=e=>{ln(()=>{uh.length===0&&document.addEventListener("keydown",z_),qn&&uh.push(e)}),xi(()=>{uh=uh.filter(t=>t!==e),uh.length===0&&qn&&document.removeEventListener("keydown",z_)})},Gme=Je({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[M_,B_,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=se();let r,i;const{focusReason:o}=Wme();Vme(p=>{e.trapped&&!s.paused&&t("release-requested",p)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},a=p=>{if(!e.loop&&!e.trapped||s.paused)return;const{code:g,altKey:m,ctrlKey:y,metaKey:v,currentTarget:E,shiftKey:b}=p,{loop:S}=e,w=g===so.tab&&!m&&!y&&!v,C=document.activeElement;if(w&&C){const _=E,[I,O]=Fme(_);if(I&&O){if(!b&&C===O){const R=P2({focusReason:o.value});t("focusout-prevented",R),R.defaultPrevented||(p.preventDefault(),S&&Vl(I,!0))}else if(b&&[I,_].includes(C)){const R=P2({focusReason:o.value});t("focusout-prevented",R),R.defaultPrevented||(p.preventDefault(),S&&Vl(O,!0))}}else if(C===_){const R=P2({focusReason:o.value});t("focusout-prevented",R),R.defaultPrevented||p.preventDefault()}}};ui(fG,{focusTrapRef:n,onKeydown:a}),Ye(()=>e.focusTrapEl,p=>{p&&(n.value=p)},{immediate:!0}),Ye([n],([p],[g])=>{p&&(p.addEventListener("keydown",a),p.addEventListener("focusin",u),p.addEventListener("focusout",d)),g&&(g.removeEventListener("keydown",a),g.removeEventListener("focusin",u),g.removeEventListener("focusout",d))});const c=p=>{t(M_,p)},l=p=>t(B_,p),u=p=>{const g=P(n);if(!g)return;const m=p.target,y=p.relatedTarget,v=m&&g.contains(m);e.trapped||y&&g.contains(y)||(r=y),v&&t("focusin",p),!s.paused&&e.trapped&&(v?i=m:Vl(i,!0))},d=p=>{const g=P(n);if(!(s.paused||!g))if(e.trapped){const m=p.relatedTarget;!nl(m)&&!g.contains(m)&&setTimeout(()=>{if(!s.paused&&e.trapped){const y=P2({focusReason:o.value});t("focusout-prevented",y),y.defaultPrevented||Vl(i,!0)}},0)}else{const m=p.target;m&&g.contains(m)||t("focusout",p)}};async function f(){await Cn();const p=P(n);if(p){j_.push(s);const g=p.contains(document.activeElement)?r:document.activeElement;if(r=g,!p.contains(g)){const y=new Event(X6,N_);p.addEventListener(X6,c),p.dispatchEvent(y),y.defaultPrevented||Cn(()=>{let v=e.focusStartEl;Yt(v)||(Vl(v),document.activeElement!==v&&(v="first")),v==="first"&&Hme(hG(p),!0),(document.activeElement===g||v==="container")&&Vl(p)})}}}function h(){const p=P(n);if(p){p.removeEventListener(X6,c);const g=new CustomEvent(Q6,{...N_,detail:{focusReason:o.value}});p.addEventListener(Q6,l),p.dispatchEvent(g),!g.defaultPrevented&&(o.value=="keyboard"||!zme()||p.contains(document.activeElement))&&Vl(r??document.body),p.removeEventListener(Q6,l),j_.remove(s)}}return ln(()=>{e.trapped&&f(),Ye(()=>e.trapped,p=>{p?f():h()})}),xi(()=>{e.trapped&&h(),n.value&&(n.value.removeEventListener("keydown",a),n.value.removeEventListener("focusin",u),n.value.removeEventListener("focusout",d),n.value=void 0)}),{onKeydown:a}}});function Jme(e,t,n,r,i,o){return St(e.$slots,"default",{handleKeydown:e.onKeydown})}var Sw=Rn(Gme,[["render",Jme],["__file","focus-trap.vue"]]),Ds="top",Ba="bottom",Fa="right",Ls="left",Aw="auto",Ng=[Ds,Ba,Fa,Ls],op="start",Zm="end",Zme="clippingParents",pG="viewport",d1="popper",Yme="reference",W_=Ng.reduce(function(e,t){return e.concat([t+"-"+op,t+"-"+Zm])},[]),Cy=[].concat(Ng,[Aw]).reduce(function(e,t){return e.concat([t,t+"-"+op,t+"-"+Zm])},[]),Xme="beforeRead",Qme="read",Kme="afterRead",qme="beforeMain",$me="main",ege="afterMain",tge="beforeWrite",nge="write",rge="afterWrite",ige=[Xme,Qme,Kme,qme,$me,ege,tge,nge,rge];function hl(e){return e?(e.nodeName||"").toLowerCase():null}function bc(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function sp(e){var t=bc(e).Element;return e instanceof t||e instanceof Element}function La(e){var t=bc(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Cw(e){if(typeof ShadowRoot>"u")return!1;var t=bc(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function oge(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!La(o)||!hl(o)||(Object.assign(o.style,r),Object.keys(i).forEach(function(s){var a=i[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function sge(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),a=s.reduce(function(c,l){return c[l]="",c},{});!La(i)||!hl(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(c){i.removeAttribute(c)}))})}}var mG={name:"applyStyles",enabled:!0,phase:"write",fn:oge,effect:sge,requires:["computeStyles"]};function rl(e){return e.split("-")[0]}var Q0=Math.max,n4=Math.min,ap=Math.round;function cp(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),r=1,i=1;if(La(e)&&t){var o=e.offsetHeight,s=e.offsetWidth;s>0&&(r=ap(n.width)/s||1),o>0&&(i=ap(n.height)/o||1)}return{width:n.width/r,height:n.height/i,top:n.top/i,right:n.right/r,bottom:n.bottom/i,left:n.left/r,x:n.left/r,y:n.top/i}}function ww(e){var t=cp(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function gG(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Cw(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function yu(e){return bc(e).getComputedStyle(e)}function age(e){return["table","td","th"].indexOf(hl(e))>=0}function Jd(e){return((sp(e)?e.ownerDocument:e.document)||window.document).documentElement}function wy(e){return hl(e)==="html"?e:e.assignedSlot||e.parentNode||(Cw(e)?e.host:null)||Jd(e)}function V_(e){return!La(e)||yu(e).position==="fixed"?null:e.offsetParent}function cge(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&La(e)){var r=yu(e);if(r.position==="fixed")return null}var i=wy(e);for(Cw(i)&&(i=i.host);La(i)&&["html","body"].indexOf(hl(i))<0;){var o=yu(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function Mg(e){for(var t=bc(e),n=V_(e);n&&age(n)&&yu(n).position==="static";)n=V_(n);return n&&(hl(n)==="html"||hl(n)==="body"&&yu(n).position==="static")?t:n||cge(e)||t}function Tw(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function um(e,t,n){return Q0(e,n4(t,n))}function lge(e,t,n){var r=um(e,t,n);return r>n?n:r}function vG(){return{top:0,right:0,bottom:0,left:0}}function yG(e){return Object.assign({},vG(),e)}function EG(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var uge=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,yG(typeof e!="number"?e:EG(e,Ng))};function dge(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,a=rl(n.placement),c=Tw(a),l=[Ls,Fa].indexOf(a)>=0,u=l?"height":"width";if(!(!o||!s)){var d=uge(i.padding,n),f=ww(o),h=c==="y"?Ds:Ls,p=c==="y"?Ba:Fa,g=n.rects.reference[u]+n.rects.reference[c]-s[c]-n.rects.popper[u],m=s[c]-n.rects.reference[c],y=Mg(o),v=y?c==="y"?y.clientHeight||0:y.clientWidth||0:0,E=g/2-m/2,b=d[h],S=v-f[u]-d[p],w=v/2-f[u]/2+E,C=um(b,w,S),_=c;n.modifiersData[r]=(t={},t[_]=C,t.centerOffset=C-w,t)}}function fge(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||!gG(t.elements.popper,i)||(t.elements.arrow=i))}var hge={name:"arrow",enabled:!0,phase:"main",fn:dge,effect:fge,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function lp(e){return e.split("-")[1]}var pge={top:"auto",right:"auto",bottom:"auto",left:"auto"};function mge(e){var t=e.x,n=e.y,r=window,i=r.devicePixelRatio||1;return{x:ap(t*i)/i||0,y:ap(n*i)/i||0}}function G_(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,s=e.offsets,a=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=s.x,h=f===void 0?0:f,p=s.y,g=p===void 0?0:p,m=typeof u=="function"?u({x:h,y:g}):{x:h,y:g};h=m.x,g=m.y;var y=s.hasOwnProperty("x"),v=s.hasOwnProperty("y"),E=Ls,b=Ds,S=window;if(l){var w=Mg(n),C="clientHeight",_="clientWidth";if(w===bc(n)&&(w=Jd(n),yu(w).position!=="static"&&a==="absolute"&&(C="scrollHeight",_="scrollWidth")),w=w,i===Ds||(i===Ls||i===Fa)&&o===Zm){b=Ba;var I=d&&w===S&&S.visualViewport?S.visualViewport.height:w[C];g-=I-r.height,g*=c?1:-1}if(i===Ls||(i===Ds||i===Ba)&&o===Zm){E=Fa;var O=d&&w===S&&S.visualViewport?S.visualViewport.width:w[_];h-=O-r.width,h*=c?1:-1}}var L=Object.assign({position:a},l&&pge),R=u===!0?mge({x:h,y:g}):{x:h,y:g};if(h=R.x,g=R.y,c){var F;return Object.assign({},L,(F={},F[b]=v?"0":"",F[E]=y?"0":"",F.transform=(S.devicePixelRatio||1)<=1?"translate("+h+"px, "+g+"px)":"translate3d("+h+"px, "+g+"px, 0)",F))}return Object.assign({},L,(t={},t[b]=v?g+"px":"",t[E]=y?h+"px":"",t.transform="",t))}function gge(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,a=n.roundOffsets,c=a===void 0?!0:a,l={placement:rl(t.placement),variation:lp(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,G_(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,G_(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var bG={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:gge,data:{}},O2={passive:!0};function vge(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,o=i===void 0?!0:i,s=r.resize,a=s===void 0?!0:s,c=bc(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&l.forEach(function(u){u.addEventListener("scroll",n.update,O2)}),a&&c.addEventListener("resize",n.update,O2),function(){o&&l.forEach(function(u){u.removeEventListener("scroll",n.update,O2)}),a&&c.removeEventListener("resize",n.update,O2)}}var SG={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:vge,data:{}},yge={left:"right",right:"left",bottom:"top",top:"bottom"};function j5(e){return e.replace(/left|right|bottom|top/g,function(t){return yge[t]})}var Ege={start:"end",end:"start"};function J_(e){return e.replace(/start|end/g,function(t){return Ege[t]})}function Iw(e){var t=bc(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Pw(e){return cp(Jd(e)).left+Iw(e).scrollLeft}function bge(e){var t=bc(e),n=Jd(e),r=t.visualViewport,i=n.clientWidth,o=n.clientHeight,s=0,a=0;return r&&(i=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=r.offsetLeft,a=r.offsetTop)),{width:i,height:o,x:s+Pw(e),y:a}}function Sge(e){var t,n=Jd(e),r=Iw(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=Q0(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=Q0(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-r.scrollLeft+Pw(e),c=-r.scrollTop;return yu(i||n).direction==="rtl"&&(a+=Q0(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:c}}function Ow(e){var t=yu(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function AG(e){return["html","body","#document"].indexOf(hl(e))>=0?e.ownerDocument.body:La(e)&&Ow(e)?e:AG(wy(e))}function dm(e,t){var n;t===void 0&&(t=[]);var r=AG(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),o=bc(r),s=i?[o].concat(o.visualViewport||[],Ow(r)?r:[]):r,a=t.concat(s);return i?a:a.concat(dm(wy(s)))}function L7(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Age(e){var t=cp(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function Z_(e,t){return t===pG?L7(bge(e)):sp(t)?Age(t):L7(Sge(Jd(e)))}function Cge(e){var t=dm(wy(e)),n=["absolute","fixed"].indexOf(yu(e).position)>=0,r=n&&La(e)?Mg(e):e;return sp(r)?t.filter(function(i){return sp(i)&&gG(i,r)&&hl(i)!=="body"}):[]}function wge(e,t,n){var r=t==="clippingParents"?Cge(e):[].concat(t),i=[].concat(r,[n]),o=i[0],s=i.reduce(function(a,c){var l=Z_(e,c);return a.top=Q0(l.top,a.top),a.right=n4(l.right,a.right),a.bottom=n4(l.bottom,a.bottom),a.left=Q0(l.left,a.left),a},Z_(e,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function CG(e){var t=e.reference,n=e.element,r=e.placement,i=r?rl(r):null,o=r?lp(r):null,s=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,c;switch(i){case Ds:c={x:s,y:t.y-n.height};break;case Ba:c={x:s,y:t.y+t.height};break;case Fa:c={x:t.x+t.width,y:a};break;case Ls:c={x:t.x-n.width,y:a};break;default:c={x:t.x,y:t.y}}var l=i?Tw(i):null;if(l!=null){var u=l==="y"?"height":"width";switch(o){case op:c[l]=c[l]-(t[u]/2-n[u]/2);break;case Zm:c[l]=c[l]+(t[u]/2-n[u]/2);break}}return c}function Ym(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,o=n.boundary,s=o===void 0?Zme:o,a=n.rootBoundary,c=a===void 0?pG:a,l=n.elementContext,u=l===void 0?d1:l,d=n.altBoundary,f=d===void 0?!1:d,h=n.padding,p=h===void 0?0:h,g=yG(typeof p!="number"?p:EG(p,Ng)),m=u===d1?Yme:d1,y=e.rects.popper,v=e.elements[f?m:u],E=wge(sp(v)?v:v.contextElement||Jd(e.elements.popper),s,c),b=cp(e.elements.reference),S=CG({reference:b,element:y,placement:i}),w=L7(Object.assign({},y,S)),C=u===d1?w:b,_={top:E.top-C.top+g.top,bottom:C.bottom-E.bottom+g.bottom,left:E.left-C.left+g.left,right:C.right-E.right+g.right},I=e.modifiersData.offset;if(u===d1&&I){var O=I[i];Object.keys(_).forEach(function(L){var R=[Fa,Ba].indexOf(L)>=0?1:-1,F=[Ds,Ba].indexOf(L)>=0?"y":"x";_[L]+=O[F]*R})}return _}function Tge(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?Cy:c,u=lp(r),d=u?a?W_:W_.filter(function(p){return lp(p)===u}):Ng,f=d.filter(function(p){return l.indexOf(p)>=0});f.length===0&&(f=d);var h=f.reduce(function(p,g){return p[g]=Ym(e,{placement:g,boundary:i,rootBoundary:o,padding:s})[rl(g)],p},{});return Object.keys(h).sort(function(p,g){return h[p]-h[g]})}function Ige(e){if(rl(e)===Aw)return[];var t=j5(e);return[J_(e),t,J_(t)]}function Pge(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!0:s,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=h===void 0?!0:h,g=n.allowedAutoPlacements,m=t.options.placement,y=rl(m),v=y===m,E=c||(v||!p?[j5(m)]:Ige(m)),b=[m].concat(E).reduce(function(j,re){return j.concat(rl(re)===Aw?Tge(t,{placement:re,boundary:u,rootBoundary:d,padding:l,flipVariations:p,allowedAutoPlacements:g}):re)},[]),S=t.rects.reference,w=t.rects.popper,C=new Map,_=!0,I=b[0],O=0;O<b.length;O++){var L=b[O],R=rl(L),F=lp(L)===op,W=[Ds,Ba].indexOf(R)>=0,J=W?"width":"height",Y=Ym(t,{placement:L,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),M=W?F?Fa:Ls:F?Ba:Ds;S[J]>w[J]&&(M=j5(M));var B=j5(M),q=[];if(o&&q.push(Y[R]<=0),a&&q.push(Y[M]<=0,Y[B]<=0),q.every(function(j){return j})){I=L,_=!1;break}C.set(L,q)}if(_)for(var z=p?3:1,A=function(j){var re=b.find(function(me){var te=C.get(me);if(te)return te.slice(0,j).every(function(X){return X})});if(re)return I=re,"break"},T=z;T>0;T--){var k=A(T);if(k==="break")break}t.placement!==I&&(t.modifiersData[r]._skip=!0,t.placement=I,t.reset=!0)}}var Oge={name:"flip",enabled:!0,phase:"main",fn:Pge,requiresIfExists:["offset"],data:{_skip:!1}};function Y_(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function X_(e){return[Ds,Fa,Ba,Ls].some(function(t){return e[t]>=0})}function _ge(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,s=Ym(t,{elementContext:"reference"}),a=Ym(t,{altBoundary:!0}),c=Y_(s,r),l=Y_(a,i,o),u=X_(c),d=X_(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var Rge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:_ge};function kge(e,t,n){var r=rl(e),i=[Ls,Ds].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],a=o[1];return s=s||0,a=(a||0)*i,[Ls,Fa].indexOf(r)>=0?{x:a,y:s}:{x:s,y:a}}function xge(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=i===void 0?[0,0]:i,s=Cy.reduce(function(u,d){return u[d]=kge(d,t.rects,o),u},{}),a=s[t.placement],c=a.x,l=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=s}var Dge={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:xge};function Lge(e){var t=e.state,n=e.name;t.modifiersData[n]=CG({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var wG={name:"popperOffsets",enabled:!0,phase:"read",fn:Lge,data:{}};function Nge(e){return e==="x"?"y":"x"}function Mge(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=i===void 0?!0:i,s=n.altAxis,a=s===void 0?!1:s,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,h=f===void 0?!0:f,p=n.tetherOffset,g=p===void 0?0:p,m=Ym(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),y=rl(t.placement),v=lp(t.placement),E=!v,b=Tw(y),S=Nge(b),w=t.modifiersData.popperOffsets,C=t.rects.reference,_=t.rects.popper,I=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,O=typeof I=="number"?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,R={x:0,y:0};if(w){if(o){var F,W=b==="y"?Ds:Ls,J=b==="y"?Ba:Fa,Y=b==="y"?"height":"width",M=w[b],B=M+m[W],q=M-m[J],z=h?-_[Y]/2:0,A=v===op?C[Y]:_[Y],T=v===op?-_[Y]:-C[Y],k=t.elements.arrow,j=h&&k?ww(k):{width:0,height:0},re=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:vG(),me=re[W],te=re[J],X=um(0,C[Y],j[Y]),fe=E?C[Y]/2-z-X-me-O.mainAxis:A-X-me-O.mainAxis,le=E?-C[Y]/2+z+X+te+O.mainAxis:T+X+te+O.mainAxis,ve=t.elements.arrow&&Mg(t.elements.arrow),Z=ve?b==="y"?ve.clientTop||0:ve.clientLeft||0:0,ae=(F=L==null?void 0:L[b])!=null?F:0,pe=M+fe-ae-Z,K=M+le-ae,ce=um(h?n4(B,pe):B,M,h?Q0(q,K):q);w[b]=ce,R[b]=ce-M}if(a){var ye,ee=b==="x"?Ds:Ls,$=b==="x"?Ba:Fa,ge=w[S],ie=S==="y"?"height":"width",Ie=ge+m[ee],Ce=ge-m[$],oe=[Ds,Ls].indexOf(y)!==-1,Ne=(ye=L==null?void 0:L[S])!=null?ye:0,x=oe?Ie:ge-C[ie]-_[ie]-Ne+O.altAxis,N=oe?ge+C[ie]+_[ie]-Ne-O.altAxis:Ce,U=h&&oe?lge(x,ge,N):um(h?x:Ie,ge,h?N:Ce);w[S]=U,R[S]=U-ge}t.modifiersData[r]=R}}var Bge={name:"preventOverflow",enabled:!0,phase:"main",fn:Mge,requiresIfExists:["offset"]};function Fge(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Uge(e){return e===bc(e)||!La(e)?Iw(e):Fge(e)}function jge(e){var t=e.getBoundingClientRect(),n=ap(t.width)/e.offsetWidth||1,r=ap(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Hge(e,t,n){n===void 0&&(n=!1);var r=La(t),i=La(t)&&jge(t),o=Jd(t),s=cp(e,i),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((hl(t)!=="body"||Ow(o))&&(a=Uge(t)),La(t)?(c=cp(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=Pw(o))),{x:s.left+a.scrollLeft-c.x,y:s.top+a.scrollTop-c.y,width:s.width,height:s.height}}function zge(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!n.has(a)){var c=t.get(a);c&&i(c)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),r}function Wge(e){var t=zge(e);return ige.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function Vge(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Gge(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var Q_={placement:"bottom",modifiers:[],strategy:"absolute"};function K_(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function _w(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,o=i===void 0?Q_:i;return function(s,a,c){c===void 0&&(c=o);var l={placement:"bottom",orderedModifiers:[],options:Object.assign({},Q_,o),modifiersData:{},elements:{reference:s,popper:a},attributes:{},styles:{}},u=[],d=!1,f={state:l,setOptions:function(g){var m=typeof g=="function"?g(l.options):g;p(),l.options=Object.assign({},o,l.options,m),l.scrollParents={reference:sp(s)?dm(s):s.contextElement?dm(s.contextElement):[],popper:dm(a)};var y=Wge(Gge([].concat(r,l.options.modifiers)));return l.orderedModifiers=y.filter(function(v){return v.enabled}),h(),f.update()},forceUpdate:function(){if(!d){var g=l.elements,m=g.reference,y=g.popper;if(K_(m,y)){l.rects={reference:Hge(m,Mg(y),l.options.strategy==="fixed"),popper:ww(y)},l.reset=!1,l.placement=l.options.placement,l.orderedModifiers.forEach(function(_){return l.modifiersData[_.name]=Object.assign({},_.data)});for(var v=0;v<l.orderedModifiers.length;v++){if(l.reset===!0){l.reset=!1,v=-1;continue}var E=l.orderedModifiers[v],b=E.fn,S=E.options,w=S===void 0?{}:S,C=E.name;typeof b=="function"&&(l=b({state:l,options:w,name:C,instance:f})||l)}}}},update:Vge(function(){return new Promise(function(g){f.forceUpdate(),g(l)})}),destroy:function(){p(),d=!0}};if(!K_(s,a))return f;f.setOptions(c).then(function(g){!d&&c.onFirstUpdate&&c.onFirstUpdate(g)});function h(){l.orderedModifiers.forEach(function(g){var m=g.name,y=g.options,v=y===void 0?{}:y,E=g.effect;if(typeof E=="function"){var b=E({state:l,name:m,instance:f,options:v}),S=function(){};u.push(b||S)}})}function p(){u.forEach(function(g){return g()}),u=[]}return f}}_w();var Jge=[SG,wG,bG,mG];_w({defaultModifiers:Jge});var Zge=[SG,wG,bG,mG,Dge,Oge,Bge,hge,Rge],Yge=_w({defaultModifiers:Zge});const TG=Un({arrowOffset:{type:Number,default:5}}),Xge=["fixed","absolute"],Qge=Un({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:Mt(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Cy,default:"bottom"},popperOptions:{type:Mt(Object),default:()=>({})},strategy:{type:String,values:Xge,default:"absolute"}}),IG=Un({...Qge,...TG,id:String,style:{type:Mt([String,Array,Object])},className:{type:Mt([String,Array,Object])},effect:{type:Mt(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:Mt([String,Array,Object])},popperStyle:{type:Mt([String,Array,Object])},referenceEl:{type:Mt(Object)},triggerTargetEl:{type:Mt(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...yl(["ariaLabel"])}),Kge={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},qge=(e,t)=>{const n=se(!1),r=se();return{focusStartRef:r,trapped:n,onFocusAfterReleased:l=>{var u;((u=l.detail)==null?void 0:u.focusReason)!=="pointer"&&(r.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:l=>{e.visible&&!n.value&&(l.target&&(r.value=l.target),n.value=!0)},onFocusoutPrevented:l=>{e.trapping||(l.detail.focusReason==="pointer"&&l.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}},$ge=(e,t=[])=>{const{placement:n,strategy:r,popperOptions:i}=e,o={placement:n,strategy:r,...i,modifiers:[...t2e(e),...t]};return n2e(o,i==null?void 0:i.modifiers),o},e2e=e=>{if(qn)return sc(e)};function t2e(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:r}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:r}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function n2e(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const r2e=(e,t,n={})=>{const r={name:"updateState",enabled:!0,phase:"write",fn:({state:c})=>{const l=i2e(c);Object.assign(s.value,l)},requires:["computeStyles"]},i=V(()=>{const{onFirstUpdate:c,placement:l,strategy:u,modifiers:d}=P(n);return{onFirstUpdate:c,placement:l||"bottom",strategy:u||"absolute",modifiers:[...d||[],r,{name:"applyStyles",enabled:!1}]}}),o=xo(),s=se({styles:{popper:{position:P(i).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{o.value&&(o.value.destroy(),o.value=void 0)};return Ye(i,c=>{const l=P(o);l&&l.setOptions(c)},{deep:!0}),Ye([e,t],([c,l])=>{a(),!(!c||!l)&&(o.value=Yge(c,l,P(i)))}),xi(()=>{a()}),{state:V(()=>{var c;return{...((c=P(o))==null?void 0:c.state)||{}}}),styles:V(()=>P(s).styles),attributes:V(()=>P(s).attributes),update:()=>{var c;return(c=P(o))==null?void 0:c.update()},forceUpdate:()=>{var c;return(c=P(o))==null?void 0:c.forceUpdate()},instanceRef:V(()=>P(o))}};function i2e(e){const t=Object.keys(e.elements),n=Jm(t.map(i=>[i,e.styles[i]||{}])),r=Jm(t.map(i=>[i,e.attributes[i]]));return{styles:n,attributes:r}}const o2e=0,s2e=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:r,role:i}=Vt(yw,void 0),o=se(),s=V(()=>e.arrowOffset),a=V(()=>({name:"eventListeners",enabled:!!e.visible})),c=V(()=>{var y;const v=P(o),E=(y=P(s))!=null?y:o2e;return{name:"arrow",enabled:!npe(v),options:{element:v,padding:E}}}),l=V(()=>({onFirstUpdate:()=>{p()},...$ge(e,[P(c),P(a)])})),u=V(()=>e2e(e.referenceEl)||P(r)),{attributes:d,state:f,styles:h,update:p,forceUpdate:g,instanceRef:m}=r2e(u,n,l);return Ye(m,y=>t.value=y,{flush:"sync"}),ln(()=>{Ye(()=>{var y;return(y=P(u))==null?void 0:y.getBoundingClientRect()},()=>{p()})}),{attributes:d,arrowRef:o,contentRef:n,instanceRef:m,state:f,styles:h,role:i,forceUpdate:g,update:p}},a2e=(e,{attributes:t,styles:n,role:r})=>{const{nextZIndex:i}=vy(),o=pn("popper"),s=V(()=>P(t).popper),a=se(_n(e.zIndex)?e.zIndex:i()),c=V(()=>[o.b(),o.is("pure",e.pure),o.is(e.effect),e.popperClass]),l=V(()=>[{zIndex:P(a)},P(n).popper,e.popperStyle||{}]),u=V(()=>r.value==="dialog"?"false":void 0),d=V(()=>P(n).arrow||{});return{ariaModal:u,arrowStyle:d,contentAttrs:s,contentClass:c,contentStyle:l,contentZIndex:a,updateZIndex:()=>{a.value=_n(e.zIndex)?e.zIndex:i()}}},c2e=Je({name:"ElPopperContent"}),l2e=Je({...c2e,props:IG,emits:Kge,setup(e,{expose:t,emit:n}){const r=e,{focusStartRef:i,trapped:o,onFocusAfterReleased:s,onFocusAfterTrapped:a,onFocusInTrap:c,onFocusoutPrevented:l,onReleaseRequested:u}=qge(r,n),{attributes:d,arrowRef:f,contentRef:h,styles:p,instanceRef:g,role:m,update:y}=s2e(r),{ariaModal:v,arrowStyle:E,contentAttrs:b,contentClass:S,contentStyle:w,updateZIndex:C}=a2e(r,{styles:p,attributes:d,role:m}),_=Vt(e4,void 0);ui(sG,{arrowStyle:E,arrowRef:f}),_&&ui(e4,{..._,addInputId:$i,removeInputId:$i});let I;const O=(R=!0)=>{y(),R&&C()},L=()=>{O(!1),r.visible&&r.focusOnShow?o.value=!0:r.visible===!1&&(o.value=!1)};return ln(()=>{Ye(()=>r.triggerTargetEl,(R,F)=>{I==null||I(),I=void 0;const W=P(R||h.value),J=P(F||h.value);uc(W)&&(I=Ye([m,()=>r.ariaLabel,v,()=>r.id],Y=>{["role","aria-label","aria-modal","id"].forEach((M,B)=>{nl(Y[B])?W.removeAttribute(M):W.setAttribute(M,Y[B])})},{immediate:!0})),J!==W&&uc(J)&&["role","aria-label","aria-modal","id"].forEach(Y=>{J.removeAttribute(Y)})},{immediate:!0}),Ye(()=>r.visible,L,{immediate:!0})}),xi(()=>{I==null||I(),I=void 0}),t({popperContentRef:h,popperInstanceRef:g,updatePopper:O,contentStyle:w}),(R,F)=>(ne(),Te("div",Ko({ref_key:"contentRef",ref:h},P(b),{style:P(w),class:P(S),tabindex:"-1",onMouseenter:W=>R.$emit("mouseenter",W),onMouseleave:W=>R.$emit("mouseleave",W)}),[be(P(Sw),{trapped:P(o),"trap-on-focus-in":!0,"focus-trap-el":P(h),"focus-start-el":P(i),onFocusAfterTrapped:P(a),onFocusAfterReleased:P(s),onFocusin:P(c),onFocusoutPrevented:P(l),onReleaseRequested:P(u)},{default:Re(()=>[St(R.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var u2e=Rn(l2e,[["__file","content.vue"]]);const d2e=Vi(wme),Rw=Symbol("elTooltip"),kw=Un({to:{type:Mt([String,Object]),required:!0},disabled:Boolean}),Go=Un({...o1e,...IG,appendTo:{type:kw.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:Mt(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...yl(["ariaLabel"])}),Bh=Un({...lG,disabled:Boolean,trigger:{type:Mt([String,Array]),default:"hover"},triggerKeys:{type:Mt(Array),default:()=>[so.enter,so.numpadEnter,so.space]}}),f2e=yy({type:Mt(Boolean),default:null}),h2e=yy({type:Mt(Function)}),p2e=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,r=[t],i={[e]:f2e,[n]:h2e};return{useModelToggle:({indicator:s,toggleReason:a,shouldHideWhenRouteChanges:c,shouldProceed:l,onShow:u,onHide:d})=>{const f=yn(),{emit:h}=f,p=f.props,g=V(()=>kt(p[n])),m=V(()=>p[e]===null),y=C=>{s.value!==!0&&(s.value=!0,a&&(a.value=C),kt(u)&&u(C))},v=C=>{s.value!==!1&&(s.value=!1,a&&(a.value=C),kt(d)&&d(C))},E=C=>{if(p.disabled===!0||kt(l)&&!l())return;const _=g.value&&qn;_&&h(t,!0),(m.value||!_)&&y(C)},b=C=>{if(p.disabled===!0||!qn)return;const _=g.value&&qn;_&&h(t,!1),(m.value||!_)&&v(C)},S=C=>{vi(C)&&(p.disabled&&C?g.value&&h(t,!1):s.value!==C&&(C?y():v()))},w=()=>{s.value?b():E()};return Ye(()=>p[e],S),c&&f.appContext.config.globalProperties.$route!==void 0&&Ye(()=>({...f.proxy.$route}),()=>{c.value&&s.value&&b()}),ln(()=>{S(p[e])}),{hide:b,show:E,toggle:w,hasUpdateHandler:g}},useModelToggleProps:i,useModelToggleEmits:r}},{useModelToggleProps:m2e,useModelToggleEmits:g2e,useModelToggle:v2e}=p2e("visible"),y2e=Un({...cG,...m2e,...Go,...Bh,...TG,showArrow:{type:Boolean,default:!0}}),E2e=[...g2e,"before-show","before-hide","show","hide","open","close"],b2e=(e,t)=>At(e)?e.includes(t):e===t,Bf=(e,t,n)=>r=>{b2e(P(e),t)&&n(r)},Gl=(e,t,{checkForDefaultPrevented:n=!0}={})=>i=>{const o=e==null?void 0:e(i);if(n===!1||!o)return t==null?void 0:t(i)},S2e=Je({name:"ElTooltipTrigger"}),A2e=Je({...S2e,props:Bh,setup(e,{expose:t}){const n=e,r=pn("tooltip"),{controlled:i,id:o,open:s,onOpen:a,onClose:c,onToggle:l}=Vt(Rw,void 0),u=se(null),d=()=>{if(P(i)||n.disabled)return!0},f=_a(n,"trigger"),h=Gl(d,Bf(f,"hover",a)),p=Gl(d,Bf(f,"hover",c)),g=Gl(d,Bf(f,"click",b=>{b.button===0&&l(b)})),m=Gl(d,Bf(f,"focus",a)),y=Gl(d,Bf(f,"focus",c)),v=Gl(d,Bf(f,"contextmenu",b=>{b.preventDefault(),l(b)})),E=Gl(d,b=>{const{code:S}=b;n.triggerKeys.includes(S)&&(b.preventDefault(),l(b))});return t({triggerRef:u}),(b,S)=>(ne(),Ze(P(Lme),{id:P(o),"virtual-ref":b.virtualRef,open:P(s),"virtual-triggering":b.virtualTriggering,class:je(P(r).e("trigger")),onBlur:P(y),onClick:P(g),onContextmenu:P(v),onFocus:P(m),onMouseenter:P(h),onMouseleave:P(p),onKeydown:P(E)},{default:Re(()=>[St(b.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var C2e=Rn(A2e,[["__file","trigger.vue"]]);const w2e=Je({__name:"teleport",props:kw,setup(e){return(t,n)=>t.disabled?St(t.$slots,"default",{key:0}):(ne(),Ze(Ine,{key:1,to:t.to},[St(t.$slots,"default")],8,["to"]))}});var T2e=Rn(w2e,[["__file","teleport.vue"]]);const xw=Vi(T2e),PG=()=>{const e=ew(),t=eG(),n=V(()=>`${e.value}-popper-container-${t.prefix}`),r=V(()=>`#${n.value}`);return{id:n,selector:r}},I2e=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},P2e=()=>{const{id:e,selector:t}=PG();return $4(()=>{qn&&(document.body.querySelector(t.value)||I2e(e.value))}),{id:e,selector:t}},O2e=Je({name:"ElTooltipContent",inheritAttrs:!1}),_2e=Je({...O2e,props:Go,setup(e,{expose:t}){const n=e,{selector:r}=PG(),i=pn("tooltip"),o=se(),s=BV(()=>{var B;return(B=o.value)==null?void 0:B.popperContentRef});let a;const{controlled:c,id:l,open:u,trigger:d,onClose:f,onOpen:h,onShow:p,onHide:g,onBeforeShow:m,onBeforeHide:y}=Vt(Rw,void 0),v=V(()=>n.transition||`${i.namespace.value}-fade-in-linear`),E=V(()=>n.persistent);xi(()=>{a==null||a()});const b=V(()=>P(E)?!0:P(u)),S=V(()=>n.disabled?!1:P(u)),w=V(()=>n.appendTo||r.value),C=V(()=>{var B;return(B=n.style)!=null?B:{}}),_=se(!0),I=()=>{g(),M()&&Vl(document.body),_.value=!0},O=()=>{if(P(c))return!0},L=Gl(O,()=>{n.enterable&&P(d)==="hover"&&h()}),R=Gl(O,()=>{P(d)==="hover"&&f()}),F=()=>{var B,q;(q=(B=o.value)==null?void 0:B.updatePopper)==null||q.call(B),m==null||m()},W=()=>{y==null||y()},J=()=>{p()},Y=()=>{n.virtualTriggering||f()},M=B=>{var q;const z=(q=o.value)==null?void 0:q.popperContentRef,A=(B==null?void 0:B.relatedTarget)||document.activeElement;return z==null?void 0:z.contains(A)};return Ye(()=>P(u),B=>{B?(_.value=!1,a=Ape(s,()=>{if(P(c))return;P(d)!=="hover"&&f()})):a==null||a()},{flush:"post"}),Ye(()=>n.content,()=>{var B,q;(q=(B=o.value)==null?void 0:B.updatePopper)==null||q.call(B)}),t({contentRef:o,isFocusInsideContent:M}),(B,q)=>(ne(),Ze(P(xw),{disabled:!B.teleported,to:P(w)},{default:Re(()=>[P(b)||!_.value?(ne(),Ze(Cu,{key:0,name:P(v),appear:!P(E),onAfterLeave:I,onBeforeEnter:F,onAfterEnter:J,onBeforeLeave:W,persisted:""},{default:Re(()=>[vn(be(P(u2e),Ko({id:P(l),ref_key:"contentRef",ref:o},B.$attrs,{"aria-label":B.ariaLabel,"aria-hidden":_.value,"boundaries-padding":B.boundariesPadding,"fallback-placements":B.fallbackPlacements,"gpu-acceleration":B.gpuAcceleration,offset:B.offset,placement:B.placement,"popper-options":B.popperOptions,"arrow-offset":B.arrowOffset,strategy:B.strategy,effect:B.effect,enterable:B.enterable,pure:B.pure,"popper-class":B.popperClass,"popper-style":[B.popperStyle,P(C)],"reference-el":B.referenceEl,"trigger-target-el":B.triggerTargetEl,visible:P(S),"z-index":B.zIndex,onMouseenter:P(L),onMouseleave:P(R),onBlur:Y,onClose:P(f)}),{default:Re(()=>[St(B.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[_r,P(S)]])]),_:3},8,["name","appear"])):Ke("v-if",!0)]),_:3},8,["disabled","to"]))}});var R2e=Rn(_2e,[["__file","content.vue"]]);const k2e=Je({name:"ElTooltip"}),x2e=Je({...k2e,props:y2e,emits:E2e,setup(e,{expose:t,emit:n}){const r=e;P2e();const i=pn("tooltip"),o=cf(),s=se(),a=se(),c=()=>{var E;const b=P(s);b&&((E=b.popperInstanceRef)==null||E.update())},l=se(!1),u=se(),{show:d,hide:f,hasUpdateHandler:h}=v2e({indicator:l,toggleReason:u}),{onOpen:p,onClose:g}=s1e({showAfter:_a(r,"showAfter"),hideAfter:_a(r,"hideAfter"),autoClose:_a(r,"autoClose"),open:d,close:f}),m=V(()=>vi(r.visible)&&!h.value),y=V(()=>[i.b(),r.popperClass]);ui(Rw,{controlled:m,id:o,open:vf(l),trigger:_a(r,"trigger"),onOpen:p,onClose:g,onToggle:E=>{P(l)?g(E):p(E)},onShow:()=>{n("show",u.value)},onHide:()=>{n("hide",u.value)},onBeforeShow:()=>{n("before-show",u.value)},onBeforeHide:()=>{n("before-hide",u.value)},updatePopper:c}),Ye(()=>r.disabled,E=>{E&&l.value&&(l.value=!1)});const v=E=>{var b;return(b=a.value)==null?void 0:b.isFocusInsideContent(E)};return yz(()=>l.value&&f()),t({popperRef:s,contentRef:a,isFocusInsideContent:v,updatePopper:c,onOpen:p,onClose:g,hide:f}),(E,b)=>(ne(),Ze(P(d2e),{ref_key:"popperRef",ref:s,role:E.role},{default:Re(()=>[be(C2e,{disabled:E.disabled,trigger:E.trigger,"trigger-keys":E.triggerKeys,"virtual-ref":E.virtualRef,"virtual-triggering":E.virtualTriggering},{default:Re(()=>[E.$slots.default?St(E.$slots,"default",{key:0}):Ke("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),be(R2e,{ref_key:"contentRef",ref:a,"aria-label":E.ariaLabel,"boundaries-padding":E.boundariesPadding,content:E.content,disabled:E.disabled,effect:E.effect,enterable:E.enterable,"fallback-placements":E.fallbackPlacements,"hide-after":E.hideAfter,"gpu-acceleration":E.gpuAcceleration,offset:E.offset,persistent:E.persistent,"popper-class":P(y),"popper-style":E.popperStyle,placement:E.placement,"popper-options":E.popperOptions,"arrow-offset":E.arrowOffset,pure:E.pure,"raw-content":E.rawContent,"reference-el":E.referenceEl,"trigger-target-el":E.triggerTargetEl,"show-after":E.showAfter,strategy:E.strategy,teleported:E.teleported,transition:E.transition,"virtual-triggering":E.virtualTriggering,"z-index":E.zIndex,"append-to":E.appendTo},{default:Re(()=>[St(E.$slots,"content",{},()=>[E.rawContent?(ne(),Te("span",{key:0,innerHTML:E.content},null,8,["innerHTML"])):(ne(),Te("span",{key:1},Ue(E.content),1))]),E.showArrow?(ne(),Ze(P(Pme),{key:0})):Ke("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var D2e=Rn(x2e,[["__file","tooltip.vue"]]);const Bg=Vi(D2e),L2e=Un({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:Mt([String,Object,Array])},offset:{type:Mt(Array),default:[0,0]},badgeClass:{type:String}}),N2e=Je({name:"ElBadge"}),M2e=Je({...N2e,props:L2e,setup(e,{expose:t}){const n=e,r=pn("badge"),i=V(()=>n.isDot?"":_n(n.value)&&_n(n.max)?n.max<n.value?`${n.max}+`:`${n.value}`:`${n.value}`),o=V(()=>{var s,a,c,l,u;return[{backgroundColor:n.color,marginRight:ul(-((a=(s=n.offset)==null?void 0:s[0])!=null?a:0)),marginTop:ul((l=(c=n.offset)==null?void 0:c[1])!=null?l:0)},(u=n.badgeStyle)!=null?u:{}]});return t({content:i}),(s,a)=>(ne(),Te("div",{class:je(P(r).b())},[St(s.$slots,"default"),be(Cu,{name:`${P(r).namespace.value}-zoom-in-center`,persisted:""},{default:Re(()=>[vn(G("sup",{class:je([P(r).e("content"),P(r).em("content",s.type),P(r).is("fixed",!!s.$slots.default),P(r).is("dot",s.isDot),P(r).is("hide-zero",!s.showZero&&n.value===0),s.badgeClass]),style:Ut(P(o))},[St(s.$slots,"content",{value:P(i)},()=>[yt(Ue(P(i)),1)])],6),[[_r,!s.hidden&&(P(i)||s.isDot||s.$slots.content)]])]),_:3},8,["name"])],2))}});var B2e=Rn(M2e,[["__file","badge.vue"]]);const F2e=Vi(B2e),OG=Symbol("buttonGroupContextKey"),Fh=({from:e,replacement:t,scope:n,version:r,ref:i,type:o="API"},s)=>{Ye(()=>P(s),a=>{},{immediate:!0})},U2e=(e,t)=>{Fh({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},V(()=>e.type==="text"));const n=Vt(OG,void 0),r=Ey("button"),{form:i}=Iu(),o=fl(V(()=>n==null?void 0:n.size)),s=Af(),a=se(),c=_g(),l=V(()=>{var y;return e.type||(n==null?void 0:n.type)||((y=r.value)==null?void 0:y.type)||""}),u=V(()=>{var y,v,E;return(E=(v=e.autoInsertSpace)!=null?v:(y=r.value)==null?void 0:y.autoInsertSpace)!=null?E:!1}),d=V(()=>{var y,v,E;return(E=(v=e.plain)!=null?v:(y=r.value)==null?void 0:y.plain)!=null?E:!1}),f=V(()=>{var y,v,E;return(E=(v=e.round)!=null?v:(y=r.value)==null?void 0:y.round)!=null?E:!1}),h=V(()=>{var y,v,E;return(E=(v=e.text)!=null?v:(y=r.value)==null?void 0:y.text)!=null?E:!1}),p=V(()=>e.tag==="button"?{ariaDisabled:s.value||e.loading,disabled:s.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),g=V(()=>{var y;const v=(y=c.default)==null?void 0:y.call(c);if(u.value&&(v==null?void 0:v.length)===1){const E=v[0];if((E==null?void 0:E.type)===yf){const b=E.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(b.trim())}}return!1});return{_disabled:s,_size:o,_type:l,_ref:a,_props:p,_plain:d,_round:f,_text:h,shouldAddSpace:g,handleClick:y=>{if(s.value||e.loading){y.stopPropagation();return}e.nativeType==="reset"&&(i==null||i.resetFields()),t("click",y)}}},j2e=["default","primary","success","warning","info","danger","text",""],H2e=["button","submit","reset"],N7=Un({size:vl,disabled:Boolean,type:{type:String,values:j2e,default:""},icon:{type:ks},nativeType:{type:String,values:H2e,default:"button"},loading:Boolean,loadingIcon:{type:ks,default:()=>dl},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:Mt([String,Object]),default:"button"}}),z2e={click:e=>e instanceof MouseEvent};function Do(e,t){W2e(e)&&(e="100%");var n=V2e(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function _2(e){return Math.min(1,Math.max(0,e))}function W2e(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function V2e(e){return typeof e=="string"&&e.indexOf("%")!==-1}function _G(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function R2(e){return e<=1?"".concat(Number(e)*100,"%"):e}function N0(e){return e.length===1?"0"+e:String(e)}function G2e(e,t,n){return{r:Do(e,255)*255,g:Do(t,255)*255,b:Do(n,255)*255}}function q_(e,t,n){e=Do(e,255),t=Do(t,255),n=Do(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),o=0,s=0,a=(r+i)/2;if(r===i)s=0,o=0;else{var c=r-i;switch(s=a>.5?c/(2-r-i):c/(r+i),r){case e:o=(t-n)/c+(t<n?6:0);break;case t:o=(n-e)/c+2;break;case n:o=(e-t)/c+4;break}o/=6}return{h:o,s,l:a}}function K6(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function J2e(e,t,n){var r,i,o;if(e=Do(e,360),t=Do(t,100),n=Do(n,100),t===0)i=n,o=n,r=n;else{var s=n<.5?n*(1+t):n+t-n*t,a=2*n-s;r=K6(a,s,e+1/3),i=K6(a,s,e),o=K6(a,s,e-1/3)}return{r:r*255,g:i*255,b:o*255}}function $_(e,t,n){e=Do(e,255),t=Do(t,255),n=Do(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),o=0,s=r,a=r-i,c=r===0?0:a/r;if(r===i)o=0;else{switch(r){case e:o=(t-n)/a+(t<n?6:0);break;case t:o=(n-e)/a+2;break;case n:o=(e-t)/a+4;break}o/=6}return{h:o,s:c,v:s}}function Z2e(e,t,n){e=Do(e,360)*6,t=Do(t,100),n=Do(n,100);var r=Math.floor(e),i=e-r,o=n*(1-t),s=n*(1-i*t),a=n*(1-(1-i)*t),c=r%6,l=[n,s,o,o,a,n][c],u=[a,n,n,s,o,o][c],d=[o,o,a,n,n,s][c];return{r:l*255,g:u*255,b:d*255}}function eR(e,t,n,r){var i=[N0(Math.round(e).toString(16)),N0(Math.round(t).toString(16)),N0(Math.round(n).toString(16))];return r&&i[0].startsWith(i[0].charAt(1))&&i[1].startsWith(i[1].charAt(1))&&i[2].startsWith(i[2].charAt(1))?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function Y2e(e,t,n,r,i){var o=[N0(Math.round(e).toString(16)),N0(Math.round(t).toString(16)),N0(Math.round(n).toString(16)),N0(X2e(r))];return i&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))&&o[3].startsWith(o[3].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}function X2e(e){return Math.round(parseFloat(e)*255).toString(16)}function tR(e){return Ys(e)/255}function Ys(e){return parseInt(e,16)}function Q2e(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var M7={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function K2e(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,o=null,s=!1,a=!1;return typeof e=="string"&&(e=e5e(e)),typeof e=="object"&&(kl(e.r)&&kl(e.g)&&kl(e.b)?(t=G2e(e.r,e.g,e.b),s=!0,a=String(e.r).substr(-1)==="%"?"prgb":"rgb"):kl(e.h)&&kl(e.s)&&kl(e.v)?(r=R2(e.s),i=R2(e.v),t=Z2e(e.h,r,i),s=!0,a="hsv"):kl(e.h)&&kl(e.s)&&kl(e.l)&&(r=R2(e.s),o=R2(e.l),t=J2e(e.h,r,o),s=!0,a="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=_G(n),{ok:s,format:e.format||a,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var q2e="[-\\+]?\\d+%?",$2e="[-\\+]?\\d*\\.\\d+%?",vd="(?:".concat($2e,")|(?:").concat(q2e,")"),q6="[\\s|\\(]+(".concat(vd,")[,|\\s]+(").concat(vd,")[,|\\s]+(").concat(vd,")\\s*\\)?"),$6="[\\s|\\(]+(".concat(vd,")[,|\\s]+(").concat(vd,")[,|\\s]+(").concat(vd,")[,|\\s]+(").concat(vd,")\\s*\\)?"),Xa={CSS_UNIT:new RegExp(vd),rgb:new RegExp("rgb"+q6),rgba:new RegExp("rgba"+$6),hsl:new RegExp("hsl"+q6),hsla:new RegExp("hsla"+$6),hsv:new RegExp("hsv"+q6),hsva:new RegExp("hsva"+$6),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function e5e(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(M7[e])e=M7[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Xa.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Xa.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Xa.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Xa.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Xa.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Xa.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Xa.hex8.exec(e),n?{r:Ys(n[1]),g:Ys(n[2]),b:Ys(n[3]),a:tR(n[4]),format:t?"name":"hex8"}:(n=Xa.hex6.exec(e),n?{r:Ys(n[1]),g:Ys(n[2]),b:Ys(n[3]),format:t?"name":"hex"}:(n=Xa.hex4.exec(e),n?{r:Ys(n[1]+n[1]),g:Ys(n[2]+n[2]),b:Ys(n[3]+n[3]),a:tR(n[4]+n[4]),format:t?"name":"hex8"}:(n=Xa.hex3.exec(e),n?{r:Ys(n[1]+n[1]),g:Ys(n[2]+n[2]),b:Ys(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function kl(e){return!!Xa.CSS_UNIT.exec(String(e))}var t5e=(function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var r;if(t instanceof e)return t;typeof t=="number"&&(t=Q2e(t)),this.originalInput=t;var i=K2e(t);this.originalInput=t,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(r=n.format)!==null&&r!==void 0?r:i.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,r,i,o=t.r/255,s=t.g/255,a=t.b/255;return o<=.03928?n=o/12.92:n=Math.pow((o+.055)/1.055,2.4),s<=.03928?r=s/12.92:r=Math.pow((s+.055)/1.055,2.4),a<=.03928?i=a/12.92:i=Math.pow((a+.055)/1.055,2.4),.2126*n+.7152*r+.0722*i},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=_G(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=$_(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=$_(this.r,this.g,this.b),n=Math.round(t.h*360),r=Math.round(t.s*100),i=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(r,"%, ").concat(i,"%)"):"hsva(".concat(n,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=q_(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=q_(this.r,this.g,this.b),n=Math.round(t.h*360),r=Math.round(t.s*100),i=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(r,"%, ").concat(i,"%)"):"hsla(".concat(n,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),eR(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),Y2e(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),r=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(r,")"):"rgba(".concat(t,", ").concat(n,", ").concat(r,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Do(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Do(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+eR(this.r,this.g,this.b,!1),n=0,r=Object.entries(M7);n<r.length;n++){var i=r[n],o=i[0],s=i[1];if(t===s)return o}return!1},e.prototype.toString=function(t){var n=!!t;t=t??this.format;var r=!1,i=this.a<1&&this.a>=0,o=!n&&i&&(t.startsWith("hex")||t==="name");return o?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(r=this.toRgbString()),t==="prgb"&&(r=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(r=this.toHexString()),t==="hex3"&&(r=this.toHexString(!0)),t==="hex4"&&(r=this.toHex8String(!0)),t==="hex8"&&(r=this.toHex8String()),t==="name"&&(r=this.toName()),t==="hsl"&&(r=this.toHslString()),t==="hsv"&&(r=this.toHsvString()),r||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=_2(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=_2(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=_2(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=_2(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var r=this.toRgb(),i=new e(t).toRgb(),o=n/100,s={r:(i.r-r.r)*o+r.r,g:(i.g-r.g)*o+r.g,b:(i.b-r.b)*o+r.b,a:(i.a-r.a)*o+r.a};return new e(s)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var r=this.toHsl(),i=360/n,o=[this];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,o.push(new e(r));return o},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),r=n.h,i=n.s,o=n.v,s=[],a=1/t;t--;)s.push(new e({h:r,s:i,v:o})),o=(o+a)%1;return s},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),i=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/i,g:(n.g*n.a+r.g*r.a*(1-n.a))/i,b:(n.b*n.a+r.b*r.a*(1-n.a))/i,a:i})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,i=[this],o=360/t,s=1;s<t;s++)i.push(new e({h:(r+s*o)%360,s:n.s,l:n.l}));return i},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e})();function Uu(e,t=20){return e.mix("#141414",t).toString()}function n5e(e){const t=Af(),n=pn("button");return V(()=>{let r={},i=e.color;if(i){const o=i.match(/var\((.*?)\)/);o&&(i=window.getComputedStyle(window.document.documentElement).getPropertyValue(o[1]));const s=new t5e(i),a=e.dark?s.tint(20).toString():Uu(s,20);if(e.plain)r=n.cssVarBlock({"bg-color":e.dark?Uu(s,90):s.tint(90).toString(),"text-color":i,"border-color":e.dark?Uu(s,50):s.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":i,"hover-border-color":i,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(r[n.cssVarBlockName("disabled-bg-color")]=e.dark?Uu(s,90):s.tint(90).toString(),r[n.cssVarBlockName("disabled-text-color")]=e.dark?Uu(s,50):s.tint(50).toString(),r[n.cssVarBlockName("disabled-border-color")]=e.dark?Uu(s,80):s.tint(80).toString());else{const c=e.dark?Uu(s,30):s.tint(30).toString(),l=s.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(r=n.cssVarBlock({"bg-color":i,"text-color":l,"border-color":i,"hover-bg-color":c,"hover-text-color":l,"hover-border-color":c,"active-bg-color":a,"active-border-color":a}),t.value){const u=e.dark?Uu(s,50):s.tint(50).toString();r[n.cssVarBlockName("disabled-bg-color")]=u,r[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,r[n.cssVarBlockName("disabled-border-color")]=u}}}return r})}const r5e=Je({name:"ElButton"}),i5e=Je({...r5e,props:N7,emits:z2e,setup(e,{expose:t,emit:n}){const r=e,i=n5e(r),o=pn("button"),{_ref:s,_size:a,_type:c,_disabled:l,_props:u,_plain:d,_round:f,_text:h,shouldAddSpace:p,handleClick:g}=U2e(r,n),m=V(()=>[o.b(),o.m(c.value),o.m(a.value),o.is("disabled",l.value),o.is("loading",r.loading),o.is("plain",d.value),o.is("round",f.value),o.is("circle",r.circle),o.is("text",h.value),o.is("link",r.link),o.is("has-bg",r.bg)]);return t({ref:s,size:a,type:c,disabled:l,shouldAddSpace:p}),(y,v)=>(ne(),Ze(Br(y.tag),Ko({ref_key:"_ref",ref:s},P(u),{class:P(m),style:P(i),onClick:P(g)}),{default:Re(()=>[y.loading?(ne(),Te(Ft,{key:0},[y.$slots.loading?St(y.$slots,"loading",{key:0}):(ne(),Ze(P(Pn),{key:1,class:je(P(o).is("loading"))},{default:Re(()=>[(ne(),Ze(Br(y.loadingIcon)))]),_:1},8,["class"]))],64)):y.icon||y.$slots.icon?(ne(),Ze(P(Pn),{key:1},{default:Re(()=>[y.icon?(ne(),Ze(Br(y.icon),{key:0})):St(y.$slots,"icon",{key:1})]),_:3})):Ke("v-if",!0),y.$slots.default?(ne(),Te("span",{key:2,class:je({[P(o).em("text","expand")]:P(p)})},[St(y.$slots,"default")],2)):Ke("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var o5e=Rn(i5e,[["__file","button.vue"]]);const s5e={size:N7.size,type:N7.type},a5e=Je({name:"ElButtonGroup"}),c5e=Je({...a5e,props:s5e,setup(e){const t=e;ui(OG,eo({size:_a(t,"size"),type:_a(t,"type")}));const n=pn("button");return(r,i)=>(ne(),Te("div",{class:je(P(n).b("group"))},[St(r.$slots,"default")],2))}});var RG=Rn(c5e,[["__file","button-group.vue"]]);const pr=Vi(o5e,{ButtonGroup:RG});Gd(RG);var e8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function l5e(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var H5=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(H5||{});const R1=e=>{const t=At(e)?e:[e],n=[];return t.forEach(r=>{var i;At(r)?n.push(...R1(r)):Da(r)&&((i=r.component)!=null&&i.subTree)?n.push(r,...R1(r.component.subTree)):Da(r)&&At(r.children)?n.push(...R1(r.children)):Da(r)&&r.shapeFlag===2?n.push(...R1(r.type())):n.push(r)}),n},kG={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:vl,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...yl(["ariaControls"])},xG={[Yr]:e=>Yt(e)||_n(e)||vi(e),change:e=>Yt(e)||_n(e)||vi(e)},xp=Symbol("checkboxGroupContextKey"),u5e=({model:e,isChecked:t})=>{const n=Vt(xp,void 0),r=V(()=>{var o,s;const a=(o=n==null?void 0:n.max)==null?void 0:o.value,c=(s=n==null?void 0:n.min)==null?void 0:s.value;return!Wi(a)&&e.value.length>=a&&!t.value||!Wi(c)&&e.value.length<=c&&t.value});return{isDisabled:Af(V(()=>(n==null?void 0:n.disabled.value)||r.value)),isLimitDisabled:r}},d5e=(e,{model:t,isLimitExceeded:n,hasOwnLabel:r,isDisabled:i,isLabeledByFormItem:o})=>{const s=Vt(xp,void 0),{formItem:a}=Iu(),{emit:c}=yn();function l(p){var g,m,y,v;return[!0,e.trueValue,e.trueLabel].includes(p)?(m=(g=e.trueValue)!=null?g:e.trueLabel)!=null?m:!0:(v=(y=e.falseValue)!=null?y:e.falseLabel)!=null?v:!1}function u(p,g){c(ms,l(p),g)}function d(p){if(n.value)return;const g=p.target;c(ms,l(g.checked),p)}async function f(p){n.value||!r.value&&!i.value&&o.value&&(p.composedPath().some(y=>y.tagName==="LABEL")||(t.value=l([!1,e.falseValue,e.falseLabel].includes(t.value)),await Cn(),u(t.value,p)))}const h=V(()=>(s==null?void 0:s.validateEvent)||e.validateEvent);return Ye(()=>e.modelValue,()=>{h.value&&(a==null||a.validate("change").catch(p=>void 0))}),{handleChange:d,onClickRoot:f}},f5e=e=>{const t=se(!1),{emit:n}=yn(),r=Vt(xp,void 0),i=V(()=>Wi(r)===!1),o=se(!1),s=V({get(){var a,c;return i.value?(a=r==null?void 0:r.modelValue)==null?void 0:a.value:(c=e.modelValue)!=null?c:t.value},set(a){var c,l;i.value&&At(a)?(o.value=((c=r==null?void 0:r.max)==null?void 0:c.value)!==void 0&&a.length>(r==null?void 0:r.max.value)&&a.length>s.value.length,o.value===!1&&((l=r==null?void 0:r.changeEvent)==null||l.call(r,a))):(n(Yr,a),t.value=a)}});return{model:s,isGroup:i,isLimitExceeded:o}},h5e=(e,t,{model:n})=>{const r=Vt(xp,void 0),i=se(!1),o=V(()=>uu(e.value)?e.label:e.value),s=V(()=>{const u=n.value;return vi(u)?u:At(u)?cn(o.value)?u.map(tr).some(d=>Id(d,o.value)):u.map(tr).includes(o.value):u!=null?u===e.trueValue||u===e.trueLabel:!!u}),a=fl(V(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value}),{prop:!0}),c=fl(V(()=>{var u;return(u=r==null?void 0:r.size)==null?void 0:u.value})),l=V(()=>!!t.default||!uu(o.value));return{checkboxButtonSize:a,isChecked:s,isFocused:i,checkboxSize:c,hasOwnLabel:l,actualValue:o}},DG=(e,t)=>{const{formItem:n}=Iu(),{model:r,isGroup:i,isLimitExceeded:o}=f5e(e),{isFocused:s,isChecked:a,checkboxButtonSize:c,checkboxSize:l,hasOwnLabel:u,actualValue:d}=h5e(e,t,{model:r}),{isDisabled:f}=u5e({model:r,isChecked:a}),{inputId:h,isLabeledByFormItem:p}=kp(e,{formItemContext:n,disableIdGeneration:u,disableIdManagement:i}),{handleChange:g,onClickRoot:m}=d5e(e,{model:r,isLimitExceeded:o,hasOwnLabel:u,isDisabled:f,isLabeledByFormItem:p});return(()=>{function v(){var E,b;At(r.value)&&!r.value.includes(d.value)?r.value.push(d.value):r.value=(b=(E=e.trueValue)!=null?E:e.trueLabel)!=null?b:!0}e.checked&&v()})(),Fh({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},V(()=>i.value&&uu(e.value))),Fh({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},V(()=>!!e.trueLabel)),Fh({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},V(()=>!!e.falseLabel)),{inputId:h,isLabeledByFormItem:p,isChecked:a,isDisabled:f,isFocused:s,checkboxButtonSize:c,checkboxSize:l,hasOwnLabel:u,model:r,actualValue:d,handleChange:g,onClickRoot:m}},p5e=Je({name:"ElCheckbox"}),m5e=Je({...p5e,props:kG,emits:xG,setup(e){const t=e,n=_g(),{inputId:r,isLabeledByFormItem:i,isChecked:o,isDisabled:s,isFocused:a,checkboxSize:c,hasOwnLabel:l,model:u,actualValue:d,handleChange:f,onClickRoot:h}=DG(t,n),p=pn("checkbox"),g=V(()=>[p.b(),p.m(c.value),p.is("disabled",s.value),p.is("bordered",t.border),p.is("checked",o.value)]),m=V(()=>[p.e("input"),p.is("disabled",s.value),p.is("checked",o.value),p.is("indeterminate",t.indeterminate),p.is("focus",a.value)]);return(y,v)=>(ne(),Ze(Br(!P(l)&&P(i)?"span":"label"),{class:je(P(g)),"aria-controls":y.indeterminate?y.ariaControls:null,onClick:P(h)},{default:Re(()=>{var E,b,S,w;return[G("span",{class:je(P(m))},[y.trueValue||y.falseValue||y.trueLabel||y.falseLabel?vn((ne(),Te("input",{key:0,id:P(r),"onUpdate:modelValue":C=>En(u)?u.value=C:null,class:je(P(p).e("original")),type:"checkbox",indeterminate:y.indeterminate,name:y.name,tabindex:y.tabindex,disabled:P(s),"true-value":(b=(E=y.trueValue)!=null?E:y.trueLabel)!=null?b:!0,"false-value":(w=(S=y.falseValue)!=null?S:y.falseLabel)!=null?w:!1,onChange:P(f),onFocus:C=>a.value=!0,onBlur:C=>a.value=!1,onClick:Nr(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[Y0,P(u)]]):vn((ne(),Te("input",{key:1,id:P(r),"onUpdate:modelValue":C=>En(u)?u.value=C:null,class:je(P(p).e("original")),type:"checkbox",indeterminate:y.indeterminate,disabled:P(s),value:P(d),name:y.name,tabindex:y.tabindex,onChange:P(f),onFocus:C=>a.value=!0,onBlur:C=>a.value=!1,onClick:Nr(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","disabled","value","name","tabindex","onChange","onFocus","onBlur","onClick"])),[[Y0,P(u)]]),G("span",{class:je(P(p).e("inner"))},null,2)],2),P(l)?(ne(),Te("span",{key:0,class:je(P(p).e("label"))},[St(y.$slots,"default"),y.$slots.default?Ke("v-if",!0):(ne(),Te(Ft,{key:0},[yt(Ue(y.label),1)],64))],2)):Ke("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var g5e=Rn(m5e,[["__file","checkbox.vue"]]);const v5e=Je({name:"ElCheckboxButton"}),y5e=Je({...v5e,props:kG,emits:xG,setup(e){const t=e,n=_g(),{isFocused:r,isChecked:i,isDisabled:o,checkboxButtonSize:s,model:a,actualValue:c,handleChange:l}=DG(t,n),u=Vt(xp,void 0),d=pn("checkbox"),f=V(()=>{var p,g,m,y;const v=(g=(p=u==null?void 0:u.fill)==null?void 0:p.value)!=null?g:"";return{backgroundColor:v,borderColor:v,color:(y=(m=u==null?void 0:u.textColor)==null?void 0:m.value)!=null?y:"",boxShadow:v?`-1px 0 0 0 ${v}`:void 0}}),h=V(()=>[d.b("button"),d.bm("button",s.value),d.is("disabled",o.value),d.is("checked",i.value),d.is("focus",r.value)]);return(p,g)=>{var m,y,v,E;return ne(),Te("label",{class:je(P(h))},[p.trueValue||p.falseValue||p.trueLabel||p.falseLabel?vn((ne(),Te("input",{key:0,"onUpdate:modelValue":b=>En(a)?a.value=b:null,class:je(P(d).be("button","original")),type:"checkbox",name:p.name,tabindex:p.tabindex,disabled:P(o),"true-value":(y=(m=p.trueValue)!=null?m:p.trueLabel)!=null?y:!0,"false-value":(E=(v=p.falseValue)!=null?v:p.falseLabel)!=null?E:!1,onChange:P(l),onFocus:b=>r.value=!0,onBlur:b=>r.value=!1,onClick:Nr(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[Y0,P(a)]]):vn((ne(),Te("input",{key:1,"onUpdate:modelValue":b=>En(a)?a.value=b:null,class:je(P(d).be("button","original")),type:"checkbox",name:p.name,tabindex:p.tabindex,disabled:P(o),value:P(c),onChange:P(l),onFocus:b=>r.value=!0,onBlur:b=>r.value=!1,onClick:Nr(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","value","onChange","onFocus","onBlur","onClick"])),[[Y0,P(a)]]),p.$slots.default||p.label?(ne(),Te("span",{key:2,class:je(P(d).be("button","inner")),style:Ut(P(i)?P(f):void 0)},[St(p.$slots,"default",{},()=>[yt(Ue(p.label),1)])],6)):Ke("v-if",!0)],2)}}});var LG=Rn(y5e,[["__file","checkbox-button.vue"]]);const E5e=Un({modelValue:{type:Mt(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:vl,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...yl(["ariaLabel"])}),b5e={[Yr]:e=>At(e),change:e=>At(e)},S5e=Je({name:"ElCheckboxGroup"}),A5e=Je({...S5e,props:E5e,emits:b5e,setup(e,{emit:t}){const n=e,r=pn("checkbox"),{formItem:i}=Iu(),{inputId:o,isLabeledByFormItem:s}=kp(n,{formItemContext:i}),a=async l=>{t(Yr,l),await Cn(),t(ms,l)},c=V({get(){return n.modelValue},set(l){a(l)}});return ui(xp,{...MV(Ud(n),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:c,changeEvent:a}),Ye(()=>n.modelValue,(l,u)=>{n.validateEvent&&!Id(l,u)&&(i==null||i.validate("change").catch(d=>void 0))}),(l,u)=>{var d;return ne(),Ze(Br(l.tag),{id:P(o),class:je(P(r).b("group")),role:"group","aria-label":P(s)?void 0:l.ariaLabel||"checkbox-group","aria-labelledby":P(s)?(d=P(i))==null?void 0:d.labelId:void 0},{default:Re(()=>[St(l.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var NG=Rn(A5e,[["__file","checkbox-group.vue"]]);const up=Vi(g5e,{CheckboxButton:LG,CheckboxGroup:NG});Gd(LG);Gd(NG);const MG=Un({modelValue:{type:[String,Number,Boolean],default:void 0},size:vl,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),C5e=Un({...MG,border:Boolean}),BG={[Yr]:e=>Yt(e)||_n(e)||vi(e),[ms]:e=>Yt(e)||_n(e)||vi(e)},FG=Symbol("radioGroupKey"),UG=(e,t)=>{const n=se(),r=Vt(FG,void 0),i=V(()=>!!r),o=V(()=>uu(e.value)?e.label:e.value),s=V({get(){return i.value?r.modelValue:e.modelValue},set(d){i.value?r.changeEvent(d):t&&t(Yr,d),n.value.checked=e.modelValue===o.value}}),a=fl(V(()=>r==null?void 0:r.size)),c=Af(V(()=>r==null?void 0:r.disabled)),l=se(!1),u=V(()=>c.value||i.value&&s.value!==o.value?-1:0);return Fh({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},V(()=>i.value&&uu(e.value))),{radioRef:n,isGroup:i,radioGroup:r,focus:l,size:a,disabled:c,tabIndex:u,modelValue:s,actualValue:o}},w5e=Je({name:"ElRadio"}),T5e=Je({...w5e,props:C5e,emits:BG,setup(e,{emit:t}){const n=e,r=pn("radio"),{radioRef:i,radioGroup:o,focus:s,size:a,disabled:c,modelValue:l,actualValue:u}=UG(n,t);function d(){Cn(()=>t(ms,l.value))}return(f,h)=>{var p;return ne(),Te("label",{class:je([P(r).b(),P(r).is("disabled",P(c)),P(r).is("focus",P(s)),P(r).is("bordered",f.border),P(r).is("checked",P(l)===P(u)),P(r).m(P(a))])},[G("span",{class:je([P(r).e("input"),P(r).is("disabled",P(c)),P(r).is("checked",P(l)===P(u))])},[vn(G("input",{ref_key:"radioRef",ref:i,"onUpdate:modelValue":g=>En(l)?l.value=g:null,class:je(P(r).e("original")),value:P(u),name:f.name||((p=P(o))==null?void 0:p.name),disabled:P(c),checked:P(l)===P(u),type:"radio",onFocus:g=>s.value=!0,onBlur:g=>s.value=!1,onChange:d,onClick:Nr(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[Kz,P(l)]]),G("span",{class:je(P(r).e("inner"))},null,2)],2),G("span",{class:je(P(r).e("label")),onKeydown:Nr(()=>{},["stop"])},[St(f.$slots,"default",{},()=>[yt(Ue(f.label),1)])],42,["onKeydown"])],2)}}});var I5e=Rn(T5e,[["__file","radio.vue"]]);const P5e=Un({...MG}),O5e=Je({name:"ElRadioButton"}),_5e=Je({...O5e,props:P5e,setup(e){const t=e,n=pn("radio"),{radioRef:r,focus:i,size:o,disabled:s,modelValue:a,radioGroup:c,actualValue:l}=UG(t),u=V(()=>({backgroundColor:(c==null?void 0:c.fill)||"",borderColor:(c==null?void 0:c.fill)||"",boxShadow:c!=null&&c.fill?`-1px 0 0 0 ${c.fill}`:"",color:(c==null?void 0:c.textColor)||""}));return(d,f)=>{var h;return ne(),Te("label",{class:je([P(n).b("button"),P(n).is("active",P(a)===P(l)),P(n).is("disabled",P(s)),P(n).is("focus",P(i)),P(n).bm("button",P(o))])},[vn(G("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":p=>En(a)?a.value=p:null,class:je(P(n).be("button","original-radio")),value:P(l),type:"radio",name:d.name||((h=P(c))==null?void 0:h.name),disabled:P(s),onFocus:p=>i.value=!0,onBlur:p=>i.value=!1,onClick:Nr(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[Kz,P(a)]]),G("span",{class:je(P(n).be("button","inner")),style:Ut(P(a)===P(l)?P(u):{}),onKeydown:Nr(()=>{},["stop"])},[St(d.$slots,"default",{},()=>[yt(Ue(d.label),1)])],46,["onKeydown"])],2)}}});var jG=Rn(_5e,[["__file","radio-button.vue"]]);const R5e=Un({id:{type:String,default:void 0},size:vl,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...yl(["ariaLabel"])}),k5e=BG,x5e=Je({name:"ElRadioGroup"}),D5e=Je({...x5e,props:R5e,emits:k5e,setup(e,{emit:t}){const n=e,r=pn("radio"),i=cf(),o=se(),{formItem:s}=Iu(),{inputId:a,isLabeledByFormItem:c}=kp(n,{formItemContext:s}),l=d=>{t(Yr,d),Cn(()=>t(ms,d))};ln(()=>{const d=o.value.querySelectorAll("[type=radio]"),f=d[0];!Array.from(d).some(h=>h.checked)&&f&&(f.tabIndex=0)});const u=V(()=>n.name||i.value);return ui(FG,eo({...Ud(n),changeEvent:l,name:u})),Ye(()=>n.modelValue,(d,f)=>{n.validateEvent&&!Id(d,f)&&(s==null||s.validate("change").catch(h=>void 0))}),(d,f)=>(ne(),Te("div",{id:P(a),ref_key:"radioGroupRef",ref:o,class:je(P(r).b("group")),role:"radiogroup","aria-label":P(c)?void 0:d.ariaLabel||"radio-group","aria-labelledby":P(c)?P(s).labelId:void 0},[St(d.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var HG=Rn(D5e,[["__file","radio-group.vue"]]);Vi(I5e,{RadioButton:jG,RadioGroup:HG});const zG=Gd(HG),WG=Gd(jG),B7=Un({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:fw},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),L5e={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},N5e=Je({name:"ElTag"}),M5e=Je({...N5e,props:B7,emits:L5e,setup(e,{emit:t}){const n=e,r=fl(),i=pn("tag"),o=V(()=>{const{type:l,hit:u,effect:d,closable:f,round:h}=n;return[i.b(),i.is("closable",f),i.m(l||"primary"),i.m(r.value),i.m(d),i.is("hit",u),i.is("round",h)]}),s=l=>{t("close",l)},a=l=>{t("click",l)},c=l=>{var u,d,f;(f=(d=(u=l==null?void 0:l.component)==null?void 0:u.subTree)==null?void 0:d.component)!=null&&f.bum&&(l.component.subTree.component.bum=null)};return(l,u)=>l.disableTransitions?(ne(),Te("span",{key:0,class:je(P(o)),style:Ut({backgroundColor:l.color}),onClick:a},[G("span",{class:je(P(i).e("content"))},[St(l.$slots,"default")],2),l.closable?(ne(),Ze(P(Pn),{key:0,class:je(P(i).e("close")),onClick:Nr(s,["stop"])},{default:Re(()=>[be(P(ip))]),_:1},8,["class","onClick"])):Ke("v-if",!0)],6)):(ne(),Ze(Cu,{key:1,name:`${P(i).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:c},{default:Re(()=>[G("span",{class:je(P(o)),style:Ut({backgroundColor:l.color}),onClick:a},[G("span",{class:je(P(i).e("content"))},[St(l.$slots,"default")],2),l.closable?(ne(),Ze(P(Pn),{key:0,class:je(P(i).e("close")),onClick:Nr(s,["stop"])},{default:Re(()=>[be(P(ip))]),_:1},8,["class","onClick"])):Ke("v-if",!0)],6)]),_:3},8,["name"]))}});var B5e=Rn(M5e,[["__file","tag.vue"]]);const F5e=Vi(B5e),$u=new Map;if(qn){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const n of $u.values())for(const{documentHandler:r}of n)r(t,e);e=void 0}})}function nR(e,t){let n=[];return At(t.arg)?n=t.arg:uc(t.arg)&&n.push(t.arg),function(r,i){const o=t.instance.popperRef,s=r.target,a=i==null?void 0:i.target,c=!t||!t.instance,l=!s||!a,u=e.contains(s)||e.contains(a),d=e===s,f=n.length&&n.some(p=>p==null?void 0:p.contains(s))||n.length&&n.includes(a),h=o&&(o.contains(s)||o.contains(a));c||l||u||d||f||h||t.value(r,i)}}const VG={beforeMount(e,t){$u.has(e)||$u.set(e,[]),$u.get(e).push({documentHandler:nR(e,t),bindingFn:t.value})},updated(e,t){$u.has(e)||$u.set(e,[]);const n=$u.get(e),r=n.findIndex(o=>o.bindingFn===t.oldValue),i={documentHandler:nR(e,t),bindingFn:t.value};r>=0?n.splice(r,1,i):n.push(i)},unmounted(e){$u.delete(e)}},U5e=Je({name:"ElCollapseTransition"}),j5e=Je({...U5e,setup(e){const t=pn("collapse-transition"),n=i=>{i.style.maxHeight="",i.style.overflow=i.dataset.oldOverflow,i.style.paddingTop=i.dataset.oldPaddingTop,i.style.paddingBottom=i.dataset.oldPaddingBottom},r={beforeEnter(i){i.dataset||(i.dataset={}),i.dataset.oldPaddingTop=i.style.paddingTop,i.dataset.oldPaddingBottom=i.style.paddingBottom,i.style.height&&(i.dataset.elExistsHeight=i.style.height),i.style.maxHeight=0,i.style.paddingTop=0,i.style.paddingBottom=0},enter(i){requestAnimationFrame(()=>{i.dataset.oldOverflow=i.style.overflow,i.dataset.elExistsHeight?i.style.maxHeight=i.dataset.elExistsHeight:i.scrollHeight!==0?i.style.maxHeight=`${i.scrollHeight}px`:i.style.maxHeight=0,i.style.paddingTop=i.dataset.oldPaddingTop,i.style.paddingBottom=i.dataset.oldPaddingBottom,i.style.overflow="hidden"})},afterEnter(i){i.style.maxHeight="",i.style.overflow=i.dataset.oldOverflow},enterCancelled(i){n(i)},beforeLeave(i){i.dataset||(i.dataset={}),i.dataset.oldPaddingTop=i.style.paddingTop,i.dataset.oldPaddingBottom=i.style.paddingBottom,i.dataset.oldOverflow=i.style.overflow,i.style.maxHeight=`${i.scrollHeight}px`,i.style.overflow="hidden"},leave(i){i.scrollHeight!==0&&(i.style.maxHeight=0,i.style.paddingTop=0,i.style.paddingBottom=0)},afterLeave(i){n(i)},leaveCancelled(i){n(i)}};return(i,o)=>(ne(),Ze(Cu,Ko({name:P(t).b()},Mne(r)),{default:Re(()=>[St(i.$slots,"default")]),_:3},16,["name"]))}});var H5e=Rn(j5e,[["__file","collapse-transition.vue"]]);const z5e=Vi(H5e);Un({a11y:{type:Boolean,default:!0},locale:{type:Mt(Object)},size:vl,button:{type:Mt(Object)},card:{type:Mt(Object)},dialog:{type:Mt(Object)},link:{type:Mt(Object)},experimentalFeatures:{type:Mt(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:Mt(Object)},zIndex:Number,namespace:{type:String,default:"el"},...VV});const as={placement:"top"},W5e=100,V5e=600,rR={beforeMount(e,t){const n=t.value,{interval:r=W5e,delay:i=V5e}=kt(n)?{}:n;let o,s;const a=()=>kt(n)?n():n.handler(),c=()=>{s&&(clearTimeout(s),s=void 0),o&&(clearInterval(o),o=void 0)};e.addEventListener("mousedown",l=>{l.button===0&&(c(),a(),document.addEventListener("mouseup",()=>c(),{once:!0}),s=setTimeout(()=>{o=setInterval(()=>{a()},r)},i))})}},GG=e=>{if(!e)return{onClick:$i,onMousedown:$i,onMouseup:$i};let t=!1,n=!1;return{onClick:s=>{t&&n&&e(s),t=n=!1},onMousedown:s=>{t=s.target===s.currentTarget},onMouseup:s=>{n=s.target===s.currentTarget}}},G5e=Un({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:Mt([String,Array,Object])},zIndex:{type:Mt([String,Number])}}),J5e={click:e=>e instanceof MouseEvent},Z5e="overlay";var Y5e=Je({name:"ElOverlay",props:G5e,emits:J5e,setup(e,{slots:t,emit:n}){const r=pn(Z5e),i=c=>{n("click",c)},{onClick:o,onMousedown:s,onMouseup:a}=GG(e.customMaskEvent?void 0:i);return()=>e.mask?be("div",{class:[r.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:o,onMousedown:s,onMouseup:a},[St(t,"default")],H5.STYLE|H5.CLASS|H5.PROPS,["onClick","onMouseup","onMousedown"]):hn("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[St(t,"default")])}});const X5e=Y5e,JG=Symbol("dialogInjectionKey"),iR="dialog-fade",ZG=Un({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:ks},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),Q5e={close:()=>!0},K5e=(e,t,n,r)=>{const i={offsetX:0,offsetY:0},o=se(!1),s=(f,h)=>{if(e.value){const{offsetX:p,offsetY:g}=i,m=e.value.getBoundingClientRect(),y=m.left,v=m.top,E=m.width,b=m.height,S=document.documentElement.clientWidth,w=document.documentElement.clientHeight,C=-y+p,_=-v+g,I=S-y-E+p,O=w-v-(b<w?b:0)+g;r!=null&&r.value||(f=Math.min(Math.max(f,C),I),h=Math.min(Math.max(h,_),O)),i.offsetX=f,i.offsetY=h,e.value.style.transform=`translate(${ul(f)}, ${ul(h)})`}},a=f=>{const h=f.clientX,p=f.clientY,{offsetX:g,offsetY:m}=i,y=E=>{o.value||(o.value=!0);const b=g+E.clientX-h,S=m+E.clientY-p;s(b,S)},v=()=>{o.value=!1,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v)};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v)},c=()=>{t.value&&e.value&&(t.value.addEventListener("mousedown",a),window.addEventListener("resize",d))},l=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",a),window.removeEventListener("resize",d))},u=()=>{i.offsetX=0,i.offsetY=0,e.value&&(e.value.style.transform="")},d=()=>{const{offsetX:f,offsetY:h}=i;s(f,h)};return ln(()=>{cu(()=>{n.value?c():l()})}),xi(()=>{l()}),{isDragging:o,resetPosition:u,updatePosition:d}},q5e=(...e)=>t=>{e.forEach(n=>{kt(n)?n(t):n.value=t})},$5e=Je({name:"ElDialogContent"}),eve=Je({...$5e,props:ZG,emits:Q5e,setup(e,{expose:t}){const n=e,{t:r}=Vd(),{Close:i}=G1e,{dialogRef:o,headerRef:s,bodyId:a,ns:c,style:l}=Vt(JG),{focusTrapRef:u}=Vt(fG),d=q5e(u,o),f=V(()=>!!n.draggable),h=V(()=>!!n.overflow),{resetPosition:p,updatePosition:g,isDragging:m}=K5e(o,s,f,h),y=V(()=>[c.b(),c.is("fullscreen",n.fullscreen),c.is("draggable",f.value),c.is("dragging",m.value),c.is("align-center",!!n.alignCenter),{[c.m("center")]:n.center}]);return t({resetPosition:p,updatePosition:g}),(v,E)=>(ne(),Te("div",{ref:P(d),class:je(P(y)),style:Ut(P(l)),tabindex:"-1"},[G("header",{ref_key:"headerRef",ref:s,class:je([P(c).e("header"),v.headerClass,{"show-close":v.showClose}])},[St(v.$slots,"header",{},()=>[G("span",{role:"heading","aria-level":v.ariaLevel,class:je(P(c).e("title"))},Ue(v.title),11,["aria-level"])]),v.showClose?(ne(),Te("button",{key:0,"aria-label":P(r)("el.dialog.close"),class:je(P(c).e("headerbtn")),type:"button",onClick:b=>v.$emit("close")},[be(P(Pn),{class:je(P(c).e("close"))},{default:Re(()=>[(ne(),Ze(Br(v.closeIcon||P(i))))]),_:1},8,["class"])],10,["aria-label","onClick"])):Ke("v-if",!0)],2),G("div",{id:P(a),class:je([P(c).e("body"),v.bodyClass])},[St(v.$slots,"default")],10,["id"]),v.$slots.footer?(ne(),Te("footer",{key:0,class:je([P(c).e("footer"),v.footerClass])},[St(v.$slots,"footer")],2)):Ke("v-if",!0)],6))}});var tve=Rn(eve,[["__file","dialog-content.vue"]]);const nve=Un({...ZG,appendToBody:Boolean,appendTo:{type:kw.to.type,default:"body"},beforeClose:{type:Mt(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:Mt([String,Object]),default:void 0}}),rve={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[Yr]:e=>vi(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},ive=(e,t={})=>{En(e)||Rp("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||pn("popup"),r=V(()=>n.bm("parent","hidden"));if(!qn||L0(document.body,r.value))return;let i=0,o=!1,s="0";const a=()=>{setTimeout(()=>{typeof document>"u"||o&&document&&(document.body.style.width=s,ll(document.body,r.value))},200)};Ye(e,c=>{if(!c){a();return}o=!L0(document.body,r.value),o&&(s=document.body.style.width,af(document.body,r.value)),i=Qpe(n.namespace.value);const l=document.documentElement.clientHeight<document.body.scrollHeight,u=I0(document.body,"overflowY");i>0&&(l||u==="scroll")&&o&&(document.body.style.width=`calc(100% - ${i}px)`)}),J4(()=>a())},ove=(e,t)=>{var n;const i=yn().emit,{nextZIndex:o}=vy();let s="";const a=cf(),c=cf(),l=se(!1),u=se(!1),d=se(!1),f=se((n=e.zIndex)!=null?n:o());let h,p;const g=Ey(),m=V(()=>{var A,T;return(T=(A=g.value)==null?void 0:A.namespace)!=null?T:cm}),y=V(()=>{var A;return(A=g.value)==null?void 0:A.dialog}),v=V(()=>{const A={},T=`--${m.value}-dialog`;return e.fullscreen||(e.top&&(A[`${T}-margin-top`]=e.top),e.width&&(A[`${T}-width`]=ul(e.width))),A}),E=V(()=>{var A,T,k;return((k=(T=e.draggable)!=null?T:(A=y.value)==null?void 0:A.draggable)!=null?k:!1)&&!e.fullscreen}),b=V(()=>{var A,T,k;return(k=(T=e.alignCenter)!=null?T:(A=y.value)==null?void 0:A.alignCenter)!=null?k:!1}),S=V(()=>{var A,T,k;return(k=(T=e.overflow)!=null?T:(A=y.value)==null?void 0:A.overflow)!=null?k:!1}),w=V(()=>b.value?{display:"flex"}:{}),C=V(()=>{var A,T,k;const j=(k=(T=e.transition)!=null?T:(A=y.value)==null?void 0:A.transition)!=null?k:iR,re={name:j,onAfterEnter:_,onBeforeLeave:O,onAfterLeave:I};if(cn(j)){const me={...j},te=(X,fe)=>le=>{At(X)?X.forEach(ve=>{kt(ve)&&ve(le)}):kt(X)&&X(le),fe()};return me.onAfterEnter=te(me.onAfterEnter,_),me.onBeforeLeave=te(me.onBeforeLeave,O),me.onAfterLeave=te(me.onAfterLeave,I),me.name||(me.name=iR),me}return re});function _(){i("opened")}function I(){i("closed"),i(Yr,!1),e.destroyOnClose&&(d.value=!1)}function O(){i("close")}function L(){p==null||p(),h==null||h(),e.openDelay&&e.openDelay>0?{stop:h}=x7(()=>J(),e.openDelay):J()}function R(){h==null||h(),p==null||p(),e.closeDelay&&e.closeDelay>0?{stop:p}=x7(()=>Y(),e.closeDelay):Y()}function F(){function A(T){T||(u.value=!0,l.value=!1)}e.beforeClose?e.beforeClose(A):R()}function W(){e.closeOnClickModal&&F()}function J(){qn&&(l.value=!0)}function Y(){l.value=!1}function M(){i("openAutoFocus")}function B(){i("closeAutoFocus")}function q(A){var T;((T=A.detail)==null?void 0:T.focusReason)==="pointer"&&A.preventDefault()}e.lockScroll&&ive(l);function z(){e.closeOnPressEscape&&F()}return Ye(()=>e.zIndex,()=>{var A;f.value=(A=e.zIndex)!=null?A:o()}),Ye(()=>e.modelValue,A=>{var T;A?(u.value=!1,L(),d.value=!0,f.value=(T=e.zIndex)!=null?T:o(),Cn(()=>{i("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):l.value&&R()}),Ye(()=>e.fullscreen,A=>{t.value&&(A?(s=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=s)}),ln(()=>{e.modelValue&&(l.value=!0,d.value=!0,L())}),{afterEnter:_,afterLeave:I,beforeLeave:O,handleClose:F,onModalClick:W,close:R,doClose:Y,onOpenAutoFocus:M,onCloseAutoFocus:B,onCloseRequested:z,onFocusoutPrevented:q,titleId:a,bodyId:c,closed:u,style:v,overlayDialogStyle:w,rendered:d,visible:l,zIndex:f,transitionConfig:C,_draggable:E,_alignCenter:b,_overflow:S}},sve=Je({name:"ElDialog",inheritAttrs:!1}),ave=Je({...sve,props:nve,emits:rve,setup(e,{expose:t}){const n=e,r=_g();Fh({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},V(()=>!!r.title));const i=pn("dialog"),o=se(),s=se(),a=se(),{visible:c,titleId:l,bodyId:u,style:d,overlayDialogStyle:f,rendered:h,transitionConfig:p,zIndex:g,_draggable:m,_alignCenter:y,_overflow:v,handleClose:E,onModalClick:b,onOpenAutoFocus:S,onCloseAutoFocus:w,onCloseRequested:C,onFocusoutPrevented:_}=ove(n,o);ui(JG,{dialogRef:o,headerRef:s,bodyId:u,ns:i,rendered:h,style:d});const I=GG(b),O=V(()=>n.modalPenetrable&&!n.modal&&!n.fullscreen);return t({visible:c,dialogContentRef:a,resetPosition:()=>{var R;(R=a.value)==null||R.resetPosition()},handleClose:E}),(R,F)=>(ne(),Ze(P(xw),{to:R.appendTo,disabled:R.appendTo!=="body"?!1:!R.appendToBody},{default:Re(()=>[be(Cu,Ko(P(p),{persisted:""}),{default:Re(()=>{var W;return[vn(be(P(X5e),{"custom-mask-event":"",mask:R.modal,"overlay-class":[(W=R.modalClass)!=null?W:"",`${P(i).namespace.value}-modal-dialog`,P(i).is("penetrable",P(O))],"z-index":P(g)},{default:Re(()=>[G("div",{role:"dialog","aria-modal":"true","aria-label":R.title||void 0,"aria-labelledby":R.title?void 0:P(l),"aria-describedby":P(u),class:je(`${P(i).namespace.value}-overlay-dialog`),style:Ut(P(f)),onClick:P(I).onClick,onMousedown:P(I).onMousedown,onMouseup:P(I).onMouseup},[be(P(Sw),{loop:"",trapped:P(c),"focus-start-el":"container",onFocusAfterTrapped:P(S),onFocusAfterReleased:P(w),onFocusoutPrevented:P(_),onReleaseRequested:P(C)},{default:Re(()=>[P(h)?(ne(),Ze(tve,Ko({key:0,ref_key:"dialogContentRef",ref:a},R.$attrs,{center:R.center,"align-center":P(y),"close-icon":R.closeIcon,draggable:P(m),overflow:P(v),fullscreen:R.fullscreen,"header-class":R.headerClass,"body-class":R.bodyClass,"footer-class":R.footerClass,"show-close":R.showClose,title:R.title,"aria-level":R.headerAriaLevel,onClose:P(E)}),xC({header:Re(()=>[R.$slots.title?St(R.$slots,"title",{key:1}):St(R.$slots,"header",{key:0,close:P(E),titleId:P(l),titleClass:P(i).e("title")})]),default:Re(()=>[St(R.$slots,"default")]),_:2},[R.$slots.footer?{name:"footer",fn:Re(()=>[St(R.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):Ke("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[_r,P(c)]])]}),_:3},16)]),_:3},8,["to","disabled"]))}});var cve=Rn(ave,[["__file","dialog.vue"]]);const Zd=Vi(cve),lve=Je({inheritAttrs:!1});function uve(e,t,n,r,i,o){return St(e.$slots,"default")}var dve=Rn(lve,[["render",uve],["__file","collection.vue"]]);const fve=Je({name:"ElCollectionItem",inheritAttrs:!1});function hve(e,t,n,r,i,o){return St(e.$slots,"default")}var pve=Rn(fve,[["render",hve],["__file","collection-item.vue"]]);const mve="data-el-collection-item",gve=e=>{const t=`El${e}Collection`,n=`${t}Item`,r=Symbol(t),i=Symbol(n),o={...dve,name:t,setup(){const a=se(),c=new Map;ui(r,{itemMap:c,getItems:()=>{const u=P(a);if(!u)return[];const d=Array.from(u.querySelectorAll(`[${mve}]`));return[...c.values()].sort((h,p)=>d.indexOf(h.ref)-d.indexOf(p.ref))},collectionRef:a})}},s={...pve,name:n,setup(a,{attrs:c}){const l=se(),u=Vt(r,void 0);ui(i,{collectionItemRef:l}),ln(()=>{const d=P(l);d&&u.itemMap.set(d,{ref:d,...c})}),xi(()=>{const d=P(l);u.itemMap.delete(d)})}};return{COLLECTION_INJECTION_KEY:r,COLLECTION_ITEM_INJECTION_KEY:i,ElCollection:o,ElCollectionItem:s}},t8=Un({trigger:Bh.trigger,triggerKeys:{type:Mt(Array),default:()=>[so.enter,so.numpadEnter,so.space,so.down]},effect:{...Go.effect,default:"light"},type:{type:Mt(String)},placement:{type:Mt(String),default:"bottom"},popperOptions:{type:Mt(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:Mt([Number,String]),default:0},maxHeight:{type:Mt([Number,String]),default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:aG,default:"menu"},buttonProps:{type:Mt(Object)},teleported:Go.teleported,persistent:{type:Boolean,default:!0}});Un({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:ks}});Un({onKeydown:{type:Mt(Function)}});gve("Dropdown");const vve=Un({urlList:{type:Mt(Array),default:()=>Sy([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:Mt(String)}}),yve={close:()=>!0,switch:e=>_n(e),rotate:e=>_n(e)},Eve=Je({name:"ElImageViewer"}),bve=Je({...Eve,props:vve,emits:yve,setup(e,{expose:t,emit:n}){var r;const i=e,o={CONTAIN:{name:"contain",icon:Rm(b1e)},ORIGINAL:{name:"original",icon:Rm(D1e)}};let s,a="";const{t:c}=Vd(),l=pn("image-viewer"),{nextZIndex:u}=vy(),d=se(),f=se([]),h=V4(),p=se(!0),g=se(i.initialIndex),m=xo(o.CONTAIN),y=se({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),v=se((r=i.zIndex)!=null?r:u()),E=V(()=>{const{urlList:me}=i;return me.length<=1}),b=V(()=>g.value===0),S=V(()=>g.value===i.urlList.length-1),w=V(()=>i.urlList[g.value]),C=V(()=>[l.e("btn"),l.e("prev"),l.is("disabled",!i.infinite&&b.value)]),_=V(()=>[l.e("btn"),l.e("next"),l.is("disabled",!i.infinite&&S.value)]),I=V(()=>{const{scale:me,deg:te,offsetX:X,offsetY:fe,enableTransition:le}=y.value;let ve=X/me,Z=fe/me;const ae=te*Math.PI/180,pe=Math.cos(ae),K=Math.sin(ae);ve=ve*pe+Z*K,Z=Z*pe-X/me*K;const ce={transform:`scale(${me}) rotate(${te}deg) translate(${ve}px, ${Z}px)`,transition:le?"transform .3s":""};return m.value.name===o.CONTAIN.name&&(ce.maxWidth=ce.maxHeight="100%"),ce}),O=V(()=>`${g.value+1} / ${i.urlList.length}`);function L(){F(),s==null||s(),document.body.style.overflow=a,n("close")}function R(){const me=Y6(X=>{switch(X.code){case so.esc:i.closeOnPressEscape&&L();break;case so.space:B();break;case so.left:z();break;case so.up:T("zoomIn");break;case so.right:A();break;case so.down:T("zoomOut");break}}),te=Y6(X=>{const fe=X.deltaY||X.deltaX;T(fe<0?"zoomIn":"zoomOut",{zoomRate:i.zoomRate,enableTransition:!1})});h.run(()=>{_o(document,"keydown",me),_o(document,"wheel",te)})}function F(){h.stop()}function W(){p.value=!1}function J(me){p.value=!1,me.target.alt=c("el.image.error")}function Y(me){if(p.value||me.button!==0||!d.value)return;y.value.enableTransition=!1;const{offsetX:te,offsetY:X}=y.value,fe=me.pageX,le=me.pageY,ve=Y6(ae=>{y.value={...y.value,offsetX:te+ae.pageX-fe,offsetY:X+ae.pageY-le}}),Z=_o(document,"mousemove",ve);_o(document,"mouseup",()=>{Z()}),me.preventDefault()}function M(){y.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function B(){if(p.value)return;const me=D7(o),te=Object.values(o),X=m.value.name,le=(te.findIndex(ve=>ve.name===X)+1)%me.length;m.value=o[me[le]],M()}function q(me){const te=i.urlList.length;g.value=(me+te)%te}function z(){b.value&&!i.infinite||q(g.value-1)}function A(){S.value&&!i.infinite||q(g.value+1)}function T(me,te={}){if(p.value)return;const{minScale:X,maxScale:fe}=i,{zoomRate:le,rotateDeg:ve,enableTransition:Z}={zoomRate:i.zoomRate,rotateDeg:90,enableTransition:!0,...te};switch(me){case"zoomOut":y.value.scale>X&&(y.value.scale=Number.parseFloat((y.value.scale/le).toFixed(3)));break;case"zoomIn":y.value.scale<fe&&(y.value.scale=Number.parseFloat((y.value.scale*le).toFixed(3)));break;case"clockwise":y.value.deg+=ve,n("rotate",y.value.deg);break;case"anticlockwise":y.value.deg-=ve,n("rotate",y.value.deg);break}y.value.enableTransition=Z}function k(me){var te;((te=me.detail)==null?void 0:te.focusReason)==="pointer"&&me.preventDefault()}function j(){i.closeOnPressEscape&&L()}function re(me){if(me.ctrlKey){if(me.deltaY<0)return me.preventDefault(),!1;if(me.deltaY>0)return me.preventDefault(),!1}}return Ye(w,()=>{Cn(()=>{const me=f.value[0];me!=null&&me.complete||(p.value=!0)})}),Ye(g,me=>{M(),n("switch",me)}),ln(()=>{R(),s=_o("wheel",re,{passive:!1}),a=document.body.style.overflow,document.body.style.overflow="hidden"}),t({setActiveItem:q}),(me,te)=>(ne(),Ze(P(xw),{to:"body",disabled:!me.teleported},{default:Re(()=>[be(Cu,{name:"viewer-fade",appear:""},{default:Re(()=>[G("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:je(P(l).e("wrapper")),style:Ut({zIndex:v.value})},[be(P(Sw),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:k,onReleaseRequested:j},{default:Re(()=>[G("div",{class:je(P(l).e("mask")),onClick:Nr(X=>me.hideOnClickModal&&L(),["self"])},null,10,["onClick"]),Ke(" CLOSE "),G("span",{class:je([P(l).e("btn"),P(l).e("close")]),onClick:L},[be(P(Pn),null,{default:Re(()=>[be(P(ip))]),_:1})],2),Ke(" ARROW "),P(E)?Ke("v-if",!0):(ne(),Te(Ft,{key:0},[G("span",{class:je(P(C)),onClick:z},[be(P(Pn),null,{default:Re(()=>[be(P(l1e))]),_:1})],2),G("span",{class:je(P(_)),onClick:A},[be(P(Pn),null,{default:Re(()=>[be(P(pw))]),_:1})],2)],64)),me.$slots.progress||me.showProgress?(ne(),Te("div",{key:1,class:je([P(l).e("btn"),P(l).e("progress")])},[St(me.$slots,"progress",{activeIndex:g.value,total:me.urlList.length},()=>[yt(Ue(P(O)),1)])],2)):Ke("v-if",!0),Ke(" ACTIONS "),G("div",{class:je([P(l).e("btn"),P(l).e("actions")])},[G("div",{class:je(P(l).e("actions__inner"))},[St(me.$slots,"toolbar",{actions:T,prev:z,next:A,reset:B,activeIndex:g.value,setActiveItem:q},()=>[be(P(Pn),{onClick:X=>T("zoomOut")},{default:Re(()=>[be(P(V1e))]),_:1},8,["onClick"]),be(P(Pn),{onClick:X=>T("zoomIn")},{default:Re(()=>[be(P(z1e))]),_:1},8,["onClick"]),G("i",{class:je(P(l).e("actions__divider"))},null,2),be(P(Pn),{onClick:B},{default:Re(()=>[(ne(),Ze(Br(P(m).icon)))]),_:1}),G("i",{class:je(P(l).e("actions__divider"))},null,2),be(P(Pn),{onClick:X=>T("anticlockwise")},{default:Re(()=>[be(P(R1e))]),_:1},8,["onClick"]),be(P(Pn),{onClick:X=>T("clockwise")},{default:Re(()=>[be(P(QV))]),_:1},8,["onClick"])])],2)],2),Ke(" CANVAS "),G("div",{class:je(P(l).e("canvas"))},[(ne(!0),Te(Ft,null,Rr(me.urlList,(X,fe)=>(ne(),Te(Ft,{key:fe},[fe===g.value?(ne(),Te("img",{key:0,ref_for:!0,ref:le=>f.value[fe]=le,src:X,style:Ut(P(I)),class:je(P(l).e("img")),crossorigin:me.crossorigin,onLoad:W,onError:J,onMousedown:Y},null,46,["src","crossorigin"])):Ke("v-if",!0)],64))),128))],2),St(me.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}});var Sve=Rn(bve,[["__file","image-viewer.vue"]]);const Ave=Vi(Sve),Cve=Un({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:Mt([String,Object])},previewSrcList:{type:Mt(Array),default:()=>Sy([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:Mt(String)}}),wve={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>_n(e),close:()=>!0,show:()=>!0},Tve=Je({name:"ElImage",inheritAttrs:!1}),Ive=Je({...Tve,props:Cve,emits:wve,setup(e,{expose:t,emit:n}){const r=e,{t:i}=Vd(),o=pn("image"),s=Cz(),a=V(()=>Jm(Object.entries(s).filter(([Y])=>/^(data-|on[A-Z])/i.test(Y)||["id","style"].includes(Y)))),c=$V({excludeListeners:!0,excludeKeys:V(()=>Object.keys(a.value))}),l=se(),u=se(!1),d=se(!0),f=se(!1),h=se(),p=se(),g=qn&&"loading"in HTMLImageElement.prototype;let m;const y=V(()=>[o.e("inner"),E.value&&o.e("preview"),d.value&&o.is("loading")]),v=V(()=>{const{fit:Y}=r;return qn&&Y?{objectFit:Y}:{}}),E=V(()=>{const{previewSrcList:Y}=r;return At(Y)&&Y.length>0}),b=V(()=>{const{previewSrcList:Y,initialIndex:M}=r;let B=M;return M>Y.length-1&&(B=0),B}),S=V(()=>r.loading==="eager"?!1:!g&&r.loading==="lazy"||r.lazy),w=()=>{qn&&(d.value=!0,u.value=!1,l.value=r.src)};function C(Y){d.value=!1,u.value=!1,n("load",Y)}function _(Y){d.value=!1,u.value=!0,n("error",Y)}function I(Y){Y&&(w(),R())}const O=bpe(I,200,!0);async function L(){var Y;if(!qn)return;await Cn();const{scrollContainer:M}=r;if(uc(M))p.value=M;else if(Yt(M)&&M!=="")p.value=(Y=document.querySelector(M))!=null?Y:void 0;else if(h.value){const q=Xpe(h.value);p.value=cpe(q)?void 0:q}const{stop:B}=Ipe(h,([q])=>{O(q.isIntersecting)},{root:p});m=B}function R(){!qn||!O||(m==null||m(),p.value=void 0,m=void 0)}function F(){E.value&&(f.value=!0,n("show"))}function W(){f.value=!1,n("close")}function J(Y){n("switch",Y)}return Ye(()=>r.src,()=>{S.value?(d.value=!0,u.value=!1,R(),L()):w()}),ln(()=>{S.value?L():w()}),t({showPreview:F}),(Y,M)=>(ne(),Te("div",Ko({ref_key:"container",ref:h},P(a),{class:[P(o).b(),Y.$attrs.class]}),[u.value?St(Y.$slots,"error",{key:0},()=>[G("div",{class:je(P(o).e("error"))},Ue(P(i)("el.image.error")),3)]):(ne(),Te(Ft,{key:1},[l.value!==void 0?(ne(),Te("img",Ko({key:0},P(c),{src:l.value,loading:Y.loading,style:P(v),class:P(y),crossorigin:Y.crossorigin,onClick:F,onLoad:C,onError:_}),null,16,["src","loading","crossorigin"])):Ke("v-if",!0),d.value?(ne(),Te("div",{key:1,class:je(P(o).e("wrapper"))},[St(Y.$slots,"placeholder",{},()=>[G("div",{class:je(P(o).e("placeholder"))},null,2)])],2)):Ke("v-if",!0)],64)),P(E)?(ne(),Te(Ft,{key:2},[f.value?(ne(),Ze(P(Ave),{key:0,"z-index":Y.zIndex,"initial-index":P(b),infinite:Y.infinite,"zoom-rate":Y.zoomRate,"min-scale":Y.minScale,"max-scale":Y.maxScale,"show-progress":Y.showProgress,"url-list":Y.previewSrcList,crossorigin:Y.crossorigin,"hide-on-click-modal":Y.hideOnClickModal,teleported:Y.previewTeleported,"close-on-press-escape":Y.closeOnPressEscape,onClose:W,onSwitch:J},xC({toolbar:Re(B=>[St(Y.$slots,"toolbar",ZE(r7(B)))]),default:Re(()=>[Y.$slots.viewer?(ne(),Te("div",{key:0},[St(Y.$slots,"viewer")])):Ke("v-if",!0)]),_:2},[Y.$slots.progress?{name:"progress",fn:Re(B=>[St(Y.$slots,"progress",ZE(r7(B)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):Ke("v-if",!0)],64)):Ke("v-if",!0)],16))}});var Pve=Rn(Ive,[["__file","image.vue"]]);const Dw=Vi(Pve),Ove=Un({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:Boolean,size:vl,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||_n(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...yl(["ariaLabel"]),inputmode:{type:Mt(String),default:void 0},align:{type:Mt(String),default:"center"},disabledScientific:Boolean}),_ve={[ms]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[du]:e=>_n(e)||nl(e),[Yr]:e=>_n(e)||nl(e)},Rve=Je({name:"ElInputNumber"}),kve=Je({...Rve,props:Ove,emits:_ve,setup(e,{expose:t,emit:n}){const r=e,{t:i}=Vd(),o=pn("input-number"),s=se(),a=eo({currentValue:r.modelValue,userInput:null}),{formItem:c}=Iu(),l=V(()=>_n(r.modelValue)&&r.modelValue<=r.min),u=V(()=>_n(r.modelValue)&&r.modelValue>=r.max),d=V(()=>{const Y=y(r.step);return Wi(r.precision)?Math.max(y(r.modelValue),Y):(Y>r.precision,r.precision)}),f=V(()=>r.controls&&r.controlsPosition==="right"),h=fl(),p=Af(),g=V(()=>{if(a.userInput!==null)return a.userInput;let Y=a.currentValue;if(nl(Y))return"";if(_n(Y)){if(Number.isNaN(Y))return"";Wi(r.precision)||(Y=Y.toFixed(r.precision))}return Y}),m=(Y,M)=>{if(Wi(M)&&(M=d.value),M===0)return Math.round(Y);let B=String(Y);const q=B.indexOf(".");if(q===-1||!B.replace(".","").split("")[q+M])return Y;const T=B.length;return B.charAt(T-1)==="5"&&(B=`${B.slice(0,Math.max(0,T-1))}6`),Number.parseFloat(Number(B).toFixed(M))},y=Y=>{if(nl(Y))return 0;const M=Y.toString(),B=M.indexOf(".");let q=0;return B!==-1&&(q=M.length-B-1),q},v=(Y,M=1)=>_n(Y)?Y>=Number.MAX_SAFE_INTEGER&&M===1||Y<=Number.MIN_SAFE_INTEGER&&M===-1?Y:m(Y+r.step*M):a.currentValue,E=Y=>{var M;const B=Y;if(r.disabledScientific&&["e","E"].includes(B.key)){B.preventDefault();return}const q={[so.up]:()=>{B.preventDefault(),b()},[so.down]:()=>{B.preventDefault(),S()}};(M=q[B.key])==null||M.call(q)},b=()=>{if(r.readonly||p.value||u.value)return;const Y=Number(g.value)||0,M=v(Y);C(M),n(du,a.currentValue),W()},S=()=>{if(r.readonly||p.value||l.value)return;const Y=Number(g.value)||0,M=v(Y,-1);C(M),n(du,a.currentValue),W()},w=(Y,M)=>{const{max:B,min:q,step:z,precision:A,stepStrictly:T,valueOnClear:k}=r;B<q&&Rp("InputNumber","min should not be greater than max.");let j=Number(Y);if(nl(Y)||Number.isNaN(j))return null;if(Y===""){if(k===null)return null;j=Yt(k)?{min:q,max:B}[k]:k}return T&&(j=m(Math.round(j/z)*z,A),j!==Y&&M&&n(Yr,j)),Wi(A)||(j=m(j,A)),(j>B||j<q)&&(j=j>B?B:q,M&&n(Yr,j)),j},C=(Y,M=!0)=>{var B;const q=a.currentValue,z=w(Y);if(!M){n(Yr,z);return}q===z&&Y||(a.userInput=null,n(Yr,z),q!==z&&n(ms,z,q),r.validateEvent&&((B=c==null?void 0:c.validate)==null||B.call(c,"change").catch(A=>void 0)),a.currentValue=z)},_=Y=>{a.userInput=Y;const M=Y===""?null:Number(Y);n(du,M),C(M,!1)},I=Y=>{const M=Y!==""?Number(Y):"";(_n(M)&&!Number.isNaN(M)||Y==="")&&C(M),W(),a.userInput=null},O=()=>{var Y,M;(M=(Y=s.value)==null?void 0:Y.focus)==null||M.call(Y)},L=()=>{var Y,M;(M=(Y=s.value)==null?void 0:Y.blur)==null||M.call(Y)},R=Y=>{n("focus",Y)},F=Y=>{var M,B;a.userInput=null,a.currentValue===null&&((M=s.value)!=null&&M.input)&&(s.value.input.value=""),n("blur",Y),r.validateEvent&&((B=c==null?void 0:c.validate)==null||B.call(c,"blur").catch(q=>void 0))},W=()=>{a.currentValue!==r.modelValue&&(a.currentValue=r.modelValue)},J=Y=>{document.activeElement===Y.target&&Y.preventDefault()};return Ye(()=>r.modelValue,(Y,M)=>{const B=w(Y,!0);a.userInput===null&&B!==M&&(a.currentValue=B)},{immediate:!0}),Ye(()=>r.precision,()=>{a.currentValue=w(r.modelValue)}),ln(()=>{var Y;const{min:M,max:B,modelValue:q}=r,z=(Y=s.value)==null?void 0:Y.input;if(z.setAttribute("role","spinbutton"),Number.isFinite(B)?z.setAttribute("aria-valuemax",String(B)):z.removeAttribute("aria-valuemax"),Number.isFinite(M)?z.setAttribute("aria-valuemin",String(M)):z.removeAttribute("aria-valuemin"),z.setAttribute("aria-valuenow",a.currentValue||a.currentValue===0?String(a.currentValue):""),z.setAttribute("aria-disabled",String(p.value)),!_n(q)&&q!=null){let A=Number(q);Number.isNaN(A)&&(A=null),n(Yr,A)}z.addEventListener("wheel",J,{passive:!1})}),ey(()=>{var Y,M;const B=(Y=s.value)==null?void 0:Y.input;B==null||B.setAttribute("aria-valuenow",`${(M=a.currentValue)!=null?M:""}`)}),t({focus:O,blur:L}),(Y,M)=>(ne(),Te("div",{class:je([P(o).b(),P(o).m(P(h)),P(o).is("disabled",P(p)),P(o).is("without-controls",!Y.controls),P(o).is("controls-right",P(f)),P(o).is(Y.align,!!Y.align)]),onDragstart:Nr(()=>{},["prevent"])},[Y.controls?vn((ne(),Te("span",{key:0,role:"button","aria-label":P(i)("el.inputNumber.decrease"),class:je([P(o).e("decrease"),P(o).is("disabled",P(l))]),onKeydown:Wc(S,["enter"])},[St(Y.$slots,"decrease-icon",{},()=>[be(P(Pn),null,{default:Re(()=>[P(f)?(ne(),Ze(P(hw),{key:0})):(ne(),Ze(P(I1e),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[P(rR),S]]):Ke("v-if",!0),Y.controls?vn((ne(),Te("span",{key:1,role:"button","aria-label":P(i)("el.inputNumber.increase"),class:je([P(o).e("increase"),P(o).is("disabled",P(u))]),onKeydown:Wc(b,["enter"])},[St(Y.$slots,"increase-icon",{},()=>[be(P(Pn),null,{default:Re(()=>[P(f)?(ne(),Ze(P(YV),{key:0})):(ne(),Ze(P(O1e),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[P(rR),b]]):Ke("v-if",!0),be(P(iG),{id:Y.id,ref_key:"input",ref:s,type:"number",step:Y.step,"model-value":P(g),placeholder:Y.placeholder,readonly:Y.readonly,disabled:P(p),size:P(h),max:Y.max,min:Y.min,name:Y.name,"aria-label":Y.ariaLabel,"validate-event":!1,inputmode:Y.inputmode,onKeydown:E,onBlur:F,onFocus:R,onInput:_,onChange:I},xC({_:2},[Y.$slots.prefix?{name:"prefix",fn:Re(()=>[St(Y.$slots,"prefix")])}:void 0,Y.$slots.suffix?{name:"suffix",fn:Re(()=>[St(Y.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}});var xve=Rn(kve,[["__file","input-number.vue"]]);const Dve=Vi(xve),YG=11;function Lve(){const e=xo(),t=se(0),n=V(()=>({minWidth:`${Math.max(t.value,YG)}px`}));return ea(e,()=>{var i,o;t.value=(o=(i=e.value)==null?void 0:i.getBoundingClientRect().width)!=null?o:0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}const XG={label:"label",value:"value",disabled:"disabled",options:"options"};function Nve(e){const t=V(()=>({...XG,...e.props}));return{aliasProps:t,getLabel:s=>fs(s,t.value.label),getValue:s=>fs(s,t.value.value),getDisabled:s=>fs(s,t.value.disabled),getOptions:s=>fs(s,t.value.options)}}const QG=Symbol("ElSelectGroup"),Ty=Symbol("ElSelect"),F7="ElOption",Mve=Un({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean}),Bve=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d");function Fve(e,t){const n=Vt(Ty);n||Rp(F7,"usage: <el-select><el-option /></el-select/>");const r=Vt(QG,{disabled:!1}),i=V(()=>u(Vc(n.props.modelValue),e.value)),o=V(()=>{var h;if(n.props.multiple){const p=Vc((h=n.props.modelValue)!=null?h:[]);return!i.value&&p.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),s=V(()=>{var h;return(h=e.label)!=null?h:cn(e.value)?"":e.value}),a=V(()=>e.value||e.label||""),c=V(()=>e.disabled||t.groupDisabled||o.value),l=yn(),u=(h=[],p)=>{if(cn(e.value)){const g=n.props.valueKey;return h&&h.some(m=>tr(fs(m,g))===fs(p,g))}else return h&&h.includes(p)},d=()=>{!e.disabled&&!r.disabled&&(n.states.hoveringIndex=n.optionsArray.indexOf(l.proxy))},f=h=>{const p=new RegExp(Bve(h),"i");t.visible=p.test(String(s.value))||e.created};return Ye(()=>s.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),Ye(()=>e.value,(h,p)=>{const{remote:g,valueKey:m}=n.props;if((g?h!==p:!Id(h,p))&&(n.onOptionDestroy(p,l.proxy),n.onOptionCreate(l.proxy)),!e.created&&!g){if(m&&cn(h)&&cn(p)&&h[m]===p[m])return;n.setSelected()}}),Ye(()=>r.disabled,()=>{t.groupDisabled=r.disabled},{immediate:!0}),{select:n,currentLabel:s,currentValue:a,itemSelected:i,isDisabled:c,hoverItem:d,updateOption:f}}const Uve=Je({name:F7,componentName:F7,props:Mve,setup(e){const t=pn("select"),n=cf(),r=V(()=>[t.be("dropdown","item"),t.is("disabled",P(a)),t.is("selected",P(s)),t.is("hovering",P(f))]),i=eo({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:o,itemSelected:s,isDisabled:a,select:c,hoverItem:l,updateOption:u}=Fve(e,i),{visible:d,hover:f}=Ud(i),h=yn().proxy;c.onOptionCreate(h),xi(()=>{const g=h.value;Cn(()=>{const{selected:m}=c.states,y=m.some(v=>v.value===h.value);c.states.cachedOptions.get(g)===h&&!y&&c.states.cachedOptions.delete(g)}),c.onOptionDestroy(g,h)});function p(){a.value||c.handleOptionSelect(h)}return{ns:t,id:n,containerKls:r,currentLabel:o,itemSelected:s,isDisabled:a,select:c,visible:d,hover:f,states:i,hoverItem:l,updateOption:u,selectOptionClick:p}}});function jve(e,t){return vn((ne(),Te("li",{id:e.id,class:je(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMousemove:e.hoverItem,onClick:Nr(e.selectOptionClick,["stop"])},[St(e.$slots,"default",{},()=>[G("span",null,Ue(e.currentLabel),1)])],42,["id","aria-disabled","aria-selected","onMousemove","onClick"])),[[_r,e.visible]])}var Lw=Rn(Uve,[["render",jve],["__file","option.vue"]]);const Hve=Je({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Vt(Ty),t=pn("select"),n=V(()=>e.props.popperClass),r=V(()=>e.props.multiple),i=V(()=>e.props.fitInputWidth),o=se("");function s(){var a;o.value=`${(a=e.selectRef)==null?void 0:a.offsetWidth}px`}return ln(()=>{s(),ea(e.selectRef,s)}),{ns:t,minWidth:o,popperClass:n,isMultiple:r,isFitInputWidth:i}}});function zve(e,t,n,r,i,o){return ne(),Te("div",{class:je([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Ut({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(ne(),Te("div",{key:0,class:je(e.ns.be("dropdown","header"))},[St(e.$slots,"header")],2)):Ke("v-if",!0),St(e.$slots,"default"),e.$slots.footer?(ne(),Te("div",{key:1,class:je(e.ns.be("dropdown","footer"))},[St(e.$slots,"footer")],2)):Ke("v-if",!0)],6)}var Wve=Rn(Hve,[["render",zve],["__file","select-dropdown.vue"]]);const Vve=(e,t)=>{const{t:n}=Vd(),r=cf(),i=pn("select"),o=pn("input"),s=eo({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),a=se(),c=se(),l=se(),u=se(),d=se(),f=se(),h=se(),p=se(),g=se(),m=se(),y=se(),v=se(!1),E=se(),{form:b,formItem:S}=Iu(),{inputId:w}=kp(e,{formItemContext:S}),{valueOnClear:C,isEmptyValue:_}=Vpe(e),{isComposing:I,handleCompositionStart:O,handleCompositionUpdate:L,handleCompositionEnd:R}=rG({afterComposition:Ve=>U(Ve)}),F=V(()=>e.disabled||!!(b!=null&&b.disabled)),{wrapperRef:W,isFocused:J,handleBlur:Y}=nG(d,{disabled:F,afterFocus(){e.automaticDropdown&&!v.value&&(v.value=!0,s.menuVisibleOnFocus=!0)},beforeBlur(Ve){var Ct,un;return((Ct=l.value)==null?void 0:Ct.isFocusInsideContent(Ve))||((un=u.value)==null?void 0:un.isFocusInsideContent(Ve))},afterBlur(){var Ve;v.value=!1,s.menuVisibleOnFocus=!1,e.validateEvent&&((Ve=S==null?void 0:S.validate)==null||Ve.call(S,"blur").catch(Ct=>void 0))}}),M=V(()=>At(e.modelValue)?e.modelValue.length>0:!_(e.modelValue)),B=V(()=>{var Ve;return(Ve=b==null?void 0:b.statusIcon)!=null?Ve:!1}),q=V(()=>e.clearable&&!F.value&&M.value&&(J.value||s.inputHovering)),z=V(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),A=V(()=>i.is("reverse",!!(z.value&&v.value))),T=V(()=>(S==null?void 0:S.validateState)||""),k=V(()=>T.value&&qV[T.value]),j=V(()=>e.remote?300:0),re=V(()=>e.remote&&!s.inputValue&&s.options.size===0),me=V(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&s.inputValue&&s.options.size>0&&te.value===0?e.noMatchText||n("el.select.noMatch"):s.options.size===0?e.noDataText||n("el.select.noData"):null),te=V(()=>X.value.filter(Ve=>Ve.visible).length),X=V(()=>{const Ve=Array.from(s.options.values()),Ct=[];return s.optionValues.forEach(un=>{const hr=Ve.findIndex(si=>si.value===un);hr>-1&&Ct.push(Ve[hr])}),Ct.length>=Ve.length?Ct:Ve}),fe=V(()=>Array.from(s.cachedOptions.values())),le=V(()=>{const Ve=X.value.filter(Ct=>!Ct.created).some(Ct=>Ct.currentLabel===s.inputValue);return e.filterable&&e.allowCreate&&s.inputValue!==""&&!Ve}),ve=()=>{e.filterable&&kt(e.filterMethod)||e.filterable&&e.remote&&kt(e.remoteMethod)||X.value.forEach(Ve=>{var Ct;(Ct=Ve.updateOption)==null||Ct.call(Ve,s.inputValue)})},Z=fl(),ae=V(()=>["small"].includes(Z.value)?"small":"default"),pe=V({get(){return v.value&&!re.value},set(Ve){v.value=Ve}}),K=V(()=>{if(e.multiple&&!Wi(e.modelValue))return Vc(e.modelValue).length===0&&!s.inputValue;const Ve=At(e.modelValue)?e.modelValue[0]:e.modelValue;return e.filterable||Wi(Ve)?!s.inputValue:!0}),ce=V(()=>{var Ve;const Ct=(Ve=e.placeholder)!=null?Ve:n("el.select.placeholder");return e.multiple||!M.value?Ct:s.selectedLabel}),ye=V(()=>k7?null:"mouseenter");Ye(()=>e.modelValue,(Ve,Ct)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(s.inputValue="",ee("")),ge(),!Id(Ve,Ct)&&e.validateEvent&&(S==null||S.validate("change").catch(un=>void 0))},{flush:"post",deep:!0}),Ye(()=>v.value,Ve=>{Ve?ee(s.inputValue):(s.inputValue="",s.previousQuery=null,s.isBeforeHide=!0),t("visible-change",Ve)}),Ye(()=>s.options.entries(),()=>{qn&&(ge(),e.defaultFirstOption&&(e.filterable||e.remote)&&te.value&&$())},{flush:"post"}),Ye([()=>s.hoveringIndex,X],([Ve])=>{_n(Ve)&&Ve>-1?E.value=X.value[Ve]||{}:E.value={},X.value.forEach(Ct=>{Ct.hover=E.value===Ct})}),cu(()=>{s.isBeforeHide||ve()});const ee=Ve=>{s.previousQuery===Ve||I.value||(s.previousQuery=Ve,e.filterable&&kt(e.filterMethod)?e.filterMethod(Ve):e.filterable&&e.remote&&kt(e.remoteMethod)&&e.remoteMethod(Ve),e.defaultFirstOption&&(e.filterable||e.remote)&&te.value?Cn($):Cn(Ie))},$=()=>{const Ve=X.value.filter(si=>si.visible&&!si.disabled&&!si.states.groupDisabled),Ct=Ve.find(si=>si.created),un=Ve[0],hr=X.value.map(si=>si.value);s.hoveringIndex=Xe(hr,Ct||un)},ge=()=>{if(e.multiple)s.selectedLabel="";else{const Ct=At(e.modelValue)?e.modelValue[0]:e.modelValue,un=ie(Ct);s.selectedLabel=un.currentLabel,s.selected=[un];return}const Ve=[];Wi(e.modelValue)||Vc(e.modelValue).forEach(Ct=>{Ve.push(ie(Ct))}),s.selected=Ve},ie=Ve=>{let Ct;const un=bC(Ve);for(let No=s.cachedOptions.size-1;No>=0;No--){const Bi=fe.value[No];if(un?fs(Bi.value,e.valueKey)===fs(Ve,e.valueKey):Bi.value===Ve){Ct={value:Ve,currentLabel:Bi.currentLabel,get isDisabled(){return Bi.isDisabled}};break}}if(Ct)return Ct;const hr=un?Ve.label:Ve??"";return{value:Ve,currentLabel:hr}},Ie=()=>{s.hoveringIndex=X.value.findIndex(Ve=>s.selected.some(Ct=>Se(Ct)===Se(Ve)))},Ce=()=>{s.selectionWidth=Number.parseFloat(window.getComputedStyle(c.value).width)},oe=()=>{s.collapseItemWidth=m.value.getBoundingClientRect().width},Ne=()=>{var Ve,Ct;(Ct=(Ve=l.value)==null?void 0:Ve.updatePopper)==null||Ct.call(Ve)},x=()=>{var Ve,Ct;(Ct=(Ve=u.value)==null?void 0:Ve.updatePopper)==null||Ct.call(Ve)},N=()=>{s.inputValue.length>0&&!v.value&&(v.value=!0),ee(s.inputValue)},U=Ve=>{if(s.inputValue=Ve.target.value,e.remote)de();else return N()},de=rp(()=>{N()},j.value),we=Ve=>{Id(e.modelValue,Ve)||t(ms,Ve)},Ae=Ve=>$he(Ve,Ct=>{const un=s.cachedOptions.get(Ct);return un&&!un.disabled&&!un.states.groupDisabled}),Le=Ve=>{if(e.multiple&&Ve.code!==so.delete&&Ve.target.value.length<=0){const Ct=Vc(e.modelValue).slice(),un=Ae(Ct);if(un<0)return;const hr=Ct[un];Ct.splice(un,1),t(Yr,Ct),we(Ct),t("remove-tag",hr)}},ue=(Ve,Ct)=>{const un=s.selected.indexOf(Ct);if(un>-1&&!F.value){const hr=Vc(e.modelValue).slice();hr.splice(un,1),t(Yr,hr),we(hr),t("remove-tag",Ct.value)}Ve.stopPropagation(),Ht()},Ee=Ve=>{Ve.stopPropagation();const Ct=e.multiple?[]:C.value;if(e.multiple)for(const un of s.selected)un.isDisabled&&Ct.push(un.value);t(Yr,Ct),we(Ct),s.hoveringIndex=-1,v.value=!1,t("clear"),Ht()},He=Ve=>{var Ct;if(e.multiple){const un=Vc((Ct=e.modelValue)!=null?Ct:[]).slice(),hr=Xe(un,Ve);hr>-1?un.splice(hr,1):(e.multipleLimit<=0||un.length<e.multipleLimit)&&un.push(Ve.value),t(Yr,un),we(un),Ve.created&&ee(""),e.filterable&&!e.reserveKeyword&&(s.inputValue="")}else t(Yr,Ve.value),we(Ve.value),v.value=!1;Ht(),!v.value&&Cn(()=>{qe(Ve)})},Xe=(Ve,Ct)=>Wi(Ct)?-1:cn(Ct.value)?Ve.findIndex(un=>Id(fs(un,e.valueKey),Se(Ct))):Ve.indexOf(Ct.value),qe=Ve=>{var Ct,un,hr,si,No;const Bi=At(Ve)?Ve[0]:Ve;let Mo=null;if(Bi!=null&&Bi.value){const o0=X.value.filter(A6=>A6.value===Bi.value);o0.length>0&&(Mo=o0[0].$el)}if(l.value&&Mo){const o0=(si=(hr=(un=(Ct=l.value)==null?void 0:Ct.popperRef)==null?void 0:un.contentRef)==null?void 0:hr.querySelector)==null?void 0:si.call(hr,`.${i.be("dropdown","wrap")}`);o0&&Kpe(o0,Mo)}(No=y.value)==null||No.handleScroll()},It=Ve=>{s.options.set(Ve.value,Ve),s.cachedOptions.set(Ve.value,Ve)},We=(Ve,Ct)=>{s.options.get(Ve)===Ct&&s.options.delete(Ve)},$e=V(()=>{var Ve,Ct;return(Ct=(Ve=l.value)==null?void 0:Ve.popperRef)==null?void 0:Ct.contentRef}),ht=()=>{s.isBeforeHide=!1,Cn(()=>{var Ve;(Ve=y.value)==null||Ve.update(),qe(s.selected)})},Ht=()=>{var Ve;(Ve=d.value)==null||Ve.focus()},_t=()=>{var Ve;if(v.value){v.value=!1,Cn(()=>{var Ct;return(Ct=d.value)==null?void 0:Ct.blur()});return}(Ve=d.value)==null||Ve.blur()},qt=Ve=>{Ee(Ve)},nn=Ve=>{if(v.value=!1,J.value){const Ct=new FocusEvent("blur",Ve);Cn(()=>Y(Ct))}},kn=()=>{s.inputValue.length>0?s.inputValue="":v.value=!1},Jn=()=>{F.value||(k7&&(s.inputHovering=!0),s.menuVisibleOnFocus?s.menuVisibleOnFocus=!1:v.value=!v.value)},oi=()=>{if(!v.value)Jn();else{const Ve=X.value[s.hoveringIndex];Ve&&!Ve.isDisabled&&He(Ve)}},Se=Ve=>cn(Ve.value)?fs(Ve.value,e.valueKey):Ve.value,Oe=V(()=>X.value.filter(Ve=>Ve.visible).every(Ve=>Ve.isDisabled)),ct=V(()=>e.multiple?e.collapseTags?s.selected.slice(0,e.maxCollapseTags):s.selected:[]),gt=V(()=>e.multiple?e.collapseTags?s.selected.slice(e.maxCollapseTags):[]:[]),Et=Ve=>{if(!v.value){v.value=!0;return}if(!(s.options.size===0||te.value===0||I.value)&&!Oe.value){Ve==="next"?(s.hoveringIndex++,s.hoveringIndex===s.options.size&&(s.hoveringIndex=0)):Ve==="prev"&&(s.hoveringIndex--,s.hoveringIndex<0&&(s.hoveringIndex=s.options.size-1));const Ct=X.value[s.hoveringIndex];(Ct.isDisabled||!Ct.visible)&&Et(Ve),Cn(()=>qe(E.value))}},$n=()=>{if(!c.value)return 0;const Ve=window.getComputedStyle(c.value);return Number.parseFloat(Ve.gap||"6px")},Mi=V(()=>{const Ve=$n(),Ct=e.filterable?Ve+YG:0;return{maxWidth:`${m.value&&e.maxCollapseTags===1?s.selectionWidth-s.collapseItemWidth-Ve-Ct:s.selectionWidth-Ct}px`}}),$o=V(()=>({maxWidth:`${s.selectionWidth}px`})),Tl=Ve=>{t("popup-scroll",Ve)};ea(c,Ce),ea(W,Ne),ea(g,x),ea(m,oe);let ua;return Ye(()=>pe.value,Ve=>{Ve?ua=ea(p,Ne).stop:(ua==null||ua(),ua=void 0)}),ln(()=>{ge()}),{inputId:w,contentId:r,nsSelect:i,nsInput:o,states:s,isFocused:J,expanded:v,optionsArray:X,hoverOption:E,selectSize:Z,filteredOptionsCount:te,updateTooltip:Ne,updateTagTooltip:x,debouncedOnInputChange:de,onInput:U,deletePrevTag:Le,deleteTag:ue,deleteSelected:Ee,handleOptionSelect:He,scrollToOption:qe,hasModelValue:M,shouldShowPlaceholder:K,currentPlaceholder:ce,mouseEnterEventName:ye,needStatusIcon:B,showClearBtn:q,iconComponent:z,iconReverse:A,validateState:T,validateIcon:k,showNewOption:le,updateOptions:ve,collapseTagSize:ae,setSelected:ge,selectDisabled:F,emptyText:me,handleCompositionStart:O,handleCompositionUpdate:L,handleCompositionEnd:R,onOptionCreate:It,onOptionDestroy:We,handleMenuEnter:ht,focus:Ht,blur:_t,handleClearClick:qt,handleClickOutside:nn,handleEsc:kn,toggleMenu:Jn,selectOption:oi,getValueKey:Se,navigateOptions:Et,dropdownMenuVisible:pe,showTagList:ct,collapseTagList:gt,popupScroll:Tl,tagStyle:Mi,collapseTagStyle:$o,popperRef:$e,inputRef:d,tooltipRef:l,tagTooltipRef:u,prefixRef:f,suffixRef:h,selectRef:a,wrapperRef:W,selectionRef:c,scrollbarRef:y,menuRef:p,tagMenuRef:g,collapseItemRef:m}};var Gve=Je({name:"ElOptions",setup(e,{slots:t}){const n=Vt(Ty);let r=[];return()=>{var i,o;const s=(i=t.default)==null?void 0:i.call(t),a=[];function c(l){At(l)&&l.forEach(u=>{var d,f,h,p;const g=(d=(u==null?void 0:u.type)||{})==null?void 0:d.name;g==="ElOptionGroup"?c(!Yt(u.children)&&!At(u.children)&&kt((f=u.children)==null?void 0:f.default)?(h=u.children)==null?void 0:h.default():u.children):g==="ElOption"?a.push((p=u.props)==null?void 0:p.value):At(u.children)&&c(u.children)})}return s.length&&c((o=s[0])==null?void 0:o.children),Id(a,r)||(r=a,n&&(n.states.optionValues=a)),s}}});const Jve=Un({name:String,id:String,modelValue:{type:Mt([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:vl,effect:{type:Mt(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperStyle:{type:Mt([String,Object])},popperOptions:{type:Mt(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:Mt(Function)},filterMethod:{type:Mt(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:Go.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:ks,default:by},fitInputWidth:Boolean,suffixIcon:{type:ks,default:hw},tagType:{...B7.type,default:"info"},tagEffect:{...B7.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:Mt(String),values:Cy,default:"bottom-start"},fallbackPlacements:{type:Mt(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:Go.appendTo,options:{type:Mt(Array)},props:{type:Mt(Object),default:()=>XG},...VV,...yl(["ariaLabel"])});oG.scroll;const Zve=Je({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=pn("select"),n=se(),r=yn(),i=se([]);ui(QG,eo({...Ud(e)}));const o=V(()=>i.value.some(l=>l.visible===!0)),s=l=>{var u;return l.type.name==="ElOption"&&!!((u=l.component)!=null&&u.proxy)},a=l=>{const u=Vc(l),d=[];return u.forEach(f=>{var h;Da(f)&&(s(f)?d.push(f.component.proxy):At(f.children)&&f.children.length?d.push(...a(f.children)):(h=f.component)!=null&&h.subTree&&d.push(...a(f.component.subTree)))}),d},c=()=>{i.value=a(r.subTree)};return ln(()=>{c()}),Rpe(n,c,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:o,ns:t}}});function Yve(e,t,n,r,i,o){return vn((ne(),Te("ul",{ref:"groupRef",class:je(e.ns.be("group","wrap"))},[G("li",{class:je(e.ns.be("group","title"))},Ue(e.label),3),G("li",null,[G("ul",{class:je(e.ns.b("group"))},[St(e.$slots,"default")],2)])],2)),[[_r,e.visible]])}var Nw=Rn(Zve,[["render",Yve],["__file","option-group.vue"]]);const oR="ElSelect",Xve=Je({name:oR,componentName:oR,components:{ElSelectMenu:Wve,ElOption:Lw,ElOptions:Gve,ElOptionGroup:Nw,ElTag:F5e,ElScrollbar:vw,ElTooltip:Bg,ElIcon:Pn},directives:{ClickOutside:VG},props:Jve,emits:[Yr,ms,"remove-tag","clear","visible-change","focus","blur","popup-scroll"],setup(e,{emit:t,slots:n}){const r=yn();r.appContext.config.warnHandler=(...y)=>{!y[0]||y[0].includes('Slot "default" invoked outside of the render function')||console.warn(...y)};const i=V(()=>{const{modelValue:y,multiple:v}=e,E=v?[]:void 0;return At(y)?v?y:E:v?E:y}),o=eo({...Ud(e),modelValue:i}),s=Vve(o,t),{calculatorRef:a,inputStyle:c}=Lve(),{getLabel:l,getValue:u,getOptions:d,getDisabled:f}=Nve(e),h=y=>({label:l(y),value:u(y),disabled:f(y)}),p=y=>y.reduce((v,E)=>(v.push(E),E.children&&E.children.length>0&&v.push(...p(E.children)),v),[]),g=y=>{R1(y||[]).forEach(E=>{var b;if(cn(E)&&(E.type.name==="ElOption"||E.type.name==="ElTree")){const S=E.type.name;if(S==="ElTree"){const w=((b=E.props)==null?void 0:b.data)||[];p(w).forEach(_=>{_.currentLabel=_.label||(cn(_.value)?"":_.value),s.onOptionCreate(_)})}else if(S==="ElOption"){const w={...E.props};w.currentLabel=w.label||(cn(w.value)?"":w.value),s.onOptionCreate(w)}}})};Ye(()=>{var y;return(y=n.default)==null?void 0:y.call(n)},y=>{e.persistent||g(y)},{immediate:!0}),ui(Ty,eo({props:o,states:s.states,selectRef:s.selectRef,optionsArray:s.optionsArray,setSelected:s.setSelected,handleOptionSelect:s.handleOptionSelect,onOptionCreate:s.onOptionCreate,onOptionDestroy:s.onOptionDestroy}));const m=V(()=>e.multiple?s.states.selected.map(y=>y.currentLabel):s.states.selectedLabel);return xi(()=>{r.appContext.config.warnHandler=void 0}),{...s,modelValue:i,selectedLabel:m,calculatorRef:a,inputStyle:c,getLabel:l,getValue:u,getOptions:d,getDisabled:f,getOptionProps:h}}});function Qve(e,t){const n=Ki("el-tag"),r=Ki("el-tooltip"),i=Ki("el-icon"),o=Ki("el-option"),s=Ki("el-option-group"),a=Ki("el-options"),c=Ki("el-scrollbar"),l=Ki("el-select-menu"),u=RC("click-outside");return vn((ne(),Te("div",{ref:"selectRef",class:je([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),[Q1(e.mouseEnterEventName)]:d=>e.states.inputHovering=!0,onMouseleave:d=>e.states.inputHovering=!1},[be(r,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:d=>e.states.isBeforeHide=!1},{default:Re(()=>{var d;return[G("div",{ref:"wrapperRef",class:je([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:Nr(e.toggleMenu,["prevent"])},[e.$slots.prefix?(ne(),Te("div",{key:0,ref:"prefixRef",class:je(e.nsSelect.e("prefix"))},[St(e.$slots,"prefix")],2)):Ke("v-if",!0),G("div",{ref:"selectionRef",class:je([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?St(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(ne(!0),Te(Ft,null,Rr(e.showTagList,f=>(ne(),Te("div",{key:e.getValueKey(f),class:je(e.nsSelect.e("selected-item"))},[be(n,{closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Ut(e.tagStyle),onClose:h=>e.deleteTag(h,f)},{default:Re(()=>[G("span",{class:je(e.nsSelect.e("tags-text"))},[St(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[yt(Ue(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(ne(),Ze(r,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,teleported:e.teleported},{default:Re(()=>[G("div",{ref:"collapseItemRef",class:je(e.nsSelect.e("selected-item"))},[be(n,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Ut(e.collapseTagStyle)},{default:Re(()=>[G("span",{class:je(e.nsSelect.e("tags-text"))}," + "+Ue(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:Re(()=>[G("div",{ref:"tagMenuRef",class:je(e.nsSelect.e("selection"))},[(ne(!0),Te(Ft,null,Rr(e.collapseTagList,f=>(ne(),Te("div",{key:e.getValueKey(f),class:je(e.nsSelect.e("selected-item"))},[be(n,{class:"in-tooltip",closable:!e.selectDisabled&&!f.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:h=>e.deleteTag(h,f)},{default:Re(()=>[G("span",{class:je(e.nsSelect.e("tags-text"))},[St(e.$slots,"label",{label:f.currentLabel,value:f.value},()=>[yt(Ue(f.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","popper-class","popper-style","teleported"])):Ke("v-if",!0)]):Ke("v-if",!0),G("div",{class:je([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[vn(G("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":f=>e.states.inputValue=f,type:"text",name:e.name,class:je([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Ut(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":((d=e.hoverOption)==null?void 0:d.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:[Wc(Nr(f=>e.navigateOptions("next"),["stop","prevent"]),["down"]),Wc(Nr(f=>e.navigateOptions("prev"),["stop","prevent"]),["up"]),Wc(Nr(e.handleEsc,["stop","prevent"]),["esc"]),Wc(Nr(e.selectOption,["stop","prevent"]),["enter"]),Wc(Nr(e.deletePrevTag,["stop"]),["delete"])],onCompositionstart:e.handleCompositionStart,onCompositionupdate:e.handleCompositionUpdate,onCompositionend:e.handleCompositionEnd,onInput:e.onInput,onClick:Nr(e.toggleMenu,["stop"])},null,46,["id","onUpdate:modelValue","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend","onInput","onClick"]),[[Qz,e.states.inputValue]]),e.filterable?(ne(),Te("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:je(e.nsSelect.e("input-calculator")),textContent:Ue(e.states.inputValue)},null,10,["textContent"])):Ke("v-if",!0)],2),e.shouldShowPlaceholder?(ne(),Te("div",{key:1,class:je([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?St(e.$slots,"label",{key:0,label:e.currentPlaceholder,value:e.modelValue},()=>[G("span",null,Ue(e.currentPlaceholder),1)]):(ne(),Te("span",{key:1},Ue(e.currentPlaceholder),1))],2)):Ke("v-if",!0)],2),G("div",{ref:"suffixRef",class:je(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(ne(),Ze(i,{key:0,class:je([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:Re(()=>[(ne(),Ze(Br(e.iconComponent)))]),_:1},8,["class"])):Ke("v-if",!0),e.showClearBtn&&e.clearIcon?(ne(),Ze(i,{key:1,class:je([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:Re(()=>[(ne(),Ze(Br(e.clearIcon)))]),_:1},8,["class","onClick"])):Ke("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(ne(),Ze(i,{key:2,class:je([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:Re(()=>[(ne(),Ze(Br(e.validateIcon)))]),_:1},8,["class"])):Ke("v-if",!0)],2)],10,["onClick"])]}),content:Re(()=>[be(l,{ref:"menuRef"},{default:Re(()=>[e.$slots.header?(ne(),Te("div",{key:0,class:je(e.nsSelect.be("dropdown","header")),onClick:Nr(()=>{},["stop"])},[St(e.$slots,"header")],10,["onClick"])):Ke("v-if",!0),vn(be(c,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:je([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll},{default:Re(()=>[e.showNewOption?(ne(),Ze(o,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):Ke("v-if",!0),be(a,null,{default:Re(()=>[St(e.$slots,"default",{},()=>[(ne(!0),Te(Ft,null,Rr(e.options,(d,f)=>{var h;return ne(),Te(Ft,{key:f},[(h=e.getOptions(d))!=null&&h.length?(ne(),Ze(s,{key:0,label:e.getLabel(d),disabled:e.getDisabled(d)},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(e.getOptions(d),p=>(ne(),Ze(o,Ko({key:e.getValue(p)},e.getOptionProps(p)),null,16))),128))]),_:2},1032,["label","disabled"])):(ne(),Ze(o,ZE(Ko({key:1},e.getOptionProps(d))),null,16))],64)}),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll"]),[[_r,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(ne(),Te("div",{key:1,class:je(e.nsSelect.be("dropdown","loading"))},[St(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(ne(),Te("div",{key:2,class:je(e.nsSelect.be("dropdown","empty"))},[St(e.$slots,"empty",{},()=>[G("span",null,Ue(e.emptyText),1)])],2)):Ke("v-if",!0),e.$slots.footer?(ne(),Te("div",{key:3,class:je(e.nsSelect.be("dropdown","footer")),onClick:Nr(()=>{},["stop"])},[St(e.$slots,"footer")],10,["onClick"])):Ke("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow","onHide"])],16,["onMouseleave"])),[[u,e.handleClickOutside,e.popperRef]])}var Kve=Rn(Xve,[["render",Qve],["__file","select.vue"]]);const Fg=Vi(Kve,{Option:Lw,OptionGroup:Nw}),Ug=Gd(Lw);Gd(Nw);const qve=Un({trigger:Bh.trigger,triggerKeys:Bh.triggerKeys,placement:t8.placement,disabled:Bh.disabled,visible:Go.visible,transition:Go.transition,popperOptions:t8.popperOptions,tabindex:t8.tabindex,content:Go.content,popperStyle:Go.popperStyle,popperClass:Go.popperClass,enterable:{...Go.enterable,default:!0},effect:{...Go.effect,default:"light"},teleported:Go.teleported,appendTo:Go.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),$ve={"update:visible":e=>vi(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},e3e="onUpdate:visible",t3e=Je({name:"ElPopover"}),n3e=Je({...t3e,props:qve,emits:$ve,setup(e,{expose:t,emit:n}){const r=e,i=V(()=>r[e3e]),o=pn("popover"),s=se(),a=V(()=>{var m;return(m=P(s))==null?void 0:m.popperRef}),c=V(()=>[{width:ul(r.width)},r.popperStyle]),l=V(()=>[o.b(),r.popperClass,{[o.m("plain")]:!!r.content}]),u=V(()=>r.transition===`${o.namespace.value}-fade-in-linear`),d=()=>{var m;(m=s.value)==null||m.hide()},f=()=>{n("before-enter")},h=()=>{n("before-leave")},p=()=>{n("after-enter")},g=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:a,hide:d}),(m,y)=>(ne(),Ze(P(Bg),Ko({ref_key:"tooltipRef",ref:s},m.$attrs,{trigger:m.trigger,"trigger-keys":m.triggerKeys,placement:m.placement,disabled:m.disabled,visible:m.visible,transition:m.transition,"popper-options":m.popperOptions,tabindex:m.tabindex,content:m.content,offset:m.offset,"show-after":m.showAfter,"hide-after":m.hideAfter,"auto-close":m.autoClose,"show-arrow":m.showArrow,"aria-label":m.title,effect:m.effect,enterable:m.enterable,"popper-class":P(l),"popper-style":P(c),teleported:m.teleported,"append-to":m.appendTo,persistent:m.persistent,"gpu-acceleration":P(u),"onUpdate:visible":P(i),onBeforeShow:f,onBeforeHide:h,onShow:p,onHide:g}),{content:Re(()=>[m.title?(ne(),Te("div",{key:0,class:je(P(o).e("title")),role:"title"},Ue(m.title),3)):Ke("v-if",!0),St(m.$slots,"default",{},()=>[yt(Ue(m.content),1)])]),default:Re(()=>[m.$slots.reference?St(m.$slots,"reference",{key:0}):Ke("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});var r3e=Rn(n3e,[["__file","popover.vue"]]);const sR=(e,t)=>{const n=t.arg||t.value,r=n==null?void 0:n.popperRef;r&&(r.triggerRef=e)};var i3e={mounted(e,t){sR(e,t)},updated(e,t){sR(e,t)}};const o3e="popover",s3e=e1e(i3e,o3e),Dp=Vi(r3e,{directive:s3e}),a3e=Un({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:Mt(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:Mt([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:Mt(Function),default:e=>`${e}%`}}),c3e=Je({name:"ElProgress"}),l3e=Je({...c3e,props:a3e,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},r=pn("progress"),i=V(()=>{const E={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},b=v(t.percentage);return b.includes("gradient")?E.background=b:E.backgroundColor=b,E}),o=V(()=>(t.strokeWidth/t.width*100).toFixed(1)),s=V(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(o.value)/2}`,10):0),a=V(()=>{const E=s.value,b=t.type==="dashboard";return`
M 50 50
m 0 ${b?"":"-"}${E}
a ${E} ${E} 0 1 1 0 ${b?"-":""}${E*2}
a ${E} ${E} 0 1 1 0 ${b?"":"-"}${E*2}
`}),c=V(()=>2*Math.PI*s.value),l=V(()=>t.type==="dashboard"?.75:1),u=V(()=>`${-1*c.value*(1-l.value)/2}px`),d=V(()=>({strokeDasharray:`${c.value*l.value}px, ${c.value}px`,strokeDashoffset:u.value})),f=V(()=>({strokeDasharray:`${c.value*l.value*(t.percentage/100)}px, ${c.value}px`,strokeDashoffset:u.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),h=V(()=>{let E;return t.color?E=v(t.percentage):E=n[t.status]||n.default,E}),p=V(()=>t.status==="warning"?KV:t.type==="line"?t.status==="success"?XV:by:t.status==="success"?h1e:ip),g=V(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),m=V(()=>t.format(t.percentage));function y(E){const b=100/E.length;return E.map((w,C)=>Yt(w)?{color:w,percentage:(C+1)*b}:w).sort((w,C)=>w.percentage-C.percentage)}const v=E=>{var b;const{color:S}=t;if(kt(S))return S(E);if(Yt(S))return S;{const w=y(S);for(const C of w)if(C.percentage>E)return C.color;return(b=w[w.length-1])==null?void 0:b.color}};return(E,b)=>(ne(),Te("div",{class:je([P(r).b(),P(r).m(E.type),P(r).is(E.status),{[P(r).m("without-text")]:!E.showText,[P(r).m("text-inside")]:E.textInside}]),role:"progressbar","aria-valuenow":E.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[E.type==="line"?(ne(),Te("div",{key:0,class:je(P(r).b("bar"))},[G("div",{class:je(P(r).be("bar","outer")),style:Ut({height:`${E.strokeWidth}px`})},[G("div",{class:je([P(r).be("bar","inner"),{[P(r).bem("bar","inner","indeterminate")]:E.indeterminate},{[P(r).bem("bar","inner","striped")]:E.striped},{[P(r).bem("bar","inner","striped-flow")]:E.stripedFlow}]),style:Ut(P(i))},[(E.showText||E.$slots.default)&&E.textInside?(ne(),Te("div",{key:0,class:je(P(r).be("bar","innerText"))},[St(E.$slots,"default",{percentage:E.percentage},()=>[G("span",null,Ue(P(m)),1)])],2)):Ke("v-if",!0)],6)],6)],2)):(ne(),Te("div",{key:1,class:je(P(r).b("circle")),style:Ut({height:`${E.width}px`,width:`${E.width}px`})},[(ne(),Te("svg",{viewBox:"0 0 100 100"},[G("path",{class:je(P(r).be("circle","track")),d:P(a),stroke:`var(${P(r).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":E.strokeLinecap,"stroke-width":P(o),fill:"none",style:Ut(P(d))},null,14,["d","stroke","stroke-linecap","stroke-width"]),G("path",{class:je(P(r).be("circle","path")),d:P(a),stroke:P(h),fill:"none",opacity:E.percentage?1:0,"stroke-linecap":E.strokeLinecap,"stroke-width":P(o),style:Ut(P(f))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),(E.showText||E.$slots.default)&&!E.textInside?(ne(),Te("div",{key:2,class:je(P(r).e("text")),style:Ut({fontSize:`${P(g)}px`})},[St(E.$slots,"default",{percentage:E.percentage},()=>[E.status?(ne(),Ze(P(Pn),{key:1},{default:Re(()=>[(ne(),Ze(Br(P(p))))]),_:1})):(ne(),Te("span",{key:0},Ue(P(m)),1))])],6)):Ke("v-if",!0)],10,["aria-valuenow"]))}});var u3e=Rn(l3e,[["__file","progress.vue"]]);const KG=Vi(u3e),d3e=e=>["",...fw].includes(e),f3e=Un({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:d3e},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:ks},activeActionIcon:{type:ks},activeIcon:{type:ks},inactiveIcon:{type:ks},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:Mt(Function)},id:String,tabindex:{type:[String,Number]},...yl(["ariaLabel"])}),h3e={[Yr]:e=>vi(e)||Yt(e)||_n(e),[ms]:e=>vi(e)||Yt(e)||_n(e),[du]:e=>vi(e)||Yt(e)||_n(e)},qG="ElSwitch",p3e=Je({name:qG}),m3e=Je({...p3e,props:f3e,emits:h3e,setup(e,{expose:t,emit:n}){const r=e,{formItem:i}=Iu(),o=fl(),s=pn("switch"),{inputId:a}=kp(r,{formItemContext:i}),c=Af(V(()=>r.loading)),l=se(r.modelValue!==!1),u=se(),d=se(),f=V(()=>[s.b(),s.m(o.value),s.is("disabled",c.value),s.is("checked",y.value)]),h=V(()=>[s.e("label"),s.em("label","left"),s.is("active",!y.value)]),p=V(()=>[s.e("label"),s.em("label","right"),s.is("active",y.value)]),g=V(()=>({width:ul(r.width)}));Ye(()=>r.modelValue,()=>{l.value=!0});const m=V(()=>l.value?r.modelValue:!1),y=V(()=>m.value===r.activeValue);[r.activeValue,r.inactiveValue].includes(m.value)||(n(Yr,r.inactiveValue),n(ms,r.inactiveValue),n(du,r.inactiveValue)),Ye(y,S=>{var w;u.value.checked=S,r.validateEvent&&((w=i==null?void 0:i.validate)==null||w.call(i,"change").catch(C=>void 0))});const v=()=>{const S=y.value?r.inactiveValue:r.activeValue;n(Yr,S),n(ms,S),n(du,S),Cn(()=>{u.value.checked=y.value})},E=()=>{if(c.value)return;const{beforeChange:S}=r;if(!S){v();return}const w=S();[D3(w),vi(w)].includes(!0)||Rp(qG,"beforeChange must return type `Promise<boolean>` or `boolean`"),D3(w)?w.then(_=>{_&&v()}).catch(_=>{}):w&&v()},b=()=>{var S,w;(w=(S=u.value)==null?void 0:S.focus)==null||w.call(S)};return ln(()=>{u.value.checked=y.value}),t({focus:b,checked:y}),(S,w)=>(ne(),Te("div",{class:je(P(f)),onClick:Nr(E,["prevent"])},[G("input",{id:P(a),ref_key:"input",ref:u,class:je(P(s).e("input")),type:"checkbox",role:"switch","aria-checked":P(y),"aria-disabled":P(c),"aria-label":S.ariaLabel,name:S.name,"true-value":S.activeValue,"false-value":S.inactiveValue,disabled:P(c),tabindex:S.tabindex,onChange:v,onKeydown:Wc(E,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),!S.inlinePrompt&&(S.inactiveIcon||S.inactiveText)?(ne(),Te("span",{key:0,class:je(P(h))},[S.inactiveIcon?(ne(),Ze(P(Pn),{key:0},{default:Re(()=>[(ne(),Ze(Br(S.inactiveIcon)))]),_:1})):Ke("v-if",!0),!S.inactiveIcon&&S.inactiveText?(ne(),Te("span",{key:1,"aria-hidden":P(y)},Ue(S.inactiveText),9,["aria-hidden"])):Ke("v-if",!0)],2)):Ke("v-if",!0),G("span",{ref_key:"core",ref:d,class:je(P(s).e("core")),style:Ut(P(g))},[S.inlinePrompt?(ne(),Te("div",{key:0,class:je(P(s).e("inner"))},[S.activeIcon||S.inactiveIcon?(ne(),Ze(P(Pn),{key:0,class:je(P(s).is("icon"))},{default:Re(()=>[(ne(),Ze(Br(P(y)?S.activeIcon:S.inactiveIcon)))]),_:1},8,["class"])):S.activeText||S.inactiveText?(ne(),Te("span",{key:1,class:je(P(s).is("text")),"aria-hidden":!P(y)},Ue(P(y)?S.activeText:S.inactiveText),11,["aria-hidden"])):Ke("v-if",!0)],2)):Ke("v-if",!0),G("div",{class:je(P(s).e("action"))},[S.loading?(ne(),Ze(P(Pn),{key:0,class:je(P(s).is("loading"))},{default:Re(()=>[be(P(dl))]),_:1},8,["class"])):P(y)?St(S.$slots,"active-action",{key:1},()=>[S.activeActionIcon?(ne(),Ze(P(Pn),{key:0},{default:Re(()=>[(ne(),Ze(Br(S.activeActionIcon)))]),_:1})):Ke("v-if",!0)]):P(y)?Ke("v-if",!0):St(S.$slots,"inactive-action",{key:2},()=>[S.inactiveActionIcon?(ne(),Ze(P(Pn),{key:0},{default:Re(()=>[(ne(),Ze(Br(S.inactiveActionIcon)))]),_:1})):Ke("v-if",!0)])],2)],6),!S.inlinePrompt&&(S.activeIcon||S.activeText)?(ne(),Te("span",{key:1,class:je(P(p))},[S.activeIcon?(ne(),Ze(P(Pn),{key:0},{default:Re(()=>[(ne(),Ze(Br(S.activeIcon)))]),_:1})):Ke("v-if",!0),!S.activeIcon&&S.activeText?(ne(),Te("span",{key:1,"aria-hidden":!P(y)},Ue(S.activeText),9,["aria-hidden"])):Ke("v-if",!0)],2)):Ke("v-if",!0)],10,["onClick"]))}});var g3e=Rn(m3e,[["__file","switch.vue"]]);const Mw=Vi(g3e),n8=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},v3e=function(e,t,n,r,i){if(!t&&!r&&(!i||At(i)&&!i.length))return e;Yt(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const o=r?null:function(a,c){return i?DV(Vc(i),l=>Yt(l)?fs(a,l):l(a,c,e)):(t!=="$key"&&cn(a)&&"$value"in a&&(a=a.$value),[cn(a)?t?fs(a,t):null:a])},s=function(a,c){var l,u,d,f,h,p;if(r)return r(a.value,c.value);for(let g=0,m=(u=(l=a.key)==null?void 0:l.length)!=null?u:0;g<m;g++){if(((d=a.key)==null?void 0:d[g])<((f=c.key)==null?void 0:f[g]))return-1;if(((h=a.key)==null?void 0:h[g])>((p=c.key)==null?void 0:p[g]))return 1}return 0};return e.map((a,c)=>({value:a,index:c,key:o?o(a,c):null})).sort((a,c)=>{let l=s(a,c);return l||(l=a.index-c.index),l*+n}).map(a=>a.value)},$G=function(e,t){let n=null;return e.columns.forEach(r=>{r.id===t&&(n=r)}),n},y3e=function(e,t){let n=null;for(let r=0;r<e.columns.length;r++){const i=e.columns[r];if(i.columnKey===t){n=i;break}}return n||Rp("ElTable",`No column matching with column-key: ${t}`),n},aR=function(e,t,n){const r=(t.className||"").match(new RegExp(`${n}-table_[^\\s]+`,"gm"));return r?$G(e,r[0]):null},Ro=(e,t)=>{if(!e)throw new Error("Row is required when get row identity");if(Yt(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let r=e;for(const i of n)r=r[i];return`${r}`}else if(kt(t))return t.call(null,e);return""},Uh=function(e,t,n=!1,r="children"){const i=e||[],o={};return i.forEach((s,a)=>{if(o[Ro(s,t)]={row:s,index:a},n){const c=s[r];At(c)&&Object.assign(o,Uh(c,t,!0,r))}}),o};function E3e(e,t){const n={};let r;for(r in e)n[r]=e[r];for(r in t)if(zn(t,r)){const i=t[r];Wi(i)||(n[r]=i)}return n}function Bw(e){return e===""||Wi(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function eJ(e){return e===""||Wi(e)||(e=Bw(e),Number.isNaN(e)&&(e=80)),e}function b3e(e){return _n(e)?e:Yt(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function S3e(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function r4(e,t,n,r,i,o,s){let a=o??0,c=!1;const u=(()=>{if(!s)return e.indexOf(t);const g=Ro(t,s);return e.findIndex(m=>Ro(m,s)===g)})(),d=u!==-1,f=i==null?void 0:i.call(null,t,a),h=g=>{g==="add"?e.push(t):e.splice(u,1),c=!0},p=g=>{let m=0;const y=(r==null?void 0:r.children)&&g[r.children];return y&&At(y)&&(m+=y.length,y.forEach(v=>{m+=p(v)})),m};return(!i||f)&&(vi(n)?n&&!d?h("add"):!n&&d&&h("remove"):h(d?"remove":"add")),!(r!=null&&r.checkStrictly)&&(r!=null&&r.children)&&At(t[r.children])&&t[r.children].forEach(g=>{const m=r4(e,g,n??!d,r,i,a+1,s);a+=p(g)+1,m&&(c=m)}),c}function A3e(e,t,n="children",r="hasChildren",i=!1){const o=a=>!(At(a)&&a.length);function s(a,c,l){t(a,c,l),c.forEach(u=>{if(u[r]&&i){t(u,null,l+1);return}const d=u[n];o(d)||s(u,d,l+1)})}e.forEach(a=>{if(a[r]&&i){t(a,null,0);return}const c=a[n];o(c)||s(a,c,0)})}const C3e=(e,t,n,r)=>{const i={strategy:"fixed",...e.popperOptions},o=kt(r==null?void 0:r.tooltipFormatter)?r.tooltipFormatter({row:n,column:r,cellValue:GV(n,r.property).value}):void 0;return Da(o)?{slotContent:o,content:null,...e,popperOptions:i}:{slotContent:null,content:o??t,...e,popperOptions:i}};let Wo=null;function w3e(e,t,n,r,i,o){var s;const a=C3e(e,t,n,r),c={...a,slotContent:void 0};if((Wo==null?void 0:Wo.trigger)===i){const p=(s=Wo.vm)==null?void 0:s.component;LV(p==null?void 0:p.props,c),p&&a.slotContent&&(p.slots.content=()=>[a.slotContent]);return}Wo==null||Wo();const l=o==null?void 0:o.refs.tableWrapper,u=l==null?void 0:l.dataset.prefix,d=be(Bg,{virtualTriggering:!0,virtualRef:i,appendTo:l,placement:"top",transition:"none",offset:0,hideAfter:0,...c},a.slotContent?{content:()=>a.slotContent}:void 0);d.appContext={...o.appContext,...o};const f=document.createElement("div");V3(d,f),d.component.exposed.onOpen();const h=l==null?void 0:l.querySelector(`.${u}-scrollbar__wrap`);Wo=()=>{var p,g;(g=(p=d.component)==null?void 0:p.exposed)!=null&&g.onClose&&d.component.exposed.onClose(),V3(null,f);const m=Wo;h==null||h.removeEventListener("scroll",m),m.trigger=void 0,m.vm=void 0,Wo=null},Wo.trigger=i??void 0,Wo.vm=d,h==null||h.addEventListener("scroll",Wo)}function tJ(e){return e.children?DV(e.children,tJ):[e]}function cR(e,t){return e+t.colSpan}const nJ=(e,t,n,r)=>{let i=0,o=e;const s=n.states.columns.value;if(r){const c=tJ(r[e]);i=s.slice(0,s.indexOf(c[0])).reduce(cR,0),o=i+c.reduce(cR,0)-1}else i=e;let a;switch(t){case"left":o<n.states.fixedLeafColumnsLength.value&&(a="left");break;case"right":i>=s.length-n.states.rightFixedLeafColumnsLength.value&&(a="right");break;default:o<n.states.fixedLeafColumnsLength.value?a="left":i>=s.length-n.states.rightFixedLeafColumnsLength.value&&(a="right")}return a?{direction:a,start:i,after:o}:{}},Fw=(e,t,n,r,i,o=0)=>{const s=[],{direction:a,start:c,after:l}=nJ(t,n,r,i);if(a){const u=a==="left";s.push(`${e}-fixed-column--${a}`),u&&l+o===r.states.fixedLeafColumnsLength.value-1?s.push("is-last-column"):!u&&c-o===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&s.push("is-first-column")}return s};function lR(e,t){return e+(Dg(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const Uw=(e,t,n,r)=>{const{direction:i,start:o=0,after:s=0}=nJ(e,t,n,r);if(!i)return;const a={},c=i==="left",l=n.states.columns.value;return c?a.left=l.slice(0,o).reduce(lR,0):a.right=l.slice(s+1).reverse().reduce(lR,0),a},dp=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function T3e(e){const t=yn(),n=se(!1),r=se([]);return{updateExpandRows:()=>{const c=e.data.value||[],l=e.rowKey.value;if(n.value)r.value=c.slice();else if(l){const u=Uh(r.value,l);r.value=c.reduce((d,f)=>{const h=Ro(f,l);return u[h]&&d.push(f),d},[])}else r.value=[]},toggleRowExpansion:(c,l)=>{r4(r.value,c,l,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",c,r.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const l=e.data.value||[],u=e.rowKey.value,d=Uh(l,u);r.value=c.reduce((f,h)=>{const p=d[h];return p&&f.push(p.row),f},[])},isRowExpanded:c=>{const l=e.rowKey.value;return l?!!Uh(r.value,l)[Ro(c,l)]:r.value.includes(c)},states:{expandRows:r,defaultExpandAll:n}}}function I3e(e){const t=yn(),n=se(null),r=se(null),i=l=>{t.store.assertRowKey(),n.value=l,s(l)},o=()=>{n.value=null},s=l=>{var u;const{data:d,rowKey:f}=e;let h=null;f.value&&(h=(u=(P(d)||[]).find(p=>Ro(p,f.value)===l))!=null?u:null),r.value=h??null,t.emit("current-change",r.value,null)};return{setCurrentRowKey:i,restoreCurrentRowKey:o,setCurrentRowByKey:s,updateCurrentRow:l=>{const u=r.value;if(l&&l!==u){r.value=l,t.emit("current-change",r.value,u);return}!l&&u&&(r.value=null,t.emit("current-change",null,u))},updateCurrentRowData:()=>{const l=e.rowKey.value,u=e.data.value||[],d=r.value;if(d&&!u.includes(d)){if(l){const f=Ro(d,l);s(f)}else r.value=null;Dg(r.value)&&t.emit("current-change",null,d)}else n.value&&(s(n.value),o())},states:{_currentRowKey:n,currentRow:r}}}function P3e(e){const t=se([]),n=se({}),r=se(16),i=se(!1),o=se({}),s=se("hasChildren"),a=se("children"),c=se(!1),l=yn(),u=V(()=>{if(!e.rowKey.value)return{};const b=e.data.value||[];return f(b)}),d=V(()=>{const b=e.rowKey.value,S=Object.keys(o.value),w={};return S.length&&S.forEach(C=>{if(o.value[C].length){const _={children:[]};o.value[C].forEach(I=>{const O=Ro(I,b);_.children.push(O),I[s.value]&&!w[O]&&(w[O]={children:[]})}),w[C]=_}}),w}),f=b=>{const S=e.rowKey.value,w={};return A3e(b,(C,_,I)=>{const O=Ro(C,S);At(_)?w[O]={children:_.map(L=>Ro(L,S)),level:I}:i.value&&(w[O]={children:[],lazy:!0,level:I})},a.value,s.value,i.value),w},h=(b=!1,S)=>{var w,C;S||(S=(w=l.store)==null?void 0:w.states.defaultExpandAll.value);const _=u.value,I=d.value,O=Object.keys(_),L={};if(O.length){const R=P(n),F=[],W=(Y,M)=>{if(b)return t.value?S||t.value.includes(M):!!(S||Y!=null&&Y.expanded);{const B=S||t.value&&t.value.includes(M);return!!(Y!=null&&Y.expanded||B)}};O.forEach(Y=>{const M=R[Y],B={..._[Y]};if(B.expanded=W(M,Y),B.lazy){const{loaded:q=!1,loading:z=!1}=M||{};B.loaded=!!q,B.loading=!!z,F.push(Y)}L[Y]=B});const J=Object.keys(I);i.value&&J.length&&F.length&&J.forEach(Y=>{var M;const B=R[Y],q=I[Y].children;if(F.includes(Y)){if(((M=L[Y].children)==null?void 0:M.length)!==0)throw new Error("[ElTable]children must be an empty array.");L[Y].children=q}else{const{loaded:z=!1,loading:A=!1}=B||{};L[Y]={lazy:!0,loaded:!!z,loading:!!A,expanded:W(B,Y),children:q,level:void 0}}})}n.value=L,(C=l.store)==null||C.updateTableScrollY()};Ye(()=>t.value,()=>{h(!0)}),Ye(()=>u.value,()=>{h()}),Ye(()=>d.value,()=>{h()});const p=b=>{t.value=b,h()},g=b=>i.value&&b&&"loaded"in b&&!b.loaded,m=(b,S)=>{l.store.assertRowKey();const w=e.rowKey.value,C=Ro(b,w),_=C&&n.value[C];if(C&&_&&"expanded"in _){const I=_.expanded;S=Wi(S)?!_.expanded:S,n.value[C].expanded=S,I!==S&&l.emit("expand-change",b,S),g(_)&&v(b,C,_),l.store.updateTableScrollY()}},y=b=>{l.store.assertRowKey();const S=e.rowKey.value,w=Ro(b,S),C=n.value[w];g(C)?v(b,w,C):m(b,void 0)},v=(b,S,w)=>{const{load:C}=l.props;C&&!n.value[S].loaded&&(n.value[S].loading=!0,C(b,w,_=>{if(!At(_))throw new TypeError("[ElTable] data must be an array");n.value[S].loading=!1,n.value[S].loaded=!0,n.value[S].expanded=!0,_.length&&(o.value[S]=_),l.emit("expand-change",b,!0)}))};return{loadData:v,loadOrToggle:y,toggleTreeExpansion:m,updateTreeExpandKeys:p,updateTreeData:h,updateKeyChildren:(b,S)=>{const{lazy:w,rowKey:C}=l.props;if(w){if(!C)throw new Error("[Table] rowKey is required in updateKeyChild");o.value[b]&&(o.value[b]=S)}},normalize:f,states:{expandRowKeys:t,treeData:n,indent:r,lazy:i,lazyTreeNodeMap:o,lazyColumnIdentifier:s,childrenColumnName:a,checkStrictly:c}}}const O3e=(e,t)=>{const n=t.sortingColumn;return!n||Yt(n.sortable)?e:v3e(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},z5=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,z5(n.children)):t.push(n)}),t};function _3e(){var e;const t=yn(),{size:n}=Ud((e=t.proxy)==null?void 0:e.$props),r=se(null),i=se([]),o=se([]),s=se(!1),a=se([]),c=se([]),l=se([]),u=se([]),d=se([]),f=se([]),h=se([]),p=se([]),g=[],m=se(0),y=se(0),v=se(0),E=se(!1),b=se([]),S=se(!1),w=se(!1),C=se(null),_=se({}),I=se(null),O=se(null),L=se(null),R=se(null),F=se(null),W=V(()=>r.value?Uh(b.value,r.value):void 0);Ye(i,()=>{var Ae;t.state&&(B(!1),t.props.tableLayout==="auto"&&((Ae=t.refs.tableHeaderRef)==null||Ae.updateFixedColumnStyle()))},{deep:!0});const J=()=>{if(!r.value)throw new Error("[ElTable] prop row-key is required")},Y=Ae=>{var Le;(Le=Ae.children)==null||Le.forEach(ue=>{ue.fixed=Ae.fixed,Y(ue)})},M=()=>{a.value.forEach(qe=>{Y(qe)}),u.value=a.value.filter(qe=>[!0,"left"].includes(qe.fixed));const Ae=a.value.find(qe=>qe.type==="selection");let Le;Ae&&Ae.fixed!=="right"&&!u.value.includes(Ae)&&a.value.indexOf(Ae)===0&&u.value.length&&(u.value.unshift(Ae),Le=!0),d.value=a.value.filter(qe=>qe.fixed==="right");const ue=a.value.filter(qe=>(Le?qe.type!=="selection":!0)&&!qe.fixed);c.value=Array.from(u.value).concat(ue).concat(d.value);const Ee=z5(ue),He=z5(u.value),Xe=z5(d.value);m.value=Ee.length,y.value=He.length,v.value=Xe.length,l.value=Array.from(He).concat(Ee).concat(Xe),s.value=u.value.length>0||d.value.length>0},B=(Ae,Le=!1)=>{Ae&&M(),Le?t.state.doLayout():t.state.debouncedUpdateLayout()},q=Ae=>W.value?!!W.value[Ro(Ae,r.value)]:b.value.includes(Ae),z=()=>{E.value=!1;const Ae=b.value;b.value=[],Ae.length&&t.emit("selection-change",[])},A=()=>{var Ae,Le;let ue;if(r.value){ue=[];const Ee=(Le=(Ae=t==null?void 0:t.store)==null?void 0:Ae.states)==null?void 0:Le.childrenColumnName.value,He=Uh(i.value,r.value,!0,Ee);for(const Xe in W.value)zn(W.value,Xe)&&!He[Xe]&&ue.push(W.value[Xe].row)}else ue=b.value.filter(Ee=>!i.value.includes(Ee));if(ue.length){const Ee=b.value.filter(He=>!ue.includes(He));b.value=Ee,t.emit("selection-change",Ee.slice())}},T=()=>(b.value||[]).slice(),k=(Ae,Le,ue=!0,Ee=!1)=>{var He,Xe,qe,It;const We={children:(Xe=(He=t==null?void 0:t.store)==null?void 0:He.states)==null?void 0:Xe.childrenColumnName.value,checkStrictly:(It=(qe=t==null?void 0:t.store)==null?void 0:qe.states)==null?void 0:It.checkStrictly.value};if(r4(b.value,Ae,Le,We,Ee?void 0:C.value,i.value.indexOf(Ae),r.value)){const ht=(b.value||[]).slice();ue&&t.emit("select",ht,Ae),t.emit("selection-change",ht)}},j=()=>{var Ae,Le;const ue=w.value?!E.value:!(E.value||b.value.length);E.value=ue;let Ee=!1,He=0;const Xe=(Le=(Ae=t==null?void 0:t.store)==null?void 0:Ae.states)==null?void 0:Le.rowKey.value,{childrenColumnName:qe}=t.store.states,It={children:qe.value,checkStrictly:!1};i.value.forEach((We,$e)=>{const ht=$e+He;r4(b.value,We,ue,It,C.value,ht,Xe)&&(Ee=!0),He+=me(Ro(We,Xe))}),Ee&&t.emit("selection-change",b.value?b.value.slice():[]),t.emit("select-all",(b.value||[]).slice())},re=()=>{var Ae;if(((Ae=i.value)==null?void 0:Ae.length)===0){E.value=!1;return}const{childrenColumnName:Le}=t.store.states;let ue=0,Ee=0;const He=qe=>{var It;for(const We of qe){const $e=C.value&&C.value.call(null,We,ue);if(q(We))Ee++;else if(!C.value||$e)return!1;if(ue++,(It=We[Le.value])!=null&&It.length&&!He(We[Le.value]))return!1}return!0},Xe=He(i.value||[]);E.value=Ee===0?!1:Xe},me=Ae=>{var Le;if(!t||!t.store)return 0;const{treeData:ue}=t.store.states;let Ee=0;const He=(Le=ue.value[Ae])==null?void 0:Le.children;return He&&(Ee+=He.length,He.forEach(Xe=>{Ee+=me(Xe)})),Ee},te=(Ae,Le)=>{const ue={};return Vc(Ae).forEach(Ee=>{_.value[Ee.id]=Le,ue[Ee.columnKey||Ee.id]=Le}),ue},X=(Ae,Le,ue)=>{O.value&&O.value!==Ae&&(O.value.order=null),O.value=Ae,L.value=Le,R.value=ue},fe=()=>{let Ae=P(o);Object.keys(_.value).forEach(Le=>{const ue=_.value[Le];if(!ue||ue.length===0)return;const Ee=$G({columns:l.value},Le);Ee&&Ee.filterMethod&&(Ae=Ae.filter(He=>ue.some(Xe=>Ee.filterMethod.call(null,Xe,He,Ee))))}),I.value=Ae},le=()=>{var Ae;i.value=O3e((Ae=I.value)!=null?Ae:[],{sortingColumn:O.value,sortProp:L.value,sortOrder:R.value})},ve=(Ae=void 0)=>{Ae!=null&&Ae.filter||fe(),le()},Z=Ae=>{const{tableHeaderRef:Le}=t.refs;if(!Le)return;const ue=Object.assign({},Le.filterPanels),Ee=Object.keys(ue);if(Ee.length)if(Yt(Ae)&&(Ae=[Ae]),At(Ae)){const He=Ae.map(Xe=>y3e({columns:l.value},Xe));Ee.forEach(Xe=>{const qe=He.find(It=>It.id===Xe);qe&&(qe.filteredValue=[])}),t.store.commit("filterChange",{column:He,values:[],silent:!0,multi:!0})}else Ee.forEach(He=>{const Xe=l.value.find(qe=>qe.id===He);Xe&&(Xe.filteredValue=[])}),_.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},ae=()=>{O.value&&(X(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:pe,toggleRowExpansion:K,updateExpandRows:ce,states:ye,isRowExpanded:ee}=T3e({data:i,rowKey:r}),{updateTreeExpandKeys:$,toggleTreeExpansion:ge,updateTreeData:ie,updateKeyChildren:Ie,loadOrToggle:Ce,states:oe}=P3e({data:i,rowKey:r}),{updateCurrentRowData:Ne,updateCurrentRow:x,setCurrentRowKey:N,states:U}=I3e({data:i,rowKey:r});return{assertRowKey:J,updateColumns:M,scheduleLayout:B,isSelected:q,clearSelection:z,cleanSelection:A,getSelectionRows:T,toggleRowSelection:k,_toggleAllSelection:j,toggleAllSelection:null,updateAllSelected:re,updateFilters:te,updateCurrentRow:x,updateSort:X,execFilter:fe,execSort:le,execQuery:ve,clearFilter:Z,clearSort:ae,toggleRowExpansion:K,setExpandRowKeysAdapter:Ae=>{pe(Ae),$(Ae)},setCurrentRowKey:N,toggleRowExpansionAdapter:(Ae,Le)=>{l.value.some(({type:Ee})=>Ee==="expand")?K(Ae,Le):ge(Ae,Le)},isRowExpanded:ee,updateExpandRows:ce,updateCurrentRowData:Ne,loadOrToggle:Ce,updateTreeData:ie,updateKeyChildren:Ie,states:{tableSize:n,rowKey:r,data:i,_data:o,isComplex:s,_columns:a,originColumns:c,columns:l,fixedColumns:u,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:h,rightFixedLeafColumns:p,updateOrderFns:g,leafColumnsLength:m,fixedLeafColumnsLength:y,rightFixedLeafColumnsLength:v,isAllSelected:E,selection:b,reserveSelection:S,selectOnIndeterminate:w,selectable:C,filters:_,filteredData:I,sortingColumn:O,sortProp:L,sortOrder:R,hoverRow:F,...ye,...oe,...U}}}function U7(e,t){return e.map(n=>{var r;return n.id===t.id?t:((r=n.children)!=null&&r.length&&(n.children=U7(n.children,t)),n)})}function j7(e){e.forEach(t=>{var n,r;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(r=t.children)!=null&&r.length&&j7(t.children)}),e.sort((t,n)=>t.no-n.no)}function R3e(){const e=yn(),t=_3e();return{ns:pn("table"),...t,mutations:{setData(s,a){const c=P(s._data)!==a;s.data.value=a,s._data.value=a,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),P(s.reserveSelection)?e.store.assertRowKey():c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(s,a,c,l){var u;const d=P(s._columns);let f=[];c?(c&&!c.children&&(c.children=[]),(u=c.children)==null||u.push(a),f=U7(d,c)):(d.push(a),f=d),j7(f),s._columns.value=f,s.updateOrderFns.push(l),a.type==="selection"&&(s.selectable.value=a.selectable,s.reserveSelection.value=a.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(s,a){var c;((c=a.getColumnIndex)==null?void 0:c.call(a))!==a.no&&(j7(s._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(s,a,c,l){var u;const d=P(s._columns)||[];if(c)(u=c.children)==null||u.splice(c.children.findIndex(h=>h.id===a.id),1),Cn(()=>{var h;((h=c.children)==null?void 0:h.length)===0&&delete c.children}),s._columns.value=U7(d,c);else{const h=d.indexOf(a);h>-1&&(d.splice(h,1),s._columns.value=d)}const f=s.updateOrderFns.indexOf(l);f>-1&&s.updateOrderFns.splice(f,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(s,a){const{prop:c,order:l,init:u}=a;if(c){const d=P(s.columns).find(f=>f.property===c);d&&(d.order=l,e.store.updateSort(d,c,l),e.store.commit("changeSortCondition",{init:u}))}},changeSortCondition(s,a){const{sortingColumn:c,sortProp:l,sortOrder:u}=s,d=P(c),f=P(l),h=P(u);Dg(h)&&(s.sortingColumn.value=null,s.sortProp.value=null);const p={filter:!0};e.store.execQuery(p),(!a||!(a.silent||a.init))&&e.emit("sort-change",{column:d,prop:f,order:h}),e.store.updateTableScrollY()},filterChange(s,a){const{column:c,values:l,silent:u}=a,d=e.store.updateFilters(c,l);e.store.execQuery(),u||e.emit("filter-change",d),e.store.updateTableScrollY()},toggleAllSelection(){var s,a;(a=(s=e.store).toggleAllSelection)==null||a.call(s)},rowSelectedChanged(s,a){e.store.toggleRowSelection(a),e.store.updateAllSelected()},setHoverRow(s,a){s.hoverRow.value=a},setCurrentRow(s,a){e.store.updateCurrentRow(a)}},commit:function(s,...a){const c=e.store.mutations;if(c[s])c[s].apply(e,[e.store.states,...a]);else throw new Error(`Action not found: ${s}`)},updateTableScrollY:function(){Cn(()=>e.layout.updateScrollY.apply(e.layout))}}}const jw={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function k3e(e,t){if(!e)throw new Error("Table is required.");const n=R3e();return n.toggleAllSelection=rp(n._toggleAllSelection,10),Object.keys(jw).forEach(r=>{rJ(iJ(t,r),r,n)}),x3e(n,t),n}function x3e(e,t){Object.keys(jw).forEach(n=>{Ye(()=>iJ(t,n),r=>{rJ(r,n,e)})})}function rJ(e,t,n){let r=e,i=jw[t];cn(i)&&(r=r||i.default,i=i.key),n.states[i].value=r}function iJ(e,t){if(t.includes(".")){const n=t.split(".");let r=e;return n.forEach(i=>{r=r[i]}),r}else return e[t]}class D3e{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=se(null),this.scrollX=se(!1),this.scrollY=se(!1),this.bodyWidth=se(null),this.fixedWidth=se(null),this.rightFixedWidth=se(null),this.gutterWidth=0;for(const n in t)zn(t,n)&&(En(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const t=this.height.value;if(Dg(t))return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(n!=null&&n.wrapRef)){let r=!0;const i=this.scrollY.value;return r=n.wrapRef.scrollHeight>n.wrapRef.clientHeight,this.scrollY.value=r,i!==r}return!1}setHeight(t,n="height"){if(!qn)return;const r=this.table.vnode.el;if(t=b3e(t),this.height.value=Number(t),!r&&(t||t===0)){Cn(()=>this.setHeight(t,n));return}r&&_n(t)?(r.style[n]=`${t}px`,this.updateElsHeight()):r&&Yt(t)&&(r.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(r=>{r.isColumnGroup?t.push.apply(t,r.columns):t.push(r)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){var t;if(!qn)return;const n=this.fit,r=(t=this.table.vnode.el)==null?void 0:t.clientWidth;let i=0;const o=this.getFlattenColumns(),s=o.filter(l=>!_n(l.width));if(o.forEach(l=>{_n(l.width)&&l.realWidth&&(l.realWidth=null)}),s.length>0&&n){if(o.forEach(l=>{i+=Number(l.width||l.minWidth||80)}),i<=r){this.scrollX.value=!1;const l=r-i;if(s.length===1)s[0].realWidth=Number(s[0].minWidth||80)+l;else{const u=s.reduce((h,p)=>h+Number(p.minWidth||80),0),d=l/u;let f=0;s.forEach((h,p)=>{if(p===0)return;const g=Math.floor(Number(h.minWidth||80)*d);f+=g,h.realWidth=Number(h.minWidth||80)+g}),s[0].realWidth=Number(s[0].minWidth||80)+l-f}}else this.scrollX.value=!0,s.forEach(l=>{l.realWidth=Number(l.minWidth)});this.bodyWidth.value=Math.max(i,r),this.table.state.resizeState.value.width=this.bodyWidth.value}else o.forEach(l=>{!l.width&&!l.minWidth?l.realWidth=80:l.realWidth=Number(l.width||l.minWidth),i+=l.realWidth}),this.scrollX.value=i>r,this.bodyWidth.value=i;const a=this.store.states.fixedColumns.value;if(a.length>0){let l=0;a.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.fixedWidth.value=l}const c=this.store.states.rightFixedColumns.value;if(c.length>0){let l=0;c.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.rightFixedWidth.value=l}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(r=>{var i,o;switch(t){case"columns":(i=r.state)==null||i.onColumnsChange(this);break;case"scrollable":(o=r.state)==null||o.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:L3e}=up,N3e=Je({name:"ElTableFilterPanel",components:{ElCheckbox:up,ElCheckboxGroup:L3e,ElScrollbar:vw,ElTooltip:Bg,ElIcon:Pn,ArrowDown:hw,ArrowUp:YV},directives:{ClickOutside:VG},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:Go.appendTo},setup(e){const t=yn(),{t:n}=Vd(),r=pn("table-filter"),i=t==null?void 0:t.parent;e.column&&!i.filterPanels.value[e.column.id]&&(i.filterPanels.value[e.column.id]=t);const o=se(!1),s=se(null),a=V(()=>e.column&&e.column.filters),c=V(()=>e.column&&e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),l=V({get:()=>{var S;return(((S=e.column)==null?void 0:S.filteredValue)||[])[0]},set:S=>{u.value&&(uu(S)?u.value.splice(0,1):u.value.splice(0,1,S))}}),u=V({get(){return e.column?e.column.filteredValue||[]:[]},set(S){var w;e.column&&((w=e.upDataColumn)==null||w.call(e,"filteredValue",S))}}),d=V(()=>e.column?e.column.filterMultiple:!0),f=S=>S.value===l.value,h=()=>{o.value=!1},p=S=>{S.stopPropagation(),o.value=!o.value},g=()=>{o.value=!1},m=()=>{E(u.value),h()},y=()=>{u.value=[],E(u.value),h()},v=S=>{l.value=S,uu(S)?E([]):E(u.value),h()},E=S=>{var w,C;(w=e.store)==null||w.commit("filterChange",{column:e.column,values:S}),(C=e.store)==null||C.updateAllSelected()};Ye(o,S=>{var w;e.column&&((w=e.upDataColumn)==null||w.call(e,"filterOpened",S))},{immediate:!0});const b=V(()=>{var S,w;return(w=(S=s.value)==null?void 0:S.popperRef)==null?void 0:w.contentRef});return{tooltipVisible:o,multiple:d,filterClassName:c,filteredValue:u,filterValue:l,filters:a,handleConfirm:m,handleReset:y,handleSelect:v,isPropAbsent:uu,isActive:f,t:n,ns:r,showFilterPanel:p,hideFilterPanel:g,popperPaneRef:b,tooltip:s}}});function M3e(e,t,n,r,i,o){const s=Ki("el-checkbox"),a=Ki("el-checkbox-group"),c=Ki("el-scrollbar"),l=Ki("arrow-up"),u=Ki("arrow-down"),d=Ki("el-icon"),f=Ki("el-tooltip"),h=RC("click-outside");return ne(),Ze(f,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo},{content:Re(()=>[e.multiple?(ne(),Te("div",{key:0},[G("div",{class:je(e.ns.e("content"))},[be(c,{"wrap-class":e.ns.e("wrap")},{default:Re(()=>[be(a,{modelValue:e.filteredValue,"onUpdate:modelValue":p=>e.filteredValue=p,class:je(e.ns.e("checkbox-group"))},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(e.filters,p=>(ne(),Ze(s,{key:p.value,value:p.value},{default:Re(()=>[yt(Ue(p.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","class"])]),_:1},8,["wrap-class"])],2),G("div",{class:je(e.ns.e("bottom"))},[G("button",{class:je({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:e.handleConfirm},Ue(e.t("el.table.confirmFilter")),11,["disabled","onClick"]),G("button",{type:"button",onClick:e.handleReset},Ue(e.t("el.table.resetFilter")),9,["onClick"])],2)])):(ne(),Te("ul",{key:1,class:je(e.ns.e("list"))},[G("li",{class:je([e.ns.e("list-item"),{[e.ns.is("active")]:e.isPropAbsent(e.filterValue)}]),onClick:p=>e.handleSelect(null)},Ue(e.t("el.table.clearFilter")),11,["onClick"]),(ne(!0),Te(Ft,null,Rr(e.filters,p=>(ne(),Te("li",{key:p.value,class:je([e.ns.e("list-item"),e.ns.is("active",e.isActive(p))]),label:p.value,onClick:g=>e.handleSelect(p.value)},Ue(p.text),11,["label","onClick"]))),128))],2))]),default:Re(()=>[vn((ne(),Te("span",{class:je([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:e.showFilterPanel},[be(d,null,{default:Re(()=>[St(e.$slots,"filter-icon",{},()=>{var p;return[(p=e.column)!=null&&p.filterOpened?(ne(),Ze(l,{key:0})):(ne(),Ze(u,{key:1}))]})]),_:3})],10,["onClick"])),[[h,e.hideFilterPanel,e.popperPaneRef]])]),_:3},8,["visible","placement","popper-class","append-to"])}var B3e=Rn(N3e,[["render",M3e],["__file","filter-panel.vue"]]);function Hw(e){const t=yn();$4(()=>{n.value.addObserver(t)}),ln(()=>{r(n.value),i(n.value)}),ey(()=>{r(n.value),i(n.value)}),yc(()=>{n.value.removeObserver(t)});const n=V(()=>{const o=e.layout;if(!o)throw new Error("Can not find table layout.");return o}),r=o=>{var s;const a=((s=e.vnode.el)==null?void 0:s.querySelectorAll("colgroup > col"))||[];if(!a.length)return;const c=o.getFlattenColumns(),l={};c.forEach(u=>{l[u.id]=u});for(let u=0,d=a.length;u<d;u++){const f=a[u],h=f.getAttribute("name"),p=l[h];p&&f.setAttribute("width",p.realWidth||p.width)}},i=o=>{var s,a;const c=((s=e.vnode.el)==null?void 0:s.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let u=0,d=c.length;u<d;u++)c[u].setAttribute("width",o.scrollY.value?o.gutterWidth:"0");const l=((a=e.vnode.el)==null?void 0:a.querySelectorAll("th.gutter"))||[];for(let u=0,d=l.length;u<d;u++){const f=l[u];f.style.width=o.scrollY.value?`${o.gutterWidth}px`:"0",f.style.display=o.scrollY.value?"":"none"}};return{tableLayout:n.value,onColumnsChange:r,onScrollableChange:i}}const Sc=Symbol("ElTable");function F3e(e,t){const n=yn(),r=Vt(Sc),i=g=>{g.stopPropagation()},o=(g,m)=>{!m.filters&&m.sortable?p(g,m,!1):m.filterable&&!m.sortable&&i(g),r==null||r.emit("header-click",m,g)},s=(g,m)=>{r==null||r.emit("header-contextmenu",m,g)},a=se(null),c=se(!1),l=se(),u=(g,m)=>{var y,v;if(qn&&!(m.children&&m.children.length>0)&&a.value&&e.border){c.value=!0;const E=r;t("set-drag-visible",!0);const b=E==null?void 0:E.vnode.el,S=b==null?void 0:b.getBoundingClientRect().left,w=(v=(y=n==null?void 0:n.vnode)==null?void 0:y.el)==null?void 0:v.querySelector(`th.${m.id}`),C=w.getBoundingClientRect(),_=C.left-S+30;af(w,"noclick"),l.value={startMouseLeft:g.clientX,startLeft:C.right-S,startColumnLeft:C.left-S,tableLeft:S};const I=E==null?void 0:E.refs.resizeProxy;I.style.left=`${l.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const O=R=>{const F=R.clientX-l.value.startMouseLeft,W=l.value.startLeft+F;I.style.left=`${Math.max(_,W)}px`},L=()=>{if(c.value){const{startColumnLeft:R,startLeft:F}=l.value,J=Number.parseInt(I.style.left,10)-R;m.width=m.realWidth=J,E==null||E.emit("header-dragend",m.width,F-R,m,g),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",c.value=!1,a.value=null,l.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",L),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ll(w,"noclick")},0)};document.addEventListener("mousemove",O),document.addEventListener("mouseup",L)}},d=(g,m)=>{var y;if(m.children&&m.children.length>0)return;const v=g.target;if(!uc(v))return;const E=v==null?void 0:v.closest("th");if(!(!m||!m.resizable||!E)&&!c.value&&e.border){const b=E.getBoundingClientRect(),S=document.body.style,w=((y=E.parentNode)==null?void 0:y.lastElementChild)===E,C=e.allowDragLastColumn||!w;b.width>12&&b.right-g.clientX<8&&C?(S.cursor="col-resize",L0(E,"is-sortable")&&(E.style.cursor="col-resize"),a.value=m):c.value||(S.cursor="",L0(E,"is-sortable")&&(E.style.cursor="pointer"),a.value=null)}},f=()=>{qn&&(document.body.style.cursor="")},h=({order:g,sortOrders:m})=>{if(g==="")return m[0];const y=m.indexOf(g||null);return m[y>m.length-2?0:y+1]},p=(g,m,y)=>{var v;g.stopPropagation();const E=m.order===y?null:y||h(m),b=(v=g.target)==null?void 0:v.closest("th");if(b&&L0(b,"noclick")){ll(b,"noclick");return}if(!m.sortable)return;const S=g.currentTarget;if(["ascending","descending"].some(O=>L0(S,O)&&!m.sortOrders.includes(O)))return;const w=e.store.states;let C=w.sortProp.value,_;const I=w.sortingColumn.value;(I!==m||I===m&&Dg(I.order))&&(I&&(I.order=null),w.sortingColumn.value=m,C=m.property),E?_=m.order=E:_=m.order=null,w.sortProp.value=C,w.sortOrder.value=_,r==null||r.store.commit("changeSortCondition")};return{handleHeaderClick:o,handleHeaderContextMenu:s,handleMouseDown:u,handleMouseMove:d,handleMouseOut:f,handleSortClick:p,handleFilterClick:i}}function U3e(e){const t=Vt(Sc),n=pn("table");return{getHeaderRowStyle:a=>{const c=t==null?void 0:t.props.headerRowStyle;return kt(c)?c.call(null,{rowIndex:a}):c},getHeaderRowClass:a=>{const c=[],l=t==null?void 0:t.props.headerRowClassName;return Yt(l)?c.push(l):kt(l)&&c.push(l.call(null,{rowIndex:a})),c.join(" ")},getHeaderCellStyle:(a,c,l,u)=>{var d;let f=(d=t==null?void 0:t.props.headerCellStyle)!=null?d:{};kt(f)&&(f=f.call(null,{rowIndex:a,columnIndex:c,row:l,column:u}));const h=Uw(c,u.fixed,e.store,l);return dp(h,"left"),dp(h,"right"),Object.assign({},f,h)},getHeaderCellClass:(a,c,l,u)=>{const d=Fw(n.b(),c,u.fixed,e.store,l),f=[u.id,u.order,u.headerAlign,u.className,u.labelClassName,...d];u.children||f.push("is-leaf"),u.sortable&&f.push("is-sortable");const h=t==null?void 0:t.props.headerCellClassName;return Yt(h)?f.push(h):kt(h)&&f.push(h.call(null,{rowIndex:a,columnIndex:c,row:l,column:u})),f.push(n.e("cell")),f.filter(p=>!!p).join(" ")}}}const oJ=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,oJ(n.children))):t.push(n)}),t},sJ=e=>{let t=1;const n=(o,s)=>{if(s&&(o.level=s.level+1,t<o.level&&(t=o.level)),o.children){let a=0;o.children.forEach(c=>{n(c,o),a+=c.colSpan}),o.colSpan=a}else o.colSpan=1};e.forEach(o=>{o.level=1,n(o,void 0)});const r=[];for(let o=0;o<t;o++)r.push([]);return oJ(e).forEach(o=>{o.children?(o.rowSpan=1,o.children.forEach(s=>s.isSubColumn=!0)):o.rowSpan=t-o.level+1,r[o.level-1].push(o)}),r};function j3e(e){const t=Vt(Sc),n=V(()=>sJ(e.store.states.originColumns.value));return{isGroup:V(()=>{const o=n.value.length>1;return o&&t&&(t.state.isGroup.value=!0),o}),toggleAllSelection:o=>{o.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var H3e=Je({name:"ElTableHeader",components:{ElCheckbox:up},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=yn(),r=Vt(Sc),i=pn("table"),o=se({}),{onColumnsChange:s,onScrollableChange:a}=Hw(r),c=(r==null?void 0:r.props.tableLayout)==="auto",l=eo(new Map),u=se();let d;const f=()=>{d=setTimeout(()=>{l.size>0&&(l.forEach((L,R)=>{const F=u.value.querySelector(`.${R.replace(/\s/g,".")}`);if(F){const W=F.getBoundingClientRect().width;L.width=W||L.width}}),l.clear())})};Ye(l,f),xi(()=>{d&&(clearTimeout(d),d=void 0)}),ln(async()=>{await Cn(),await Cn();const{prop:L,order:R}=e.defaultSort;r==null||r.store.commit("sort",{prop:L,order:R,init:!0}),f()});const{handleHeaderClick:h,handleHeaderContextMenu:p,handleMouseDown:g,handleMouseMove:m,handleMouseOut:y,handleSortClick:v,handleFilterClick:E}=F3e(e,t),{getHeaderRowStyle:b,getHeaderRowClass:S,getHeaderCellStyle:w,getHeaderCellClass:C}=U3e(e),{isGroup:_,toggleAllSelection:I,columnRows:O}=j3e(e);return n.state={onColumnsChange:s,onScrollableChange:a},n.filterPanels=o,{ns:i,filterPanels:o,onColumnsChange:s,onScrollableChange:a,columnRows:O,getHeaderRowClass:S,getHeaderRowStyle:b,getHeaderCellClass:C,getHeaderCellStyle:w,handleHeaderClick:h,handleHeaderContextMenu:p,handleMouseDown:g,handleMouseMove:m,handleMouseOut:y,handleSortClick:v,handleFilterClick:E,isGroup:_,toggleAllSelection:I,saveIndexSelection:l,isTableLayoutAuto:c,theadRef:u,updateFixedColumnStyle:f}},render(){const{ns:e,isGroup:t,columnRows:n,getHeaderCellStyle:r,getHeaderCellClass:i,getHeaderRowClass:o,getHeaderRowStyle:s,handleHeaderClick:a,handleHeaderContextMenu:c,handleMouseDown:l,handleMouseMove:u,handleSortClick:d,handleMouseOut:f,store:h,$parent:p,saveIndexSelection:g,isTableLayoutAuto:m}=this;let y=1;return hn("thead",{ref:"theadRef",class:{[e.is("group")]:t}},n.map((v,E)=>hn("tr",{class:o(E),key:E,style:s(E)},v.map((b,S)=>{b.rowSpan>y&&(y=b.rowSpan);const w=i(E,S,v,b);return m&&b.fixed&&g.set(w,b),hn("th",{class:w,colspan:b.colSpan,key:`${b.id}-thead`,rowspan:b.rowSpan,style:r(E,S,v,b),onClick:C=>{var _;(_=C.currentTarget)!=null&&_.classList.contains("noclick")||a(C,b)},onContextmenu:C=>c(C,b),onMousedown:C=>l(C,b),onMousemove:C=>u(C,b),onMouseout:f},[hn("div",{class:["cell",b.filteredValue&&b.filteredValue.length>0?"highlight":""]},[b.renderHeader?b.renderHeader({column:b,$index:S,store:h,_self:p}):b.label,b.sortable&&hn("span",{onClick:C=>d(C,b),class:"caret-wrapper"},[hn("i",{onClick:C=>d(C,b,"ascending"),class:"sort-caret ascending"}),hn("i",{onClick:C=>d(C,b,"descending"),class:"sort-caret descending"})]),b.filterable&&hn(B3e,{store:h,placement:b.filterPlacement||"bottom-start",appendTo:p==null?void 0:p.appendFilterPanelTo,column:b,upDataColumn:(C,_)=>{b[C]=_}},{"filter-icon":()=>b.renderFilterIcon?b.renderFilterIcon({filterOpened:b.filterOpened}):null})])])}))))}});function r8(e,t,n=.03){return e-t>n}function z3e(e){const t=Vt(Sc),n=se(""),r=se(hn("div")),i=(p,g,m)=>{var y,v,E;const b=t,S=n8(p);let w=null;const C=(y=b==null?void 0:b.vnode.el)==null?void 0:y.dataset.prefix;S&&(w=aR({columns:(E=(v=e.store)==null?void 0:v.states.columns.value)!=null?E:[]},S,C),w&&(b==null||b.emit(`cell-${m}`,g,w,S,p))),b==null||b.emit(`row-${m}`,g,w,p)},o=(p,g)=>{i(p,g,"dblclick")},s=(p,g)=>{var m;(m=e.store)==null||m.commit("setCurrentRow",g),i(p,g,"click")},a=(p,g)=>{i(p,g,"contextmenu")},c=rp(p=>{var g;(g=e.store)==null||g.commit("setHoverRow",p)},30),l=rp(()=>{var p;(p=e.store)==null||p.commit("setHoverRow",null)},30),u=p=>{const g=window.getComputedStyle(p,null),m=Number.parseInt(g.paddingLeft,10)||0,y=Number.parseInt(g.paddingRight,10)||0,v=Number.parseInt(g.paddingTop,10)||0,E=Number.parseInt(g.paddingBottom,10)||0;return{left:m,right:y,top:v,bottom:E}},d=(p,g,m)=>{var y;let v=(y=g==null?void 0:g.target)==null?void 0:y.parentNode;for(;p>1&&(v=v==null?void 0:v.nextSibling,!(!v||v.nodeName!=="TR"));)m(v,"hover-row hover-fixed-row"),p--};return{handleDoubleClick:o,handleClick:s,handleContextMenu:a,handleMouseEnter:c,handleMouseLeave:l,handleCellMouseEnter:(p,g,m)=>{var y,v,E,b,S,w,C,_;if(!t)return;const I=t,O=n8(p),L=(y=I==null?void 0:I.vnode.el)==null?void 0:y.dataset.prefix;let R=null;if(O){if(R=aR({columns:(E=(v=e.store)==null?void 0:v.states.columns.value)!=null?E:[]},O,L),!R)return;O.rowSpan>1&&d(O.rowSpan,p,af);const re=I.hoverState={cell:O,column:R,row:g};I==null||I.emit("cell-mouse-enter",re.row,re.column,re.cell,p)}if(!m){((b=Wo)==null?void 0:b.trigger)===O&&((S=Wo)==null||S());return}const F=p.target.querySelector(".cell");if(!(L0(F,`${L}-tooltip`)&&F.childNodes.length))return;const W=document.createRange();W.setStart(F,0),W.setEnd(F,F.childNodes.length);const{width:J,height:Y}=W.getBoundingClientRect(),{width:M,height:B}=F.getBoundingClientRect(),{top:q,left:z,right:A,bottom:T}=u(F),k=z+A,j=q+T;r8(J+k,M)||r8(Y+j,B)||r8(F.scrollWidth,M)?w3e(m,(w=(O==null?void 0:O.innerText)||(O==null?void 0:O.textContent))!=null?w:"",g,R,O,I):((C=Wo)==null?void 0:C.trigger)===O&&((_=Wo)==null||_())},handleCellMouseLeave:p=>{const g=n8(p);if(!g)return;g.rowSpan>1&&d(g.rowSpan,p,ll);const m=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",m==null?void 0:m.row,m==null?void 0:m.column,m==null?void 0:m.cell,p)},tooltipContent:n,tooltipTrigger:r}}function W3e(e){const t=Vt(Sc),n=pn("table");return{getRowStyle:(l,u)=>{const d=t==null?void 0:t.props.rowStyle;return kt(d)?d.call(null,{row:l,rowIndex:u}):d||null},getRowClass:(l,u)=>{var d;const f=[n.e("row")];t!=null&&t.props.highlightCurrentRow&&l===((d=e.store)==null?void 0:d.states.currentRow.value)&&f.push("current-row"),e.stripe&&u%2===1&&f.push(n.em("row","striped"));const h=t==null?void 0:t.props.rowClassName;return Yt(h)?f.push(h):kt(h)&&f.push(h.call(null,{row:l,rowIndex:u})),f},getCellStyle:(l,u,d,f)=>{const h=t==null?void 0:t.props.cellStyle;let p=h??{};kt(h)&&(p=h.call(null,{rowIndex:l,columnIndex:u,row:d,column:f}));const g=Uw(u,e==null?void 0:e.fixed,e.store);return dp(g,"left"),dp(g,"right"),Object.assign({},p,g)},getCellClass:(l,u,d,f,h)=>{const p=Fw(n.b(),u,e==null?void 0:e.fixed,e.store,void 0,h),g=[f.id,f.align,f.className,...p],m=t==null?void 0:t.props.cellClassName;return Yt(m)?g.push(m):kt(m)&&g.push(m.call(null,{rowIndex:l,columnIndex:u,row:d,column:f})),g.push(n.e("cell")),g.filter(y=>!!y).join(" ")},getSpan:(l,u,d,f)=>{let h=1,p=1;const g=t==null?void 0:t.props.spanMethod;if(kt(g)){const m=g({row:l,column:u,rowIndex:d,columnIndex:f});At(m)?(h=m[0],p=m[1]):cn(m)&&(h=m.rowspan,p=m.colspan)}return{rowspan:h,colspan:p}},getColspanRealWidth:(l,u,d)=>{if(u<1)return l[d].realWidth;const f=l.map(({realWidth:h,width:p})=>h||p).slice(d,d+u);return Number(f.reduce((h,p)=>Number(h)+Number(p),-1))}}}const V3e=Je({name:"TableTdWrapper"}),G3e=Je({...V3e,props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(ne(),Te("td",{colspan:e.colspan,rowspan:e.rowspan},[St(t.$slots,"default")],8,["colspan","rowspan"]))}});var J3e=Rn(G3e,[["__file","td-wrapper.vue"]]);function Z3e(e){const t=Vt(Sc),n=pn("table"),{handleDoubleClick:r,handleClick:i,handleContextMenu:o,handleMouseEnter:s,handleMouseLeave:a,handleCellMouseEnter:c,handleCellMouseLeave:l,tooltipContent:u,tooltipTrigger:d}=z3e(e),{getRowStyle:f,getRowClass:h,getCellStyle:p,getCellClass:g,getSpan:m,getColspanRealWidth:y}=W3e(e),v=V(()=>{var C;return(C=e.store)==null?void 0:C.states.columns.value.findIndex(({type:_})=>_==="default")}),E=(C,_)=>{var I;const O=(I=t==null?void 0:t.props)==null?void 0:I.rowKey;return O?Ro(C,O):_},b=(C,_,I,O=!1)=>{const{tooltipEffect:L,tooltipOptions:R,store:F}=e,{indent:W,columns:J}=F.states,Y=h(C,_);let M=!0;return I&&(Y.push(n.em("row",`level-${I.level}`)),M=!!I.display),hn("tr",{style:[M?null:{display:"none"},f(C,_)],class:Y,key:E(C,_),onDblclick:q=>r(q,C),onClick:q=>i(q,C),onContextmenu:q=>o(q,C),onMouseenter:()=>s(_),onMouseleave:a},J.value.map((q,z)=>{const{rowspan:A,colspan:T}=m(C,q,_,z);if(!A||!T)return null;const k=Object.assign({},q);k.realWidth=y(J.value,T,z);const j={store:F,_self:e.context||t,column:k,row:C,$index:_,cellIndex:z,expanded:O};z===v.value&&I&&(j.treeNode={indent:I.level&&I.level*W.value,level:I.level},vi(I.expanded)&&(j.treeNode.expanded=I.expanded,"loading"in I&&(j.treeNode.loading=I.loading),"noLazyChildren"in I&&(j.treeNode.noLazyChildren=I.noLazyChildren)));const re=`${E(C,_)},${z}`,me=k.columnKey||k.rawColumnKey||"",te=q.showOverflowTooltip&&LV({effect:L},R,q.showOverflowTooltip);return hn(J3e,{style:p(_,z,C,q),class:g(_,z,C,q,T-1),key:`${me}${re}`,rowspan:A,colspan:T,onMouseenter:X=>c(X,C,te),onMouseleave:l},{default:()=>S(z,q,j)})}))},S=(C,_,I)=>_.renderCell(I);return{wrappedRowRender:(C,_)=>{const I=e.store,{isRowExpanded:O,assertRowKey:L}=I,{treeData:R,lazyTreeNodeMap:F,childrenColumnName:W,rowKey:J}=I.states,Y=I.states.columns.value;if(Y.some(({type:B})=>B==="expand")){const B=O(C),q=b(C,_,void 0,B),z=t==null?void 0:t.renderExpanded;if(!z)return console.error("[Element Error]renderExpanded is required."),q;const A=[[q]];return(t.props.preserveExpandedContent||B)&&A[0].push(hn("tr",{key:`expanded-row__${q.key}`,style:{display:B?"":"none"}},[hn("td",{colspan:Y.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[z({row:C,$index:_,store:I,expanded:B})])])),A}else if(Object.keys(R.value).length){L();const B=Ro(C,J.value);let q=R.value[B],z=null;q&&(z={expanded:q.expanded,level:q.level,display:!0,noLazyChildren:void 0,loading:void 0},vi(q.lazy)&&(z&&vi(q.loaded)&&q.loaded&&(z.noLazyChildren=!(q.children&&q.children.length)),z.loading=q.loading));const A=[b(C,_,z??void 0)];if(q){let T=0;const k=(re,me)=>{re&&re.length&&me&&re.forEach(te=>{const X={display:me.display&&me.expanded,level:me.level+1,expanded:!1,noLazyChildren:!1,loading:!1},fe=Ro(te,J.value);if(uu(fe))throw new Error("For nested data item, row-key is required.");if(q={...R.value[fe]},q&&(X.expanded=q.expanded,q.level=q.level||X.level,q.display=!!(q.expanded&&X.display),vi(q.lazy)&&(vi(q.loaded)&&q.loaded&&(X.noLazyChildren=!(q.children&&q.children.length)),X.loading=q.loading)),T++,A.push(b(te,_+T,X)),q){const le=F.value[fe]||te[W.value];k(le,q)}})};q.display=!0;const j=F.value[B]||C[W.value];k(j,q)}return A}else return b(C,_,void 0)},tooltipContent:u,tooltipTrigger:d}}const Y3e={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var X3e=Je({name:"ElTableBody",props:Y3e,setup(e){var t;const n=yn(),r=Vt(Sc),i=pn("table"),{wrappedRowRender:o,tooltipContent:s,tooltipTrigger:a}=Z3e(e),{onColumnsChange:c,onScrollableChange:l}=Hw(r),u=[];return Ye((t=e.store)==null?void 0:t.states.hoverRow,(d,f)=>{var h,p;const g=n==null?void 0:n.vnode.el,m=Array.from((g==null?void 0:g.children)||[]).filter(E=>E==null?void 0:E.classList.contains(`${i.e("row")}`));let y=d;const v=(h=m[y])==null?void 0:h.childNodes;if(v!=null&&v.length){let E=0;Array.from(v).reduce((S,w,C)=>{var _,I;return((_=v[C])==null?void 0:_.colSpan)>1&&(E=(I=v[C])==null?void 0:I.colSpan),w.nodeName!=="TD"&&E===0&&S.push(C),E>0&&E--,S},[]).forEach(S=>{var w;for(y=d;y>0;){const C=(w=m[y-1])==null?void 0:w.childNodes;if(C[S]&&C[S].nodeName==="TD"&&C[S].rowSpan>1){af(C[S],"hover-cell"),u.push(C[S]);break}y--}})}else u.forEach(E=>ll(E,"hover-cell")),u.length=0;!((p=e.store)!=null&&p.states.isComplex.value)||!qn||Zpe(()=>{const E=m[f],b=m[d];E&&!E.classList.contains("hover-fixed-row")&&ll(E,"hover-row"),b&&af(b,"hover-row")})}),yc(()=>{var d;(d=Wo)==null||d()}),{ns:i,onColumnsChange:c,onScrollableChange:l,wrappedRowRender:o,tooltipContent:s,tooltipTrigger:a}},render(){const{wrappedRowRender:e,store:t}=this,n=(t==null?void 0:t.states.data.value)||[];return hn("tbody",{tabIndex:-1},[n.reduce((r,i)=>r.concat(e(i,r.length)),[])])}});function Q3e(){const e=Vt(Sc),t=e==null?void 0:e.store,n=V(()=>{var a;return(a=t==null?void 0:t.states.fixedLeafColumnsLength.value)!=null?a:0}),r=V(()=>{var a;return(a=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?a:0}),i=V(()=>{var a;return(a=t==null?void 0:t.states.columns.value.length)!=null?a:0}),o=V(()=>{var a;return(a=t==null?void 0:t.states.fixedColumns.value.length)!=null?a:0}),s=V(()=>{var a;return(a=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?a:0});return{leftFixedLeafCount:n,rightFixedLeafCount:r,columnsCount:i,leftFixedCount:o,rightFixedCount:s,columns:V(()=>{var a;return(a=t==null?void 0:t.states.columns.value)!=null?a:[]})}}function K3e(e){const{columns:t}=Q3e(),n=pn("table");return{getCellClasses:(o,s)=>{const a=o[s],c=[n.e("cell"),a.id,a.align,a.labelClassName,...Fw(n.b(),s,a.fixed,e.store)];return a.className&&c.push(a.className),a.children||c.push(n.is("leaf")),c},getCellStyles:(o,s)=>{const a=Uw(s,o.fixed,e.store);return dp(a,"left"),dp(a,"right"),a},columns:t}}var q3e=Je({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=Vt(Sc),n=pn("table"),{getCellClasses:r,getCellStyles:i,columns:o}=K3e(e),{onScrollableChange:s,onColumnsChange:a}=Hw(t);return{ns:n,onScrollableChange:s,onColumnsChange:a,getCellClasses:r,getCellStyles:i,columns:o}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:r,sumText:i}=this,o=this.store.states.data.value;let s=[];return r?s=r({columns:e,data:o}):e.forEach((a,c)=>{if(c===0){s[c]=i;return}const l=o.map(h=>Number(h[a.property])),u=[];let d=!0;l.forEach(h=>{if(!Number.isNaN(+h)){d=!1;const p=`${h}`.split(".")[1];u.push(p?p.length:0)}});const f=Math.max.apply(null,u);d?s[c]="":s[c]=l.reduce((h,p)=>{const g=Number(p);return Number.isNaN(+g)?h:Number.parseFloat((h+p).toFixed(Math.min(f,20)))},0)}),hn(hn("tfoot",[hn("tr",{},[...e.map((a,c)=>hn("td",{key:c,colspan:a.colSpan,rowspan:a.rowSpan,class:n(e,c),style:t(a,c)},[hn("div",{class:["cell",a.labelClassName]},[s[c]])]))])]))}});function $3e(e){return{setCurrentRow:d=>{e.commit("setCurrentRow",d)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(d,f,h=!0)=>{e.toggleRowSelection(d,f,!1,h),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:d=>{e.clearFilter(d)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(d,f)=>{e.toggleRowExpansionAdapter(d,f)},clearSort:()=>{e.clearSort()},sort:(d,f)=>{e.commit("sort",{prop:d,order:f})},updateKeyChildren:(d,f)=>{e.updateKeyChildren(d,f)}}}function e4e(e,t,n,r){const i=se(!1),o=se(null),s=se(!1),a=M=>{s.value=M},c=se({width:null,height:null,headerHeight:null}),l=se(!1),u={display:"inline-block",verticalAlign:"middle"},d=se(),f=se(0),h=se(0),p=se(0),g=se(0),m=se(0);cu(()=>{var M;t.setHeight((M=e.height)!=null?M:null)}),cu(()=>{var M;t.setMaxHeight((M=e.maxHeight)!=null?M:null)}),Ye(()=>[e.currentRowKey,n.states.rowKey],([M,B])=>{!P(B)||!P(M)||n.setCurrentRowKey(`${M}`)},{immediate:!0}),Ye(()=>e.data,M=>{r.store.commit("setData",M)},{immediate:!0,deep:!0}),cu(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const y=()=>{r.store.commit("setHoverRow",null),r.hoverState&&(r.hoverState=null)},v=(M,B)=>{const{pixelX:q,pixelY:z}=B;Math.abs(q)>=Math.abs(z)&&(r.refs.bodyWrapper.scrollLeft+=B.pixelX/5)},E=V(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),b=V(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),S=()=>{E.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(I)};ln(async()=>{await Cn(),n.updateColumns(),O(),requestAnimationFrame(S);const M=r.vnode.el,B=r.refs.headerWrapper;e.flexible&&M&&M.parentElement&&(M.parentElement.style.minWidth="0"),c.value={width:d.value=M.offsetWidth,height:M.offsetHeight,headerHeight:e.showHeader&&B?B.offsetHeight:null},n.states.columns.value.forEach(q=>{q.filteredValue&&q.filteredValue.length&&r.store.commit("filterChange",{column:q,values:q.filteredValue,silent:!0})}),r.$ready=!0});const w=(M,B)=>{if(!M)return;const q=Array.from(M.classList).filter(z=>!z.startsWith("is-scrolling-"));q.push(t.scrollX.value?B:"is-scrolling-none"),M.className=q.join(" ")},C=M=>{const{tableWrapper:B}=r.refs;w(B,M)},_=M=>{const{tableWrapper:B}=r.refs;return!!(B&&B.classList.contains(M))},I=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){const j="is-scrolling-none";_(j)||C(j);return}const M=r.refs.scrollBarRef.wrapRef;if(!M)return;const{scrollLeft:B,offsetWidth:q,scrollWidth:z}=M,{headerWrapper:A,footerWrapper:T}=r.refs;A&&(A.scrollLeft=B),T&&(T.scrollLeft=B);const k=z-q-1;B>=k?C("is-scrolling-right"):C(B===0?"is-scrolling-left":"is-scrolling-middle")},O=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&_o(r.refs.scrollBarRef.wrapRef,"scroll",I,{passive:!0}),e.fit?ea(r.vnode.el,L):_o(window,"resize",L),ea(r.refs.bodyWrapper,()=>{var M,B;L(),(B=(M=r.refs)==null?void 0:M.scrollBarRef)==null||B.update()}))},L=()=>{var M,B,q,z;const A=r.vnode.el;if(!r.$ready||!A)return;let T=!1;const{width:k,height:j,headerHeight:re}=c.value,me=d.value=A.offsetWidth;k!==me&&(T=!0);const te=A.offsetHeight;(e.height||E.value)&&j!==te&&(T=!0);const X=e.tableLayout==="fixed"?r.refs.headerWrapper:(M=r.refs.tableHeaderRef)==null?void 0:M.$el;e.showHeader&&(X==null?void 0:X.offsetHeight)!==re&&(T=!0),f.value=((B=r.refs.tableWrapper)==null?void 0:B.scrollHeight)||0,p.value=(X==null?void 0:X.scrollHeight)||0,g.value=((q=r.refs.footerWrapper)==null?void 0:q.offsetHeight)||0,m.value=((z=r.refs.appendWrapper)==null?void 0:z.offsetHeight)||0,h.value=f.value-p.value-g.value-m.value,T&&(c.value={width:me,height:te,headerHeight:e.showHeader&&(X==null?void 0:X.offsetHeight)||0},S())},R=fl(),F=V(()=>{const{bodyWidth:M,scrollY:B,gutterWidth:q}=t;return M.value?`${M.value-(B.value?q:0)}px`:""}),W=V(()=>e.maxHeight?"fixed":e.tableLayout),J=V(()=>{if(e.data&&e.data.length)return;let M="100%";e.height&&h.value&&(M=`${h.value}px`);const B=d.value;return{width:B?`${B}px`:"",height:M}}),Y=V(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${p.value+g.value}px)`}:{maxHeight:`${+e.maxHeight-p.value-g.value}px`}:{});return{isHidden:i,renderExpanded:o,setDragVisible:a,isGroup:l,handleMouseLeave:y,handleHeaderFooterMousewheel:v,tableSize:R,emptyBlockStyle:J,resizeProxyVisible:s,bodyWidth:F,resizeState:c,doLayout:S,tableBodyStyles:b,tableLayout:W,scrollbarViewStyle:u,scrollbarStyle:Y}}function t4e(e){const t=se(),n=()=>{const i=e.vnode.el.querySelector(".hidden-columns"),o={childList:!0,subtree:!0},s=e.store.states.updateOrderFns;t.value=new MutationObserver(()=>{s.forEach(a=>a())}),t.value.observe(i,o)};ln(()=>{n()}),yc(()=>{var r;(r=t.value)==null||r.disconnect()})}var n4e={data:{type:Array,default:()=>[]},size:vl,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function aJ(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:i})=>Wi(i))&&(n=[]);const r=i=>{const o={key:`${e.tableLayout}_${i.id}`,style:{},name:void 0};return t?o.style={width:`${i.width}px`}:o.name=i.id,o};return hn("colgroup",{},n.map(i=>hn("col",r(i))))}aJ.props=["columns","tableLayout"];const r4e=()=>{const e=se(),t=(o,s)=>{const a=e.value;a&&a.scrollTo(o,s)},n=(o,s)=>{const a=e.value;a&&_n(s)&&["Top","Left"].includes(o)&&a[`setScroll${o}`](s)};return{scrollBarRef:e,scrollTo:t,setScrollTop:o=>n("Top",o),setScrollLeft:o=>n("Left",o)}};var uR=!1,P0,H7,z7,W5,V5,cJ,G5,W7,V7,G7,lJ,J7,Z7,uJ,dJ;function bs(){if(!uR){uR=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(J7=/\b(iPhone|iP[ao]d)/.exec(e),Z7=/\b(iP[ao]d)/.exec(e),G7=/Android/i.exec(e),uJ=/FBAN\/\w+;/i.exec(e),dJ=/Mobile/i.exec(e),lJ=!!/Win64/.exec(e),t){P0=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,P0&&document&&document.documentMode&&(P0=document.documentMode);var r=/(?:Trident\/(\d+.\d+))/.exec(e);cJ=r?parseFloat(r[1])+4:P0,H7=t[2]?parseFloat(t[2]):NaN,z7=t[3]?parseFloat(t[3]):NaN,W5=t[4]?parseFloat(t[4]):NaN,W5?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),V5=t&&t[1]?parseFloat(t[1]):NaN):V5=NaN}else P0=H7=z7=V5=W5=NaN;if(n){if(n[1]){var i=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);G5=i?parseFloat(i[1].replace("_",".")):!0}else G5=!1;W7=!!n[2],V7=!!n[3]}else G5=W7=V7=!1}}var Y7={ie:function(){return bs()||P0},ieCompatibilityMode:function(){return bs()||cJ>P0},ie64:function(){return Y7.ie()&&lJ},firefox:function(){return bs()||H7},opera:function(){return bs()||z7},webkit:function(){return bs()||W5},safari:function(){return Y7.webkit()},chrome:function(){return bs()||V5},windows:function(){return bs()||W7},osx:function(){return bs()||G5},linux:function(){return bs()||V7},iphone:function(){return bs()||J7},mobile:function(){return bs()||J7||Z7||G7||dJ},nativeApp:function(){return bs()||uJ},android:function(){return bs()||G7},ipad:function(){return bs()||Z7}},i4e=Y7,o4e=!!(typeof window<"u"&&window.document&&window.document.createElement),s4e={canUseDOM:o4e},fJ=s4e,hJ;fJ.canUseDOM&&(hJ=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function a4e(e,t){if(!fJ.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var i=document.createElement("div");i.setAttribute(n,"return;"),r=typeof i[n]=="function"}return!r&&hJ&&e==="wheel"&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var c4e=a4e,dR=10,fR=40,hR=800;function pJ(e){var t=0,n=0,r=0,i=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*dR,i=n*dR,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||i)&&e.deltaMode&&(e.deltaMode==1?(r*=fR,i*=fR):(r*=hR,i*=hR)),r&&!t&&(t=r<1?-1:1),i&&!n&&(n=i<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:i}}pJ.getEventType=function(){return i4e.firefox()?"DOMMouseScroll":c4e("wheel")?"wheel":"mousewheel"};var l4e=pJ;/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/const u4e=function(e,t){if(e&&e.addEventListener){const n=function(r){const i=l4e(r);t&&Reflect.apply(t,this,[r,i])};e.addEventListener("wheel",n,{passive:!0})}},d4e={beforeMount(e,t){u4e(e,t.value)}};let f4e=1;const h4e=Je({name:"ElTable",directives:{Mousewheel:d4e},components:{TableHeader:H3e,TableBody:X3e,TableFooter:q3e,ElScrollbar:vw,hColgroup:aJ},props:n4e,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t}=Vd(),n=pn("table"),r=yn();ui(Sc,r);const i=k3e(r,e);r.store=i;const o=new D3e({store:r.store,table:r,fit:e.fit,showHeader:e.showHeader});r.layout=o;const s=V(()=>(i.states.data.value||[]).length===0),{setCurrentRow:a,getSelectionRows:c,toggleRowSelection:l,clearSelection:u,clearFilter:d,toggleAllSelection:f,toggleRowExpansion:h,clearSort:p,sort:g,updateKeyChildren:m}=$3e(i),{isHidden:y,renderExpanded:v,setDragVisible:E,isGroup:b,handleMouseLeave:S,handleHeaderFooterMousewheel:w,tableSize:C,emptyBlockStyle:_,resizeProxyVisible:I,bodyWidth:O,resizeState:L,doLayout:R,tableBodyStyles:F,tableLayout:W,scrollbarViewStyle:J,scrollbarStyle:Y}=e4e(e,o,i,r),{scrollBarRef:M,scrollTo:B,setScrollLeft:q,setScrollTop:z}=r4e(),A=rp(R,50),T=`${n.namespace.value}-table_${f4e++}`;r.tableId=T,r.state={isGroup:b,resizeState:L,doLayout:R,debouncedUpdateLayout:A};const k=V(()=>{var me;return(me=e.sumText)!=null?me:t("el.table.sumText")}),j=V(()=>{var me;return(me=e.emptyText)!=null?me:t("el.table.emptyText")}),re=V(()=>sJ(i.states.originColumns.value)[0]);return t4e(r),xi(()=>{A.cancel()}),{ns:n,layout:o,store:i,columns:re,handleHeaderFooterMousewheel:w,handleMouseLeave:S,tableId:T,tableSize:C,isHidden:y,isEmpty:s,renderExpanded:v,resizeProxyVisible:I,resizeState:L,isGroup:b,bodyWidth:O,tableBodyStyles:F,emptyBlockStyle:_,debouncedUpdateLayout:A,setCurrentRow:a,getSelectionRows:c,toggleRowSelection:l,clearSelection:u,clearFilter:d,toggleAllSelection:f,toggleRowExpansion:h,clearSort:p,doLayout:R,sort:g,updateKeyChildren:m,t,setDragVisible:E,context:r,computedSumText:k,computedEmptyText:j,tableLayout:W,scrollbarViewStyle:J,scrollbarStyle:Y,scrollBarRef:M,scrollTo:B,setScrollLeft:q,setScrollTop:z,allowDragLastColumn:e.allowDragLastColumn}}});function p4e(e,t,n,r,i,o){const s=Ki("hColgroup"),a=Ki("table-header"),c=Ki("table-body"),l=Ki("table-footer"),u=Ki("el-scrollbar"),d=RC("mousewheel");return ne(),Te("div",{ref:"tableWrapper",class:je([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Ut(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:e.handleMouseLeave},[G("div",{class:je(e.ns.e("inner-wrapper"))},[G("div",{ref:"hiddenColumns",class:"hidden-columns"},[St(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?vn((ne(),Te("div",{key:0,ref:"headerWrapper",class:je(e.ns.e("header-wrapper"))},[G("table",{ref:"tableHeader",class:je(e.ns.e("header")),style:Ut(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[be(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),be(a,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[d,e.handleHeaderFooterMousewheel]]):Ke("v-if",!0),G("div",{ref:"bodyWrapper",class:je(e.ns.e("body-wrapper"))},[be(u,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:f=>e.$emit("scroll",f)},{default:Re(()=>[G("table",{ref:"tableBody",class:je(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Ut({width:e.bodyWidth,tableLayout:e.tableLayout})},[be(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(ne(),Ze(a,{key:0,ref:"tableHeaderRef",class:je(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):Ke("v-if",!0),be(c,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(ne(),Ze(l,{key:1,class:je(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):Ke("v-if",!0)],6),e.isEmpty?(ne(),Te("div",{key:0,ref:"emptyBlock",style:Ut(e.emptyBlockStyle),class:je(e.ns.e("empty-block"))},[G("span",{class:je(e.ns.e("empty-text"))},[St(e.$slots,"empty",{},()=>[yt(Ue(e.computedEmptyText),1)])],2)],6)):Ke("v-if",!0),e.$slots.append?(ne(),Te("div",{key:1,ref:"appendWrapper",class:je(e.ns.e("append-wrapper"))},[St(e.$slots,"append")],2)):Ke("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native","onScroll"])],2),e.showSummary&&e.tableLayout==="fixed"?vn((ne(),Te("div",{key:1,ref:"footerWrapper",class:je(e.ns.e("footer-wrapper"))},[G("table",{class:je(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Ut(e.tableBodyStyles)},[be(s,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),be(l,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[_r,!e.isEmpty],[d,e.handleHeaderFooterMousewheel]]):Ke("v-if",!0),e.border||e.isGroup?(ne(),Te("div",{key:2,class:je(e.ns.e("border-left-patch"))},null,2)):Ke("v-if",!0)],2),vn(G("div",{ref:"resizeProxy",class:je(e.ns.e("column-resize-proxy"))},null,2),[[_r,e.resizeProxyVisible]])],46,["data-prefix","onMouseleave"])}var m4e=Rn(h4e,[["render",p4e],["__file","table.vue"]]);const g4e={selection:"table-column--selection",expand:"table__expand-column"},v4e={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},y4e=e=>g4e[e]||"",E4e={selection:{renderHeader({store:e,column:t}){var n;function r(){return e.states.data.value&&e.states.data.value.length===0}return hn(up,{disabled:r(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":(n=e.toggleAllSelection)!=null?n:void 0,modelValue:e.states.isAllSelected.value,ariaLabel:t.label})},renderCell({row:e,column:t,store:n,$index:r}){return hn(up,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:i=>i.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:t.label})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const r=e.index;return _n(r)?n=t+r:kt(r)&&(n=r(t)),hn("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:r}){const{ns:i}=n,o=[i.e("expand-icon")];return!e.renderExpand&&r&&o.push(i.em("expand-icon","expanded")),hn("div",{class:o,onClick:function(a){a.stopPropagation(),n.toggleRowExpansion(t)}},{default:()=>e.renderExpand?[e.renderExpand({expanded:r})]:[hn(Pn,null,{default:()=>[hn(pw)]})]})},sortable:!1,resizable:!1}};function b4e({row:e,column:t,$index:n}){var r;const i=t.property,o=i&&GV(e,i).value;return t&&t.formatter?t.formatter(e,t,o,n):((r=o==null?void 0:o.toString)==null?void 0:r.call(o))||""}function S4e({row:e,treeNode:t,store:n},r=!1){const{ns:i}=n;if(!t)return r?[hn("span",{class:i.e("placeholder")})]:null;const o=[],s=function(a){a.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&o.push(hn("span",{class:i.e("indent"),style:{"padding-left":`${t.indent}px`}})),vi(t.expanded)&&!t.noLazyChildren){const a=[i.e("expand-icon"),t.expanded?i.em("expand-icon","expanded"):""];let c=pw;t.loading&&(c=dl),o.push(hn("div",{class:a,onClick:s},{default:()=>[hn(Pn,{class:{[i.is("loading")]:t.loading}},{default:()=>[hn(c)]})]}))}else o.push(hn("span",{class:i.e("placeholder")}));return o}function pR(e,t){return e.reduce((n,r)=>(n[r]=r,n),t)}function A4e(e,t){const n=yn();return{registerComplexWatchers:()=>{const o=["fixed"],s={realWidth:"width",realMinWidth:"minWidth"},a=pR(o,s);Object.keys(a).forEach(c=>{const l=s[c];zn(t,l)&&Ye(()=>t[l],u=>{let d=u;l==="width"&&c==="realWidth"&&(d=Bw(u)),l==="minWidth"&&c==="realMinWidth"&&(d=eJ(u)),n.columnConfig.value[l]=d,n.columnConfig.value[c]=d;const f=l==="fixed";e.value.store.scheduleLayout(f)})})},registerNormalWatchers:()=>{const o=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter"],s=["showOverflowTooltip"],a={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},c=pR(o,a);Object.keys(c).forEach(l=>{const u=a[l];zn(t,u)&&Ye(()=>t[u],d=>{n.columnConfig.value[l]=d})}),s.forEach(l=>{zn(e.value.props,l)&&Ye(()=>e.value.props[l],u=>{n.columnConfig.value[l]=u})})}}}function C4e(e,t,n){const r=yn(),i=se(""),o=se(!1),s=se(),a=se(),c=pn("table");cu(()=>{s.value=e.align?`is-${e.align}`:null,s.value}),cu(()=>{a.value=e.headerAlign?`is-${e.headerAlign}`:s.value,a.value});const l=V(()=>{let b=r.vnode.vParent||r.parent;for(;b&&!b.tableId&&!b.columnId;)b=b.vnode.vParent||b.parent;return b}),u=V(()=>{const{store:b}=r.parent;if(!b)return!1;const{treeData:S}=b.states,w=S.value;return w&&Object.keys(w).length>0}),d=se(Bw(e.width)),f=se(eJ(e.minWidth)),h=b=>(d.value&&(b.width=d.value),f.value&&(b.minWidth=f.value),!d.value&&f.value&&(b.width=void 0),b.minWidth||(b.minWidth=80),b.realWidth=Number(Wi(b.width)?b.minWidth:b.width),b),p=b=>{const S=b.type,w=E4e[S]||{};Object.keys(w).forEach(_=>{const I=w[_];_!=="className"&&!Wi(I)&&(b[_]=I)});const C=y4e(S);if(C){const _=`${P(c.namespace)}-${C}`;b.className=b.className?`${b.className} ${_}`:_}return b},g=b=>{At(b)?b.forEach(w=>S(w)):S(b);function S(w){var C;((C=w==null?void 0:w.type)==null?void 0:C.name)==="ElTableColumn"&&(w.vParent=r)}};return{columnId:i,realAlign:s,isSubColumn:o,realHeaderAlign:a,columnOrTableParent:l,setColumnWidth:h,setColumnForcedProps:p,setColumnRenders:b=>{e.renderHeader||b.type!=="selection"&&(b.renderHeader=w=>(r.columnConfig.value.label,St(t,"header",w,()=>[b.label]))),t["filter-icon"]&&(b.renderFilterIcon=w=>St(t,"filter-icon",w)),t.expand&&(b.renderExpand=w=>St(t,"expand",w));let S=b.renderCell;return b.type==="expand"?(b.renderCell=w=>hn("div",{class:"cell"},[S(w)]),n.value.renderExpanded=w=>t.default?t.default(w):t.default):(S=S||b4e,b.renderCell=w=>{let C=null;if(t.default){const F=t.default(w);C=F.some(W=>W.type!==mo)?F:S(w)}else C=S(w);const{columns:_}=n.value.store.states,I=_.value.findIndex(F=>F.type==="default"),O=u.value&&w.cellIndex===I,L=S4e(w,O),R={class:"cell",style:{}};return b.showOverflowTooltip&&(R.class=`${R.class} ${P(c.namespace)}-tooltip`,R.style={width:`${(w.column.realWidth||Number(w.column.width))-1}px`}),g(C),hn("div",R,[L,C])}),b},getPropsData:(...b)=>b.reduce((S,w)=>(At(w)&&w.forEach(C=>{S[C]=e[C]}),S),{}),getColumnElIndex:(b,S)=>Array.prototype.indexOf.call(b,S),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",r.columnConfig.value)}}}var w4e={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let T4e=1;var mJ=Je({name:"ElTableColumn",components:{ElCheckbox:up},props:w4e,setup(e,{slots:t}){const n=yn(),r=se({}),i=V(()=>{let E=n.parent;for(;E&&!E.tableId;)E=E.parent;return E}),{registerNormalWatchers:o,registerComplexWatchers:s}=A4e(i,e),{columnId:a,isSubColumn:c,realHeaderAlign:l,columnOrTableParent:u,setColumnWidth:d,setColumnForcedProps:f,setColumnRenders:h,getPropsData:p,getColumnElIndex:g,realAlign:m,updateColumnOrder:y}=C4e(e,t,i),v=u.value;a.value=`${"tableId"in v&&v.tableId||"columnId"in v&&v.columnId}_column_${T4e++}`,$4(()=>{c.value=i.value!==v;const E=e.type||"default",b=e.sortable===""?!0:e.sortable,S=E==="selection"?!1:Wi(e.showOverflowTooltip)?v.props.showOverflowTooltip:e.showOverflowTooltip,w=Wi(e.tooltipFormatter)?v.props.tooltipFormatter:e.tooltipFormatter,C={...v4e[E],id:a.value,type:E,property:e.prop||e.property,align:m,headerAlign:l,showOverflowTooltip:S,tooltipFormatter:w,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:b,index:e.index,rawColumnKey:n.vnode.key};let R=p(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);R=E3e(C,R),R=S3e(h,d,f)(R),r.value=R,o(),s()}),ln(()=>{var E,b;const S=u.value,w=c.value?(E=S.vnode.el)==null?void 0:E.children:(b=S.refs.hiddenColumns)==null?void 0:b.children,C=()=>g(w||[],n.vnode.el);r.value.getColumnIndex=C,C()>-1&&i.value.store.commit("insertColumn",r.value,c.value?"columnConfig"in S&&S.columnConfig.value:null,y)}),xi(()=>{const E=r.value.getColumnIndex;(E?E():-1)>-1&&i.value.store.commit("removeColumn",r.value,c.value?"columnConfig"in v&&v.columnConfig.value:null,y)}),n.columnId=a.value,n.columnConfig=r},render(){var e,t,n;try{const r=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),i=[];if(At(r))for(const s of r)((n=s.type)==null?void 0:n.name)==="ElTableColumn"||s.shapeFlag&2?i.push(s):s.type===Ft&&At(s.children)&&s.children.forEach(a=>{(a==null?void 0:a.patchFlag)!==1024&&!Yt(a==null?void 0:a.children)&&i.push(a)});return hn("div",i)}catch{return hn("div",[])}}});const zw=Vi(m4e,{TableColumn:mJ}),Ww=Gd(mJ);function I4e(e,t){let n;const r=se(!1),i=eo({...e,originalPosition:"",originalOverflow:"",visible:!1});function o(h){i.text=h}function s(){const h=i.parent,p=f.ns;if(!h.vLoadingAddClassList){let g=h.getAttribute("loading-number");g=Number.parseInt(g)-1,g?h.setAttribute("loading-number",g.toString()):(ll(h,p.bm("parent","relative")),h.removeAttribute("loading-number")),ll(h,p.bm("parent","hidden"))}a(),d.unmount()}function a(){var h,p;(p=(h=f.$el)==null?void 0:h.parentNode)==null||p.removeChild(f.$el)}function c(){var h;e.beforeClose&&!e.beforeClose()||(r.value=!0,clearTimeout(n),n=setTimeout(l,400),i.visible=!1,(h=e.closed)==null||h.call(e))}function l(){if(!r.value)return;const h=i.parent;r.value=!1,h.vLoadingAddClassList=void 0,s()}const d=tW(Je({name:"ElLoading",setup(h,{expose:p}){const{ns:g,zIndex:m}=JV("loading");return p({ns:g,zIndex:m}),()=>{const y=i.spinner||i.svg,v=hn("svg",{class:"circular",viewBox:i.svgViewBox?i.svgViewBox:"0 0 50 50",...y?{innerHTML:y}:{}},[hn("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),E=i.text?hn("p",{class:g.b("text")},[i.text]):void 0;return hn(Cu,{name:g.b("fade"),onAfterLeave:l},{default:Re(()=>[vn(be("div",{style:{backgroundColor:i.background||""},class:[g.b("mask"),i.customClass,i.fullscreen?"is-fullscreen":""]},[hn("div",{class:g.b("spinner")},[v,E])]),[[_r,i.visible]])])})}}}));Object.assign(d._context,t??{});const f=d.mount(document.createElement("div"));return{...Ud(i),setText:o,removeElLoadingChild:a,close:c,handleAfterLeave:l,vm:f,get $el(){return f.$el}}}let k2;const Vw=function(e={}){if(!qn)return;const t=P4e(e);if(t.fullscreen&&k2)return k2;const n=I4e({...t,closed:()=>{var i;(i=t.closed)==null||i.call(t),t.fullscreen&&(k2=void 0)}},Vw._context);O4e(t,t.parent,n),mR(t,t.parent,n),t.parent.vLoadingAddClassList=()=>mR(t,t.parent,n);let r=t.parent.getAttribute("loading-number");return r?r=`${Number.parseInt(r)+1}`:r="1",t.parent.setAttribute("loading-number",r),t.parent.appendChild(n.$el),Cn(()=>n.visible.value=t.visible),t.fullscreen&&(k2=n),n},P4e=e=>{var t,n,r,i;let o;return Yt(e.target)?o=(t=document.querySelector(e.target))!=null?t:document.body:o=e.target||document.body,{parent:o===document.body||e.body?document.body:o,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:o===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(r=e.lock)!=null?r:!1,customClass:e.customClass||"",visible:(i=e.visible)!=null?i:!0,beforeClose:e.beforeClose,closed:e.closed,target:o}},O4e=async(e,t,n)=>{const{nextZIndex:r}=n.vm.zIndex||n.vm._.exposed.zIndex,i={};if(e.fullscreen)n.originalPosition.value=I0(document.body,"position"),n.originalOverflow.value=I0(document.body,"overflow"),i.zIndex=r();else if(e.parent===document.body){n.originalPosition.value=I0(document.body,"position"),await Cn();for(const o of["top","left"]){const s=o==="top"?"scrollTop":"scrollLeft";i[o]=`${e.target.getBoundingClientRect()[o]+document.body[s]+document.documentElement[s]-Number.parseInt(I0(document.body,`margin-${o}`),10)}px`}for(const o of["height","width"])i[o]=`${e.target.getBoundingClientRect()[o]}px`}else n.originalPosition.value=I0(t,"position");for(const[o,s]of Object.entries(i))n.$el.style[o]=s},mR=(e,t,n)=>{const r=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?ll(t,r.bm("parent","relative")):af(t,r.bm("parent","relative")),e.fullscreen&&e.lock?af(t,r.bm("parent","hidden")):ll(t,r.bm("parent","hidden"))};Vw._context=null;const k1=Symbol("ElLoading"),E0=e=>`element-loading-${gl(e)}`,gR=(e,t)=>{var n,r,i,o;const s=t.instance,a=h=>cn(t.value)?t.value[h]:void 0,c=h=>{const p=Yt(h)&&(s==null?void 0:s[h])||h;return se(p)},l=h=>c(a(h)||e.getAttribute(E0(h))),u=(n=a("fullscreen"))!=null?n:t.modifiers.fullscreen,d={text:l("text"),svg:l("svg"),svgViewBox:l("svgViewBox"),spinner:l("spinner"),background:l("background"),customClass:l("customClass"),fullscreen:u,target:(r=a("target"))!=null?r:u?void 0:e,body:(i=a("body"))!=null?i:t.modifiers.body,lock:(o=a("lock"))!=null?o:t.modifiers.lock},f=Vw(d);f._context=Gw._context,e[k1]={options:d,instance:f}},_4e=(e,t)=>{for(const n of Object.keys(e))En(e[n])&&(e[n].value=t[n])},Gw={mounted(e,t){t.value&&gR(e,t)},updated(e,t){const n=e[k1];if(!t.value){n==null||n.instance.close(),e[k1]=null;return}n?_4e(n.options,cn(t.value)?t.value:{text:e.getAttribute(E0("text")),svg:e.getAttribute(E0("svg")),svgViewBox:e.getAttribute(E0("svgViewBox")),spinner:e.getAttribute(E0("spinner")),background:e.getAttribute(E0("background")),customClass:e.getAttribute(E0("customClass"))}):gR(e,t)},unmounted(e){var t;(t=e[k1])==null||t.instance.close(),e[k1]=null}};Gw._context=null;const gJ=["primary","success","info","warning","error"],vJ=["top","top-left","top-right","bottom","bottom-left","bottom-right"],Xm="top",jo=Sy({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:qn?document.body:void 0}),R4e=Un({customClass:{type:String,default:jo.customClass},dangerouslyUseHTMLString:{type:Boolean,default:jo.dangerouslyUseHTMLString},duration:{type:Number,default:jo.duration},icon:{type:ks,default:jo.icon},id:{type:String,default:jo.id},message:{type:Mt([String,Object,Function]),default:jo.message},onClose:{type:Mt(Function),default:jo.onClose},showClose:{type:Boolean,default:jo.showClose},type:{type:String,values:gJ,default:jo.type},plain:{type:Boolean,default:jo.plain},offset:{type:Number,default:jo.offset},placement:{type:String,values:vJ,default:jo.placement},zIndex:{type:Number,default:jo.zIndex},grouping:{type:Boolean,default:jo.grouping},repeatNum:{type:Number,default:jo.repeatNum}}),k4e={destroy:()=>!0},dc=X4({}),x4e=e=>(dc[e]||(dc[e]=X4([])),dc[e]),D4e=(e,t)=>{const n=dc[t]||[],r=n.findIndex(s=>s.id===e),i=n[r];let o;return r>0&&(o=n[r-1]),{current:i,prev:o}},L4e=(e,t)=>{const{prev:n}=D4e(e,t);return n?n.vm.exposed.bottom.value:0},N4e=(e,t,n)=>(dc[n]||[]).findIndex(o=>o.id===e)>0?16:t,M4e=Je({name:"ElMessage"}),B4e=Je({...M4e,props:R4e,emits:k4e,setup(e,{expose:t,emit:n}){const r=e,{Close:i}=J1e,o=se(!1),{ns:s,zIndex:a}=JV("message"),{currentZIndex:c,nextZIndex:l}=a,u=se(),d=se(!1),f=se(0);let h;const p=V(()=>r.type?r.type==="error"?"danger":r.type:"info"),g=V(()=>{const R=r.type;return{[s.bm("icon",R)]:R&&R_[R]}}),m=V(()=>r.icon||R_[r.type]||""),y=V(()=>r.placement||Xm),v=V(()=>L4e(r.id,y.value)),E=V(()=>N4e(r.id,r.offset,y.value)+v.value),b=V(()=>f.value+E.value),S=V(()=>y.value.includes("left")?s.is("left"):y.value.includes("right")?s.is("right"):s.is("center")),w=V(()=>y.value.startsWith("top")?"top":"bottom"),C=V(()=>({[w.value]:`${E.value}px`,zIndex:c.value}));function _(){r.duration!==0&&({stop:h}=x7(()=>{O()},r.duration))}function I(){h==null||h()}function O(){d.value=!1,Cn(()=>{var R;o.value||((R=r.onClose)==null||R.call(r),n("destroy"))})}function L({code:R}){R===so.esc&&O()}return ln(()=>{_(),l(),d.value=!0}),Ye(()=>r.repeatNum,()=>{I(),_()}),_o(document,"keydown",L),ea(u,()=>{f.value=u.value.getBoundingClientRect().height}),t({visible:d,bottom:b,close:O}),(R,F)=>(ne(),Ze(Cu,{name:P(s).b("fade"),onBeforeEnter:W=>o.value=!0,onBeforeLeave:R.onClose,onAfterLeave:W=>R.$emit("destroy"),persisted:""},{default:Re(()=>[vn(G("div",{id:R.id,ref_key:"messageRef",ref:u,class:je([P(s).b(),{[P(s).m(R.type)]:R.type},P(s).is("closable",R.showClose),P(s).is("plain",R.plain),P(s).is("bottom",P(w)==="bottom"),P(S),R.customClass]),style:Ut(P(C)),role:"alert",onMouseenter:I,onMouseleave:_},[R.repeatNum>1?(ne(),Ze(P(F2e),{key:0,value:R.repeatNum,type:P(p),class:je(P(s).e("badge"))},null,8,["value","type","class"])):Ke("v-if",!0),P(m)?(ne(),Ze(P(Pn),{key:1,class:je([P(s).e("icon"),P(g)])},{default:Re(()=>[(ne(),Ze(Br(P(m))))]),_:1},8,["class"])):Ke("v-if",!0),St(R.$slots,"default",{},()=>[R.dangerouslyUseHTMLString?(ne(),Te(Ft,{key:1},[Ke(" Caution here, message could've been compromised, never use user's input as message "),G("p",{class:je(P(s).e("content")),innerHTML:R.message},null,10,["innerHTML"])],2112)):(ne(),Te("p",{key:0,class:je(P(s).e("content"))},Ue(R.message),3))]),R.showClose?(ne(),Ze(P(Pn),{key:2,class:je(P(s).e("closeBtn")),onClick:Nr(O,["stop"])},{default:Re(()=>[be(P(i))]),_:1},8,["class","onClick"])):Ke("v-if",!0)],46,["id"]),[[_r,d.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var F4e=Rn(B4e,[["__file","message.vue"]]);let U4e=1;const j4e=e=>{if(!e.appendTo)e.appendTo=document.body;else if(Yt(e.appendTo)){let n=document.querySelector(e.appendTo);uc(n)||(n=document.body),e.appendTo=n}},H4e=e=>{!e.placement&&Yt(as.placement)&&as.placement&&(e.placement=as.placement),e.placement||(e.placement=Xm),vJ.includes(e.placement)||(e.placement=Xm)},yJ=e=>{const t=!e||Yt(e)||Da(e)||kt(e)?{message:e}:e,n={...jo,...t};return j4e(n),H4e(n),vi(as.grouping)&&!n.grouping&&(n.grouping=as.grouping),_n(as.duration)&&n.duration===3e3&&(n.duration=as.duration),_n(as.offset)&&n.offset===16&&(n.offset=as.offset),vi(as.showClose)&&!n.showClose&&(n.showClose=as.showClose),vi(as.plain)&&!n.plain&&(n.plain=as.plain),n},z4e=e=>{const t=e.props.placement||Xm,n=dc[t],r=n.indexOf(e);if(r===-1)return;n.splice(r,1);const{handler:i}=e;i.close()},W4e=({appendTo:e,...t},n)=>{const r=`message_${U4e++}`,i=t.onClose,o=document.createElement("div"),s={...t,id:r,onClose:()=>{i==null||i(),z4e(u)},onDestroy:()=>{V3(null,o)}},a=be(F4e,s,kt(s.message)||Da(s.message)?{default:kt(s.message)?s.message:()=>s.message}:null);a.appContext=n||lf._context,V3(a,o),e.appendChild(o.firstElementChild);const c=a.component,u={id:r,vnode:a,vm:c,handler:{close:()=>{c.exposed.close()}},props:a.component.props};return u},lf=(e={},t)=>{if(!qn)return{close:()=>{}};const n=yJ(e),r=x4e(n.placement||Xm);if(n.grouping&&r.length){const o=r.find(({vnode:s})=>{var a;return((a=s.props)==null?void 0:a.message)===n.message});if(o)return o.props.repeatNum+=1,o.props.type=n.type,o.handler}if(_n(as.max)&&r.length>=as.max)return{close:()=>{}};const i=W4e(n,t);return r.push(i),i.handler};gJ.forEach(e=>{lf[e]=(t={},n)=>{const r=yJ(t);return lf({...r,type:e},n)}});function V4e(e){for(const t in dc)if(zn(dc,t)){const n=[...dc[t]];for(const r of n)(!e||e===r.props.type)&&r.handler.close()}}function G4e(e){if(!dc[e])return;[...dc[e]].forEach(n=>n.handler.close())}lf.closeAll=V4e;lf.closeAllByPlacement=G4e;lf._context=null;const Zt=$pe(lf,"$message"),EJ="data:image/png;base64,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";var bJ=(e=>(e[e.Off=0]="Off",e[e.On=1]="On",e))(bJ||{}),SJ=(e=>(e[e.SDCPFromPC=0]="SDCPFromPC",e[e.SDCPFromWebPC=1]="SDCPFromWebPC",e[e.SDCPFromWeb=2]="SDCPFromWeb",e[e.SDCPFromApp=3]="SDCPFromApp",e[e.SDCPFromServer=4]="SDCPFromServer",e))(SJ||{}),ic=(e=>(e.Standard="0303",e.Lite="0302",e))(ic||{}),b0=(e=>(e[e.CheckDuringInsertion=0]="CheckDuringInsertion",e[e.CheckDuringPowerOn=1]="CheckDuringPowerOn",e[e.AutoFeed=2]="AutoFeed",e))(b0||{}),jg=(e=>(e.Idle="idle",e.Loading="loading",e.UnLoad="unload",e.Printing="printing",e.reloading="reloading",e))(jg||{}),ds=(e=>(e.User="user",e.Rfid="rfid",e.Null="null",e))(ds||{}),Yn=(e=>(e[e.CmdStatusRefresh=0]="CmdStatusRefresh",e[e.CmdAttributesRefresh=1]="CmdAttributesRefresh",e[e.CmdStartPrint=128]="CmdStartPrint",e[e.CmdPausePrint=129]="CmdPausePrint",e[e.CmdStopPrint=130]="CmdStopPrint",e[e.CmdResumePrint=131]="CmdResumePrint",e[e.CmdStopFeeding=132]="CmdStopFeeding",e[e.CmdSkipPreheating=133]="CmdSkipPreheating",e[e.CmdFileTransferAbort=255]="CmdFileTransferAbort",e[e.CmdFileRename=257]="CmdFileRename",e[e.CmdGetFileList=258]="CmdGetFileList",e[e.CmdDeleteFiles=259]="CmdDeleteFiles",e[e.CmdGetFileInfo=260]="CmdGetFileInfo",e[e.CmdGetHistoryTasks=320]="CmdGetHistoryTasks",e[e.CmdGetTaskDetails=321]="CmdGetTaskDetails",e[e.CmdDeleteHistory=322]="CmdDeleteHistory",e[e.CmdExportTimeLapse=323]="CmdExportTimeLapse",e[e.CmdVideoStreamControl=386]="CmdVideoStreamControl",e[e.CmdTimeLapseControl=387]="CmdTimeLapseControl",e[e.CmdXYZMoveControl=401]="CmdXYZMoveControl",e[e.CmdXYZHomeControl=402]="CmdXYZHomeControl",e[e.CmdDeviceStatusControl=403]="CmdDeviceStatusControl",e[e.CmdAMSGetSlotList=500]="CmdAMSGetSlotList",e[e.CmdAMSSetFilamentInfo=501]="CmdAMSSetFilamentInfo",e[e.CmdAMSPrintWithMapping=502]="CmdAMSPrintWithMapping",e[e.CmdAMSGetMappingInfo=503]="CmdAMSGetMappingInfo",e[e.CmdAMSLoading=504]="CmdAMSLoading",e[e.CmdAMSUnloading=505]="CmdAMSUnloading",e))(Yn||{});const i8=()=>qi.dev===!0,Pe={log:(...e)=>{if(i8()){const t=new Date,n=`${t.getFullYear()}.${String(t.getMonth()+1).padStart(2,"0")}.${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padStart(3,"0")}`;console.log(`[${n}]`,...e)}},logJson:(e,t)=>{try{if(typeof t=="string"){const n=JSON.parse(t);Pe.log(e,n)}else if(t&&typeof t=="object"&&t.message&&typeof t.message=="string"){const n=JSON.parse(t.message);Pe.log(e,{...t,message:n})}else Pe.log(e,t)}catch{Pe.log(e+"(原始)",t)}},warn:(...e)=>{if(i8()){const t=new Date,n=`${t.getFullYear()}.${String(t.getMonth()+1).padStart(2,"0")}.${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padStart(3,"0")}`;console.warn(`[${n}]`,...e)}},error:(...e)=>{if(i8()){const t=new Date,n=`${t.getFullYear()}.${String(t.getMonth()+1).padStart(2,"0")}.${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}.${String(t.getMilliseconds()).padStart(3,"0")}`;console.error(`[${n}]`,...e)}}},Ws={apiUrl:"/api",prod:!0,dev:!1,printerWebsocketHost:"10.31.3.40",protocolType:"MQTT",wan:"false",mqttUsername:"elegoo",mqttPassWord:"123456",useRTC:"false".toLowerCase()==="true"};function J4e(e){return typeof e=="string"&&e.trim()!==""}J4e(Ws.printerWebsocketHost)||(Ws.printerWebsocketHost=window.location.hostname);const Z4e="Send Print Task",Y4e="File Name",X4e="Model Preview",Q4e="Print Time",K4e="Filament Weight",q4e="Print Options",$4e="Timelapse",eye="Heated Bed Leveling",tye="Build Plate Selection",nye="Textured Build Plate (Side A)",rye="Smooth Build Plate (Side B)",iye="Confirm",oye="Language",sye="File",aye="Printer File",cye="Device Name",lye="Device IP",uye="Print History",dye="Status",fye="Start Time",hye="Total Duration",pye="File Size",mye="Reprint",gye={title:"Camera",cameraNotUpgraded:"Module not detected. Please check the printer screen to verify if the module upgrade has been completed."},vye="Filament",yye=" Settings",Eye={initializing:"Initializing",idle:"Idle",printing:"Printing",pausing:"Pausing",paused:"Paused",stopped:"Stopped",preparing:"Preparing",fileUploading:"File uploading",fileSending:"Transferring file...",completed:"Completed",stopping:"Stopping",resuming:"Resuming",deviceSelfCheck:"Self-Check",deviceSelfChecking:"Device self-checking",autoLevel:"Automatic Leveling",autoLeveling:"Leveling",filamentInterruption:"Filament runout",inputShape:"Input shaping",inputShaping:"Shaping in progress…",fileChecking:"File checking",unloading:"Unloading",loading:"Loading",pidTun:"PID Tuning",pidTuning:"PID tuning…",preheatingCompleted:"Preheating completed",homingCompleted:"Homing completed",autoLevelingCompleted:"Auto-leveling completed",extruding:"Extruding",error:"Error",deviceBusy:"Device is busy",homing:"Homing",preheat:"Preheat",preheating:"Preheating",upgrade:"Upgrade",componentUpgrade:"Module upgrade",componentUpgrading:"Module upgrading",upgrading:"Upgrading",bedPreheating:"Heating bed...",timeLapseVideoGenerating:"Time-lapse video generating",elapsedPrintTime:"Elapsed Time",remainingPrintTime:"Remaining Print Time",layerProgress:"Layer Progress",offline:"Offline",nozzleHeating:"Heating nozzle...",powerOffResume:" Power Loss Resume",powerOffResumeWait:"Power loss pending resume"},bye={homingBeforeMove:"Please homing the axis before moving it. ",commandExecuted:"Command executed. ",loadingData:"Loading data. ",executionFailed:"Execution failed. ",startFailed:"Failed to start. ",stopFailed:"Failed to stop. ",pauseFailed:"Failed to pause. ",resumeFailed:"Unable to resume printing. ",reprintFailed:"Unable to reprint. ",getFileInfoFailed:"Failed to get file information. ",getFileListFailed:"Failed to get file List. ",getHistoryFailed:"Failed to get print history. ",exportVideoFailed:"Failed to export video file. ",sendFileFailed:"Failed to send file. ",deleteFileFailed:"Failed to delete file. ",deleteHistoryFailed:"Failed to delete print history. ",exportFileFailed:"Failed to export file. ",streamError:"Live stream error. ",uploadFileFailed:"Failed to upload file. ",getLivingVideoUrl:"Failed to get video stream URL. ",delHistoryFailed:"Failed to delete history. ",GetSystemInfoFailed:"Failed to get machine information. ",GetBaseInfoFailed:"Failed to get machine information. ",GetMachineInfoFailed:"Failed to get machine information. ",GetFanInfoFailed:"Failed to get fan information. ",GetHomeZeroFailed:"Failed to get homing status. ",SetHomeZeroFailed:"Home command failed. ",SetAxisMoveFailed:"Move command failed. ",SetTemperatureFailed:"Failed to set temperature. ",SetFanSpeedFailed:"Failed to set fan speed. ",LoadFilamentFailed:"Loading failed. ",UnloadFilamentFailed:"Unloading failed. ",SetFilamentInfoFailed:"Failed to set filament information. ",SetAutoRefillFailed:"Failed to set auto refill. ",GetCanvasInfoFailed:"Failed to get CANVAS data. ",RequestTimeout:"Data communication error. Please try again later. ",RegisterTimeout:"Data communication error. Please try again later. ",DeviceNotRegistered:"Data communication error. Please try again later. ",RegisterClientFailed:"Data communication error. Please try again later. ",TimeLapseVideoGenerateFailed:"Failed to generate time-lapse video. Please try again later or restart the printer. ",DeviceRegisterFailed:"Printer network error. Please try again later or restart the printer. ",ConnectionLimitExceeded:"Connection limit reached. Please check and try again. ",startVideoStreamFailed:"Failed to set video stream. ",UDiskLevelTooDeep:"Accessing folder directories with a depth greater than 5 levels is not supported. ",GetFilamentInfoFailed:"Failed to get filament information. ",GetAIDetectionSettingsFailed:"Failed to get AI detection settings. Please check the network connection.",SetAIDetectionSettingsFailed:"AI detection setup failed. Please check the network connection.",InvalidFile:"Invalid file. Please check and try again.",noFilamentDetected:"No filament detected in the device. Please initiate printing after Loading."},Sye={fileName:"File Name",fileSize:"File Size",layerHeight:"Layer",createTime:"Creation Time",filamentConsume:"Filament Consumption",unknown:"Unknown"},Aye={startPrint:"Start Print",export:"Export",deleteFile:"Delete File",cancel:"Cancel",close:"Close",confirm:"Confirm",delete:"Delete",modify:"Modify",print:"Print",guide:"Guide",feed:"Load",unfeed:"Unload",edit:"Edit",eDisk:"USB Drive",backToParent:"Back",resume:"Resume",reset:"Reset"},Cye={deleteRecord:"Delete Record",deleteFile:"Delete File",confirmTemperature:"Confirm Temperature",confirmPausePrint:"Confirm Pause",confirmStopPrint:"Confirm Stop",confirmStopPrintMsg:"Stop Print?",confirmPausePrintMsg:"Pause Print?",deleteTitle:"Delete Record",deleteMessage:"Delete{name}History Record?",deleteFileConfirmation:" Delete {fileName} File?",deleteRecordConfirmation:" Delete {record} History?",updateTemperatureConfirmation:"Change the temperature from {device} to {temperature}℃?",warning:"Warning",errorNotice:"Message",exceptionHappenedGoCheck:"An exception occurred. Please check the printer.",errorCodePrefix:"Error Code:",bedMeshMissDialogTitle:"The device is missing bed mesh data. Clicking confirm will re-print and force leveling.",powerOffResume:"Power Loss Resume",powerOffResumeMsg:'Uncompleted print task detected. Tap "Resume" to continue printing. '},wye={temperature:"Temperature",name:"Name",currentTarget:"Current Value / Target Value",nozzle:"Nozzle",heatedbed:"Heated Bed",chamber:"Chamber",inputPlaceholder:"Target Temperature",confirmTitle:"Confirm Temperature",confirmMessage:"Change the temperature from{name}to{value}℃?"},Tye={selectAll:"Select All",fileName:"File Name",fileSize:"File Size",creationTime:"Creation Time",videoDuration:"Video Duration",startTime:"Start Time",videoList:"Video List",noData:"No Data Found",loadingMore:"Loading more...",noMoreData:"No more data",emptyState:{noUdisk:"No USB Drive Detected",noFile:"No File Found",loadingFile:"Loading Data..."}},Iye={control:"Control",model:"Model",sideFan:"Assistance",Case:"Case",Lighting:"Overhead light",printSpeed:"Print Speed",slient:"Silent",balanced:"Balanced",sport:"Sport",ludicrous:"Ludicrous"},Pye={CanvasPro:"CANVAS PRO",CanvasLite:"CANVAS",selectCANVASNote:"Please select the corresponding CANVAS slot for the filament",existEmptyMappingNote:"There is consumable with empty mapping relationship, please check",autoFeed:"Auto Filament Refill",layer:"Layer Height",openCANVAS:"Enable CANVAS",feedNote:"Note: Select a slot before clicking Load/Unload",filamentRack:"Spool Holder",filamentSilk:"Name",manufacturer:"Brand",color:"Color",nozzleTmperature:"Nozzle Temperature",insertDetection:"Detection during loading",insertDetectionDesc:"Insert new filament. CANVAS PRO will automatically read the information. This takes about 20 seconds",insertDetectionNote:"Note: If you insert new filament during printing, CANVAS PRO will read the filament info automatically after the print is completed",bootDetection:"Detection on startup",bootDetectionDesc:"At startup, CANVAS automatically reads the inserted filament info by rotating the spool. This takes about 1 minute.",autoMaterialContinuation:"Auto Filament Refill",autoMaterialContinuationDesc:"When filament in the current slot is depleted, the system will switch to filament with identical properties.",historyColor:"History Color",moreColor:"More Color",FilamentTypeNotMatch:"Filament type not match",EmptyFilament:"Filament not inserted",filamentType:"Type",pleaseSelect:"Please select"},Oye={ExceptionOccurred:"Exception occurred",FilamentRunout:"No filament detected. Please load filament before printing.",TokenValidationFailed:"Token validation failed.",UnknownInterface:"Unknown interface",FolderOpenFailed:"Failed to open the folder. Please restart the printer and try again.",InvalidParameter:"Invalid parameter. Please try again.",FileWriteFailed:"Failed to write file. Please restart the printer and try again.",FileDeleteFailed:"Failed to delete file. Please restart the printer and try again.",ResponseDataEmpty:"Data error. Please try again later or restart the printer.",PrinterBusy:"The printer is busy and cannot perform this action. Please try again later.",PrinterNotPrinting:"The printer is not printing. This action cannot be performed.",FileCopyFailed:"Failed to copy file. Please try again later or restart the printer.",DatabaseOperationFailed:"Data error. Please try again later or restart the printer.",GcodeFileInvalid:"Invalid G-code file. Please check and try again.",ThumbnailNotExist:"Thumbnail unavailable. Please check and try again.",ParseThumbnailFailed:"Thumbnail unavailable. Please check and try again.",GetThumbnailFailed:"Thumbnail unavailable. Please check and try again.",UDiskNotDetected:"USB drive not detected. Please reconnect it or restart the printer.",UDiskRemoved:"USB drive has been removed. Please check and try again.",TimeLapseVideoGenerateFailed:"Failed to generate time-lapse video. Please try again later or restart the printer.",TimeLapseVideoNotExist:"Time-lapse video not found. Please refresh and try again.",PrintFileNotExist:"Print file not found. Please refresh and try again.",FileOffsetMismatch:"File upload failed. Please try again later.",FileWriteOpenFailed:"File upload failed. Please try again later.",FileSeekFailed:"File upload failed. Please try again later.",MD5CheckFailed:"File upload failed. Please try again later.",CancelFailed:"Failed to cancel. Please try again later.",UploadPathNotExist:"File upload failed. Please try again later.",MD5CheckFailedSystemError:"File upload failed. Please try again later.",MD5CheckFailedReadError:"File upload failed. Please try again later.",UploadDeleteSameNameFileFailed:"File upload failed. Please try again later.",UnknownError:"An unknown error occurred. Please contact 3dp@elegoo.com for assistance.",RequestTimeout:"Request timeout. Please try again later.",BedMeshDataMissing:"Bed mesh data missing",ComponentNotUpgraded:"Module not detected. Please check the printer screen to verify if the module upgrade has been completed."},_ye={MainboardFanError:"Mainboard fan error",HeatbreakFanError:"Heatbreak fan error",ModelFanError:"Model fan error",ZHomingFailed:"Failed to homing Z-axis",LevelingFailed:"Leveling failed",NozzleTempSensorDisconnected:"Nozzle temperature sensor disconnected",NozzleTempSensorShorted:"Nozzle temperature sensor shorted",NozzleHeatFailed:"Failed to heat the nozzle",BedTempSensorDisconnected:"Heated bed temperature sensor disconnected",BedTempSensorShorted:"Heated bed temperature sensor shorted",BedHeatFailed:"Failed to heat the bed",ChamberTempSensorDisconnected:"Chamber temperature sensor disconnected",ChamberTempSensorShorted:"Chamber temperature sensor shorted",AccelerometerChipError:"Accelerometer chip error",PressureSensorDataError:"Pressure sensor data error",MainboardExtruderCommunicationError:"Mainboard-extruder communication error",LevelingSensorControllerCommunicationError:"Control board communication error of the leveling sensor",CriticalSystemError:"A critical system error occurred",ExhaustVentOpenFailed:"Failed to open exhaust vent",ExhaustVentCloseFailed:"Failed to close exhaust vent",AuxiliaryFanError:"Auxiliary fan error",CaseFanError:"Case fan error",ToolheadOverheatingProtection:"Toolhead overheating protection",BedOverheatingProtection:"Heated bed overheating protection",CanvasCommunicationError:"CANVAS communication error",FilamentRunout:"Filament run out",ExtruderError:"Extruder error",FilamentCutFailed:"Filament cut failed",CutterHandleNotReleased:"Cutter handle not released",LoadingError:"Loading error",UnloadFilamentAtToolheadFailed:"Failed to unload filament at the toolhead",ToolheadExtrusionFailed:"Filament extrusion failed at the toolhead",ToolheadFrontCoverDetached:"Toolhead front cover detached",FilamentAbnormalAtToolhead_1266:"Filament detection error at the toolhead. Please check and clear any filament in the toolhead and PTFE tube before resuming the print. If the issue persists, please contact support.",FilamentNotDetectedAtToolhead_1267:"No filament detected at the toolhead. The filament may be broken inside the PTFE tube. Please check before resuming printing.",ChamberTempTooHigh:"Chamber temperature is too high",ChamberTempOverheatingProtection:"Chamber overheating protection",MainboardDriverUnitOverheatingProtection:"Motherboard drive unit overheating protection",UDiskStorageSpaceNotEnough:"Insufficient USB drive storage space",UDiskReadException:"USB drive read error",VersionUpdateFailed:"Version update failed",FileParseFailed:"File parsing failed, please check for garbled characters.",MotorDriverError:"Motor driver error: {axisNames}. Please restart the printer and check whether the motor resumes normal operation.",XAxisMotor:"X-axis motor",YAxisMotor:"Y-axis motor",ZAxisMotor:"Z-axis motor",ExtruderMotor:"Extruder motor",UnknownException:"Unknown exception"},Rye={fileNotExist:"File not exist"},kye={aiDetection:"AI Detection Settings",noodleDetection:"Spaghetti detection",noodleDetectionDesc:"Can detect spaghetti failures during the printing process",foreignObjectDetection:"Foreign Object Detection",foreignObjectDetectionDesc:"Detects foreign objects on the build plate to ensure safe printing.",detectionFrequency:"Detection frequency",anomalyHandling:"Exception handling",low:"Low",medium:"Medium",high:"High",notify:"Notification",pause:"Pause",on:"ON",off:"OFF",lightOffConfirm:"The AI detection function will stop when the lights are turned off. Confirm to turn it off?",noodleDefectAlert:"Spaghetti failure detected. Please check the printing status and address accordingly",foreignObjectDetectionAlert:"Foreign objects detected on the build plate. Please check the printer."},xye={sendPrintTask:Z4e,fileName:Y4e,modelPreview:X4e,printTime:Q4e,materialWeight:K4e,printOptions:q4e,timeLapse:$4e,bedLeveling:eye,printBedOptions:tye,texturedPlate:nye,smoothPlate:rye,confirm:iye,language:oye,file:sye,printerFile:aye,deviceName:cye,deviceIp:lye,printHistory:uye,import:"Import",status:dye,startTime:fye,totalConsumption:hye,fileSize:pye,reprint:mye,export:"Export",delete:"Delete","status.Complete":"Complete","status.Cancel":"Cancel","status.Other":"Others","status.Unknow":"Unknown","status.Printing":"Printing","status.Pause":"Pause",camera:gye,filament:vye,setting:yye,printStatus:Eye,toastMessages:bye,fileTable:Sye,buttons:Aye,dialogs:Cye,temperature:wye,table:Tye,control:Iye,multiColor:Pye,errorCodes:Oye,exceptionCode:_ye,tooltip:Rye,aiDetection:kye},Dye="发送打印任务",Lye="文件名称",Nye="模型预览",Mye="打印时间",Bye="材料重量",Fye="打印选项",Uye="延时摄影",jye="热床调平",Hye="打印板选择",zye="纹理打印板(A面)",Wye="光面打印板(B面)",Vye="确认",Gye="语言",Jye="文件",Zye="打印机文件",Yye="设备名称",Xye="设备IP",Qye="打印历史",Kye="状态",qye="开始时间",$ye="总共耗时",e6e="文件大小",t6e="重新打印",n6e={title:"摄像头",cameraNotUpgraded:"未检测到组件,请前往打印机屏幕检查是否已经完成组件升级"},r6e="耗材",i6e="设置",o6e={initializing:"初始化中",idle:"空闲中",printing:"打印中",pausing:"暂停中",paused:"已暂停",stopped:"已停止",preparing:"准备中",fileUploading:"文件上传中",fileSending:"文件传输中",completed:"打印完成",stopping:"停止中",resuming:"恢复打印中",deviceSelfCheck:"一键自检",deviceSelfChecking:"设备自检中",autoLevel:"自动调平",autoLeveling:"调平中",filamentInterruption:"断料",inputShape:"振纹优化",inputShaping:"振纹优化中",fileChecking:"文件校验中",unloading:"退料中",loading:"进料中",pidTun:"PID 检测",pidTuning:"PID 检测中",preheatingCompleted:"预热完成",homingCompleted:"归零完成",autoLevelingCompleted:"已完成自动调平",extruding:"挤出中",error:"异常",deviceBusy:"设备忙碌中",homing:"归零中",preheat:"预热",preheating:"预热中",upgrade:"固件升级",componentUpgrade:"组件升级",componentUpgrading:"组件升级中",upgrading:"升级中",bedPreheating:"热床加热中",timeLapseVideoGenerating:"延时摄影视频合成中",elapsedPrintTime:"已打印时间",remainingPrintTime:"剩余打印时间",layerProgress:"层",offline:"已离线",nozzleHeating:"喷嘴加热中",powerOffResume:"断电恢复中",powerOffResumeWait:"断电待恢复"},s6e={homingBeforeMove:"请先完成归零动作,再操作移动功能。",commandExecuted:"已执行。",loadingData:"正在加载数据。",executionFailed:"执行失败。",startFailed:"启动失败。",stopFailed:"停止失败。",pauseFailed:"暂停失败。",resumeFailed:"无法继续打印。",reprintFailed:"无法重新打印。",exportVideoFailed:"无法导出视频文件。",getFileInfoFailed:"无法获取文件信息。",getFileListFailed:"无法获取文件列表。",getHistoryFailed:"无法获取打印历史。",sendFileFailed:"无法发送文件。",deleteFileFailed:"无法删除文件。",deleteHistoryFailed:"无法删除历史打印任务。",exportFileFailed:"文件导出失败。",streamError:"实时流加载异常。",uploadFileFailed:"文件上传失败。",getLivingVideoUrl:"获取监控视频流地址失败。",delHistoryFailed:"删除历史记录失败。",GetSystemInfoFailed:"获取打印机信息失败。",GetBaseInfoFailed:"获取打印机信息失败。",GetMachineInfoFailed:"获取打印机信息失败。",GetFanInfoFailed:"获取风扇信息失败。",GetHomeZeroFailed:"获取归零信息失败。",SetHomeZeroFailed:"归零失败。",SetAxisMoveFailed:"移动失败。",SetTemperatureFailed:"设置温度失败。",SetFanSpeedFailed:"设置风扇失败。",LoadFilamentFailed:"进料失败。",UnloadFilamentFailed:"退料失败。",SetFilamentInfoFailed:"设置耗材信息失败。",SetAutoRefillFailed:"设置自动续料失败。",GetCanvasInfoFailed:"获取CANVAS信息失败。",RequestTimeout:" 数据通讯异常,请稍后重试。",RegisterTimeout:"数据通讯异常,请稍后重试。",DeviceNotRegistered:"数据通讯异常,请稍后重试。",RegisterClientFailed:"数据通讯异常,请稍后重试。",TimeLapseVideoGenerateFailed:"合成延时摄影视频失败,请稍后重试或者重启打印机。",DeviceRegisterFailed:"打印机网络异常,请稍后重试或者重启打印机",ConnectionLimitExceeded:"连接数量已超过上限,请检查后重试",startVideoStreamFailed:"设置视频推流失败",UDiskLevelTooDeep:"不支持访问层级大于5级的文件夹目录",GetFilamentInfoFailed:"获取耗材信息失败。",GetAIDetectionSettingsFailed:"获取AI检测设置失败请检查网络连接情况",SetAIDetectionSettingsFailed:"AI检测设置失败请检查网络连接情况",InvalidFile:"无效的文件,请检查后重试",noFilamentDetected:"检测到设备没有耗材,请进料后发起打印"},a6e={fileName:"文件名",fileSize:"文件大小",layerHeight:"层",createTime:"创建时间",filamentConsume:"耗材消耗",unknown:"未知"},c6e={startPrint:"开始打印",export:"导出",deleteFile:"删除文件",cancel:"取消",close:"关闭",confirm:"确认",delete:"删除",modify:"修改",print:"打印",guide:"指南",feed:"进料",unfeed:"退料",edit:"编辑",eDisk:"U盘",backToParent:"返回上一级",resume:"恢复",reset:"重置"},l6e={deleteRecord:"删除记录",deleteFile:"删除文件",confirmTemperature:"温度确认",confirmPausePrint:"暂停确认",confirmStopPrint:"停止确认",confirmStopPrintMsg:"是否停止打印?",confirmPausePrintMsg:"是否暂停打印?",deleteTitle:"删除记录",deleteMessage:"确定要删除{name}历史记录吗?",deleteFileConfirmation:" 是否删除 {fileName} 文件?",deleteRecordConfirmation:" 是否删除 {record} 记录?",updateTemperatureConfirmation:"是否将 {device} 温度修改成 {temperature}℃?",warning:"警告",errorNotice:"提示",exceptionHappenedGoCheck:"发生异常,请前往机器检查。",errorCodePrefix:"错误码:",bedMeshMissDialogTitle:"设备缺少网床数据,点击确认会再次发起打印并强制调平",powerOffResume:"断电恢复",powerOffResumeMsg:"检测到有未完成的打印任务,可点击恢复继续打印",needUpgradeComponent:"未检测到组件,请前往打印机屏幕检查是否已经完成组件升级。"},u6e={temperature:"温度",name:"名称",currentTarget:"当前值 / 目标值",nozzle:"喷嘴",heatedbed:"热床",chamber:"箱体",inputPlaceholder:"目标温度",confirmTitle:"温度确认",confirmMessage:"是否将{name}温度修改为{value}℃?"},d6e={selectAll:"全选",fileName:"文件名称",fileSize:"文件大小",creationTime:"创建时间",videoDuration:"视频时长",startTime:"开始时间",videoList:"视频列表",noData:"暂无数据",loadingMore:"加载更多...",noMoreData:"没有更多数据了",emptyState:{noUdisk:"未检测到U盘",noFile:"暂无文件",loadingFile:"正在加载数据"}},f6e={control:"控制",model:"模型",sideFan:"辅助",Case:"外排",Lighting:"照明灯",printSpeed:"打印速度",slient:"静音",balanced:"均衡",sport:"运动",ludicrous:"狂暴"},h6e={CanvasPro:"CANVAS PRO",CanvasLite:"CANVAS",selectCANVASNote:"请选择耗材对应的CANVAS槽位",existEmptyMappingNote:"存在映射关系为空的耗材,请检查",autoFeed:"自动续料",layer:"层",openCANVAS:"启动CANVAS",feedNote:"注:请选中一个料槽后点击进料/退料",filamentRack:"料架",filamentSilk:"名称",manufacturer:"品牌",color:"颜色",nozzleTmperature:"喷嘴温度",insertDetection:"插入时检测",insertDetectionDesc:"插入新耗材CANVAS自动读取信息约需20秒。",insertDetectionNote:"注意:打印中插入新耗材丝,多色盒会在打印结束后自动读取耗材信息。",bootDetection:"开机时检测",bootDetectionDesc:"开机时CANVAS自动读取插入耗材信息读取时旋转料卷约需1分钟。",autoMaterialContinuation:"自动续料",autoMaterialContinuationDesc:"当前槽位耗材用尽后将自动切换到属性完全相同的耗材。",historyColor:"历史颜色",moreColor:"更多颜色",FilamentTypeNotMatch:"耗材类型不匹配",EmptyFilament:"耗材未插入",filamentType:"类型",pleaseSelect:"请选择"},p6e={ExceptionOccurred:"发生异常",FilamentRunout:"检测到设备没有耗材,请进料后再发起打印",TokenValidationFailed:"访问码异常。",UnknownInterface:"未知接口",FolderOpenFailed:"文件夹打开失败,请尝试重启打印机后重试。",InvalidParameter:"无效的参数,请重新尝试。",FileWriteFailed:"文件写入失败,请尝试重启打印机后重试。",FileDeleteFailed:"文件删除失败,请尝试重启打印机后重试。",ResponseDataEmpty:"数据异常,请稍后重试或者重启打印机。",PrinterBusy:"打印机正忙,无法执行此操作,请稍后重试。",PrinterNotPrinting:"打印机不在打印中,无法执行此操作。",FileCopyFailed:"文件拷贝失败,请稍后重试或者重启打印机。",DatabaseOperationFailed:"数据库操作失败",GcodeFileInvalid:"Gcode文件无效请检查后重试。",ThumbnailNotExist:"无法获取缩略图,请检查后重试。",ParseThumbnailFailed:"无法获取缩略图,请检查后重试。",GetThumbnailFailed:"无法获取缩略图,请检查后重试。",UDiskNotDetected:"未检测到U盘请重新插拔或者重启打印机",UDiskRemoved:"U盘已拔出请检查后重试。",TimeLapseVideoGenerateFailed:"合成延时摄影视频失败,请稍后重试或者重启打印机。",TimeLapseVideoNotExist:"延时摄影视频不存在,请刷新后重试。",PrintFileNotExist:"打印文件不存在,请刷新后重试。",FileOffsetMismatch:"文件上传失败,请稍后重试。",FileWriteOpenFailed:"文件上传失败,请稍后重试。",FileSeekFailed:"文件上传失败,请稍后重试。",MD5CheckFailed:"文件上传失败,请稍后重试。",CancelFailed:"取消失败,请稍后重试。",UploadPathNotExist:"文件上传失败,请稍后重试。",MD5CheckFailedSystemError:"文件上传失败,请稍后重试。",MD5CheckFailedReadError:"文件上传失败,请稍后重试。",UploadDeleteSameNameFileFailed:"文件上传失败,请稍后重试。",UnknownError:"未知的错误请联系3dp@elegoo.com寻求支持。",RequestTimeout:"请求超时,请稍后重试。",BedMeshDataMissing:"缺少网床数据",ComponentNotUpgraded:"组件未升级,请前往打印机屏幕检查是否已经完成组件升级"},m6e={MainboardFanError:"主板风扇异常",HeatbreakFanError:"喉管风扇异常",ModelFanError:"模型风扇异常",ZHomingFailed:"Z轴归零异常",LevelingFailed:"调平失败",NozzleTempSensorDisconnected:"喷头温度传感器断开",NozzleTempSensorShorted:"喷头温度传感器短路",NozzleHeatFailed:"喷头未按预期加热",BedTempSensorDisconnected:"热床温度传感器断开",BedTempSensorShorted:"热床温度传感器短路",BedHeatFailed:"热床未按预期加热",ChamberTempSensorDisconnected:"机箱温度传感器断开",ChamberTempSensorShorted:"机箱温度传感器短路",AccelerometerChipError:"加速传感器异常",PressureSensorDataError:"压力传感器数据异常",MainboardExtruderCommunicationError:"主板与挤出机通讯异常",LevelingSensorControllerCommunicationError:"调平传感器控制板通讯异常",CriticalSystemError:"系统严重异常",ExhaustVentOpenFailed:"排气格栅开启异常",ExhaustVentCloseFailed:"排气格栅关闭异常",AuxiliaryFanError:"辅助风扇异常",CaseFanError:"机箱散热风扇异常",ToolheadOverheatingProtection:"工具头过热保护",BedOverheatingProtection:"热床过热保护",CanvasCommunicationError:"CANVAS通讯异常",FilamentRunout:"耗材用尽",ExtruderError:"挤出机异常",FilamentCutFailed:"切断耗材失败",CutterHandleNotReleased:"切刀刀柄未松开",LoadingError:"进料异常",UnloadFilamentAtToolheadFailed:"耗材退出工具头失败",ToolheadExtrusionFailed:"耗材在工具头挤出失败",ToolheadFrontCoverDetached:"工具头前盖脱落",FilamentAbnormalAtToolhead_1266:"检测到耗材在工具头上异常触发,请检查并清理工具头和特氟龙管中的耗材再恢复打印,若仍有异常请联系售后。",FilamentNotDetectedAtToolhead_1267:"检测到工具头无耗材,可能是耗材断在特氟龙管里面,请检查后再恢复打印。",ChamberTempTooHigh:"机箱温度过高",ChamberTempOverheatingProtection:"机箱过热保护",MainboardDriverUnitOverheatingProtection:"主板驱动单元过热保护",UDiskStorageSpaceNotEnough:"U盘存储空间不足",UDiskReadException:"U盘读取异常",VersionUpdateFailed:"版本更新失败",FileParseFailed:"文件解析失败,请检查是否存在乱码。",MotorDriverError:"电机驱动异常:{axisNames}。请重新启动打印机,并观察对应的电机是否恢复正常。",XAxisMotor:"X轴电机",YAxisMotor:"Y轴电机",ZAxisMotor:"Z轴电机",ExtruderMotor:"挤出电机",UnknownException:"未知异常"},g6e={fileNotExist:"文件不存在"},v6e={aiDetection:"AI检测设置",noodleDetection:"炒面检测",noodleDetectionDesc:"可在打印过程中检测出炒面发生的异常情况",foreignObjectDetection:"异物检测",foreignObjectDetectionDesc:"及时发现打印平台上的异物,确保打印安全",detectionFrequency:"检测频率",anomalyHandling:"异常处理",low:"低",medium:"中",high:"高",notify:"仅通知",pause:"暂停",on:"开启",off:"关闭",lightOffConfirm:"AI检测功能会随灯光的关闭而停止检测是否继续关闭灯光",noodleDefectAlert:"AI检测到炒面缺陷请检查打印状况后作相应的处理",foreignObjectDetectionAlert:"检测到打印板上有异物,请前往打印机检查"},y6e={sendPrintTask:Dye,fileName:Lye,modelPreview:Nye,printTime:Mye,materialWeight:Bye,printOptions:Fye,timeLapse:Uye,bedLeveling:jye,printBedOptions:Hye,texturedPlate:zye,smoothPlate:Wye,confirm:Vye,language:Gye,file:Jye,printerFile:Zye,deviceName:Yye,deviceIp:Xye,printHistory:Qye,import:"导入",status:Kye,startTime:qye,totalConsumption:$ye,fileSize:e6e,reprint:t6e,export:"导出",delete:"删除","status.Complete":"完成","status.Cancel":"取消","status.Other":"其他","status.Unknow":"未知","status.Printing":"打印中","status.Pause":"暂停",camera:n6e,filament:r6e,setting:i6e,printStatus:o6e,toastMessages:s6e,fileTable:a6e,buttons:c6e,dialogs:l6e,temperature:u6e,table:d6e,control:f6e,multiColor:h6e,errorCodes:p6e,exceptionCode:m6e,tooltip:g6e,aiDetection:v6e},ou=eae({legacy:!1,locale:"en",fallbackLocale:"en",messages:{en:xye,zh:y6e}}),{min:E6e,max:b6e}=Math,K0=(e,t=0,n=1)=>E6e(b6e(t,e),n),Jw=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=K0(e[t],0,255)):t===3&&(e[t]=K0(e[t],0,1));return e},AJ={};for(let e of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])AJ[`[object ${e}]`]=e.toLowerCase();function Qn(e){return AJ[Object.prototype.toString.call(e)]||"object"}const Mn=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):Qn(e[0])=="object"&&t?t.split("").filter(n=>e[0][n]!==void 0).map(n=>e[0][n]):e[0].slice(0),Lp=e=>{if(e.length<2)return null;const t=e.length-1;return Qn(e[t])=="string"?e[t].toLowerCase():null},{PI:Iy,min:CJ,max:wJ}=Math,Na=e=>Math.round(e*100)/100,X7=e=>Math.round(e*100)/100,Xl=Iy*2,o8=Iy/3,S6e=Iy/180,A6e=180/Iy;function TJ(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}const On={format:{},autodetect:[]};class bt{constructor(...t){const n=this;if(Qn(t[0])==="object"&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];let r=Lp(t),i=!1;if(!r){i=!0,On.sorted||(On.autodetect=On.autodetect.sort((o,s)=>s.p-o.p),On.sorted=!0);for(let o of On.autodetect)if(r=o.test(...t),r)break}if(On.format[r]){const o=On.format[r].apply(null,i?t:t.slice(0,-1));n._rgb=Jw(o)}else throw new Error("unknown format: "+t);n._rgb.length===3&&n._rgb.push(1)}toString(){return Qn(this.hex)=="function"?this.hex():`[${this._rgb.join(",")}]`}}const C6e="3.1.2",Xn=(...e)=>new bt(...e);Xn.version=C6e;const fp={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},w6e=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,T6e=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,IJ=e=>{if(e.match(w6e)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(""),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const t=parseInt(e,16),n=t>>16,r=t>>8&255,i=t&255;return[n,r,i,1]}if(e.match(T6e)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(""),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);const t=parseInt(e,16),n=t>>24&255,r=t>>16&255,i=t>>8&255,o=Math.round((t&255)/255*100)/100;return[n,r,i,o]}throw new Error(`unknown hex color: ${e}`)},{round:x2}=Math,PJ=(...e)=>{let[t,n,r,i]=Mn(e,"rgba"),o=Lp(e)||"auto";i===void 0&&(i=1),o==="auto"&&(o=i<1?"rgba":"rgb"),t=x2(t),n=x2(n),r=x2(r);let a="000000"+(t<<16|n<<8|r).toString(16);a=a.substr(a.length-6);let c="0"+x2(i*255).toString(16);switch(c=c.substr(c.length-2),o.toLowerCase()){case"rgba":return`#${a}${c}`;case"argb":return`#${c}${a}`;default:return`#${a}`}};bt.prototype.name=function(){const e=PJ(this._rgb,"rgb");for(let t of Object.keys(fp))if(fp[t]===e)return t.toLowerCase();return e};On.format.named=e=>{if(e=e.toLowerCase(),fp[e])return IJ(fp[e]);throw new Error("unknown color name: "+e)};On.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&Qn(e)==="string"&&fp[e.toLowerCase()])return"named"}});bt.prototype.alpha=function(e,t=!1){return e!==void 0&&Qn(e)==="number"?t?(this._rgb[3]=e,this):new bt([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]};bt.prototype.clipped=function(){return this._rgb._clipped||!1};const il={Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},I6e=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function su(e){const t=I6e.get(String(e).toLowerCase());if(!t)throw new Error("unknown Lab illuminant "+e);il.labWhitePoint=e,il.Xn=t[0],il.Zn=t[1]}function Qm(){return il.labWhitePoint}const Zw=(...e)=>{e=Mn(e,"lab");const[t,n,r]=e,[i,o,s]=P6e(t,n,r),[a,c,l]=OJ(i,o,s);return[a,c,l,e.length>3?e[3]:1]},P6e=(e,t,n)=>{const{kE:r,kK:i,kKE:o,Xn:s,Yn:a,Zn:c}=il,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,h=d*d*d,p=f>r?f:(116*u-16)/i,g=e>o?Math.pow((e+16)/116,3):e/i,m=h>r?h:(116*d-16)/i,y=p*s,v=g*a,E=m*c;return[y,v,E]},s8=e=>{const t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*Math.pow(e,1/2.4)-.055)*t},OJ=(e,t,n)=>{const{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:o,RefWhiteRGB:s,Xn:a,Yn:c,Zn:l}=il,u=a*r.m00+c*r.m10+l*r.m20,d=a*r.m01+c*r.m11+l*r.m21,f=a*r.m02+c*r.m12+l*r.m22,h=s.X*r.m00+s.Y*r.m10+s.Z*r.m20,p=s.X*r.m01+s.Y*r.m11+s.Z*r.m21,g=s.X*r.m02+s.Y*r.m12+s.Z*r.m22,m=(e*r.m00+t*r.m10+n*r.m20)*(h/u),y=(e*r.m01+t*r.m11+n*r.m21)*(p/d),v=(e*r.m02+t*r.m12+n*r.m22)*(g/f),E=m*i.m00+y*i.m10+v*i.m20,b=m*i.m01+y*i.m11+v*i.m21,S=m*i.m02+y*i.m12+v*i.m22,w=s8(E*o.m00+b*o.m10+S*o.m20),C=s8(E*o.m01+b*o.m11+S*o.m21),_=s8(E*o.m02+b*o.m12+S*o.m22);return[w*255,C*255,_*255]},Yw=(...e)=>{const[t,n,r,...i]=Mn(e,"rgb"),[o,s,a]=_J(t,n,r),[c,l,u]=O6e(o,s,a);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function O6e(e,t,n){const{Xn:r,Yn:i,Zn:o,kE:s,kK:a}=il,c=e/r,l=t/i,u=n/o,d=c>s?Math.pow(c,1/3):(a*c+16)/116,f=l>s?Math.pow(l,1/3):(a*l+16)/116,h=u>s?Math.pow(u,1/3):(a*u+16)/116;return[116*f-16,500*(d-f),200*(f-h)]}function a8(e){const t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4))*t}const _J=(e,t,n)=>{e=a8(e/255),t=a8(t/255),n=a8(n/255);const{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:o,Xn:s,Yn:a,Zn:c,As:l,Bs:u,Cs:d}=il;let f=e*r.m00+t*r.m10+n*r.m20,h=e*r.m01+t*r.m11+n*r.m21,p=e*r.m02+t*r.m12+n*r.m22;const g=s*i.m00+a*i.m10+c*i.m20,m=s*i.m01+a*i.m11+c*i.m21,y=s*i.m02+a*i.m12+c*i.m22;let v=f*i.m00+h*i.m10+p*i.m20,E=f*i.m01+h*i.m11+p*i.m21,b=f*i.m02+h*i.m12+p*i.m22;return v*=g/l,E*=m/u,b*=y/d,f=v*o.m00+E*o.m10+b*o.m20,h=v*o.m01+E*o.m11+b*o.m21,p=v*o.m02+E*o.m12+b*o.m22,[f,h,p]};bt.prototype.lab=function(){return Yw(this._rgb)};const _6e=(...e)=>new bt(...e,"lab");Object.assign(Xn,{lab:_6e,getLabWhitePoint:Qm,setLabWhitePoint:su});On.format.lab=Zw;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"lab"),Qn(e)==="array"&&e.length===3)return"lab"}});bt.prototype.darken=function(e=1){const t=this,n=t.lab();return n[0]-=il.Kn*e,new bt(n,"lab").alpha(t.alpha(),!0)};bt.prototype.brighten=function(e=1){return this.darken(-e)};bt.prototype.darker=bt.prototype.darken;bt.prototype.brighter=bt.prototype.brighten;bt.prototype.get=function(e){const[t,n]=e.split("."),r=this[t]();if(n){const i=t.indexOf(n)-(t.substr(0,2)==="ok"?2:0);if(i>-1)return r[i];throw new Error(`unknown channel ${n} in mode ${t}`)}else return r};const{pow:R6e}=Math,k6e=1e-7,x6e=20;bt.prototype.luminance=function(e,t="rgb"){if(e!==void 0&&Qn(e)==="number"){if(e===0)return new bt([0,0,0,this._rgb[3]],"rgb");if(e===1)return new bt([255,255,255,this._rgb[3]],"rgb");let n=this.luminance(),r=x6e;const i=(s,a)=>{const c=s.interpolate(a,.5,t),l=c.luminance();return Math.abs(e-l)<k6e||!r--?c:l>e?i(s,c):i(c,a)},o=(n>e?i(new bt([0,0,0]),this):i(this,new bt([255,255,255]))).rgb();return new bt([...o,this._rgb[3]])}return D6e(...this._rgb.slice(0,3))};const D6e=(e,t,n)=>(e=c8(e),t=c8(t),n=c8(n),.2126*e+.7152*t+.0722*n),c8=e=>(e/=255,e<=.03928?e/12.92:R6e((e+.055)/1.055,2.4)),Qo={},hp=(e,t,n=.5,...r)=>{let i=r[0]||"lrgb";if(!Qo[i]&&!r.length&&(i=Object.keys(Qo)[0]),!Qo[i])throw new Error(`interpolation mode ${i} is not defined`);return Qn(e)!=="object"&&(e=new bt(e)),Qn(t)!=="object"&&(t=new bt(t)),Qo[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};bt.prototype.mix=bt.prototype.interpolate=function(e,t=.5,...n){return hp(this,e,t,...n)};bt.prototype.premultiply=function(e=!1){const t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new bt([t[0]*n,t[1]*n,t[2]*n,n],"rgb")};const{sin:L6e,cos:N6e}=Math,RJ=(...e)=>{let[t,n,r]=Mn(e,"lch");return isNaN(r)&&(r=0),r=r*S6e,[t,N6e(r)*n,L6e(r)*n]},Xw=(...e)=>{e=Mn(e,"lch");const[t,n,r]=e,[i,o,s]=RJ(t,n,r),[a,c,l]=Zw(i,o,s);return[a,c,l,e.length>3?e[3]:1]},M6e=(...e)=>{const t=TJ(Mn(e,"hcl"));return Xw(...t)},{sqrt:B6e,atan2:F6e,round:U6e}=Math,kJ=(...e)=>{const[t,n,r]=Mn(e,"lab"),i=B6e(n*n+r*r);let o=(F6e(r,n)*A6e+360)%360;return U6e(i*1e4)===0&&(o=Number.NaN),[t,i,o]},Qw=(...e)=>{const[t,n,r,...i]=Mn(e,"rgb"),[o,s,a]=Yw(t,n,r),[c,l,u]=kJ(o,s,a);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};bt.prototype.lch=function(){return Qw(this._rgb)};bt.prototype.hcl=function(){return TJ(Qw(this._rgb))};const j6e=(...e)=>new bt(...e,"lch"),H6e=(...e)=>new bt(...e,"hcl");Object.assign(Xn,{lch:j6e,hcl:H6e});On.format.lch=Xw;On.format.hcl=M6e;["lch","hcl"].forEach(e=>On.autodetect.push({p:2,test:(...t)=>{if(t=Mn(t,e),Qn(t)==="array"&&t.length===3)return e}}));bt.prototype.saturate=function(e=1){const t=this,n=t.lch();return n[1]+=il.Kn*e,n[1]<0&&(n[1]=0),new bt(n,"lch").alpha(t.alpha(),!0)};bt.prototype.desaturate=function(e=1){return this.saturate(-e)};bt.prototype.set=function(e,t,n=!1){const[r,i]=e.split("."),o=this[r]();if(i){const s=r.indexOf(i)-(r.substr(0,2)==="ok"?2:0);if(s>-1){if(Qn(t)=="string")switch(t.charAt(0)){case"+":o[s]+=+t;break;case"-":o[s]+=+t;break;case"*":o[s]*=+t.substr(1);break;case"/":o[s]/=+t.substr(1);break;default:o[s]=+t}else if(Qn(t)==="number")o[s]=t;else throw new Error("unsupported value for Color.set");const a=new bt(o,r);return n?(this._rgb=a._rgb,this):a}throw new Error(`unknown channel ${i} in mode ${r}`)}else return o};bt.prototype.tint=function(e=.5,...t){return hp(this,"white",e,...t)};bt.prototype.shade=function(e=.5,...t){return hp(this,"black",e,...t)};const z6e=(e,t,n)=>{const r=e._rgb,i=t._rgb;return new bt(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"rgb")};Qo.rgb=z6e;const{sqrt:l8,pow:Ff}=Math,W6e=(e,t,n)=>{const[r,i,o]=e._rgb,[s,a,c]=t._rgb;return new bt(l8(Ff(r,2)*(1-n)+Ff(s,2)*n),l8(Ff(i,2)*(1-n)+Ff(a,2)*n),l8(Ff(o,2)*(1-n)+Ff(c,2)*n),"rgb")};Qo.lrgb=W6e;const V6e=(e,t,n)=>{const r=e.lab(),i=t.lab();return new bt(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"lab")};Qo.lab=V6e;const Np=(e,t,n,r)=>{let i,o;r==="hsl"?(i=e.hsl(),o=t.hsl()):r==="hsv"?(i=e.hsv(),o=t.hsv()):r==="hcg"?(i=e.hcg(),o=t.hcg()):r==="hsi"?(i=e.hsi(),o=t.hsi()):r==="lch"||r==="hcl"?(r="hcl",i=e.hcl(),o=t.hcl()):r==="oklch"&&(i=e.oklch().reverse(),o=t.oklch().reverse());let s,a,c,l,u,d;(r.substr(0,1)==="h"||r==="oklch")&&([s,c,u]=i,[a,l,d]=o);let f,h,p,g;return!isNaN(s)&&!isNaN(a)?(a>s&&a-s>180?g=a-(s+360):a<s&&s-a>180?g=a+360-s:g=a-s,h=s+n*g):isNaN(s)?isNaN(a)?h=Number.NaN:(h=a,(u==1||u==0)&&r!="hsv"&&(f=l)):(h=s,(d==1||d==0)&&r!="hsv"&&(f=c)),f===void 0&&(f=c+n*(l-c)),p=u+n*(d-u),r==="oklch"?new bt([p,f,h],r):new bt([h,f,p],r)},xJ=(e,t,n)=>Np(e,t,n,"lch");Qo.lch=xJ;Qo.hcl=xJ;const G6e=e=>{if(Qn(e)=="number"&&e>=0&&e<=16777215){const t=e>>16,n=e>>8&255,r=e&255;return[t,n,r,1]}throw new Error("unknown num color: "+e)},J6e=(...e)=>{const[t,n,r]=Mn(e,"rgb");return(t<<16)+(n<<8)+r};bt.prototype.num=function(){return J6e(this._rgb)};const Z6e=(...e)=>new bt(...e,"num");Object.assign(Xn,{num:Z6e});On.format.num=G6e;On.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&Qn(e[0])==="number"&&e[0]>=0&&e[0]<=16777215)return"num"}});const Y6e=(e,t,n)=>{const r=e.num(),i=t.num();return new bt(r+n*(i-r),"num")};Qo.num=Y6e;const{floor:X6e}=Math,Q6e=(...e)=>{e=Mn(e,"hcg");let[t,n,r]=e,i,o,s;r=r*255;const a=n*255;if(n===0)i=o=s=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;const c=X6e(t),l=t-c,u=r*(1-n),d=u+a*(1-l),f=u+a*l,h=u+a;switch(c){case 0:[i,o,s]=[h,f,u];break;case 1:[i,o,s]=[d,h,u];break;case 2:[i,o,s]=[u,h,f];break;case 3:[i,o,s]=[u,d,h];break;case 4:[i,o,s]=[f,u,h];break;case 5:[i,o,s]=[h,u,d];break}}return[i,o,s,e.length>3?e[3]:1]},K6e=(...e)=>{const[t,n,r]=Mn(e,"rgb"),i=CJ(t,n,r),o=wJ(t,n,r),s=o-i,a=s*100/255,c=i/(255-s)*100;let l;return s===0?l=Number.NaN:(t===o&&(l=(n-r)/s),n===o&&(l=2+(r-t)/s),r===o&&(l=4+(t-n)/s),l*=60,l<0&&(l+=360)),[l,a,c]};bt.prototype.hcg=function(){return K6e(this._rgb)};const q6e=(...e)=>new bt(...e,"hcg");Xn.hcg=q6e;On.format.hcg=Q6e;On.autodetect.push({p:1,test:(...e)=>{if(e=Mn(e,"hcg"),Qn(e)==="array"&&e.length===3)return"hcg"}});const $6e=(e,t,n)=>Np(e,t,n,"hcg");Qo.hcg=$6e;const{cos:Uf}=Math,e8e=(...e)=>{e=Mn(e,"hsi");let[t,n,r]=e,i,o,s;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(s=(1-n)/3,i=(1+n*Uf(Xl*t)/Uf(o8-Xl*t))/3,o=1-(s+i)):t<2/3?(t-=1/3,i=(1-n)/3,o=(1+n*Uf(Xl*t)/Uf(o8-Xl*t))/3,s=1-(i+o)):(t-=2/3,o=(1-n)/3,s=(1+n*Uf(Xl*t)/Uf(o8-Xl*t))/3,i=1-(o+s)),i=K0(r*i*3),o=K0(r*o*3),s=K0(r*s*3),[i*255,o*255,s*255,e.length>3?e[3]:1]},{min:t8e,sqrt:n8e,acos:r8e}=Math,i8e=(...e)=>{let[t,n,r]=Mn(e,"rgb");t/=255,n/=255,r/=255;let i;const o=t8e(t,n,r),s=(t+n+r)/3,a=s>0?1-o/s:0;return a===0?i=NaN:(i=(t-n+(t-r))/2,i/=n8e((t-n)*(t-n)+(t-r)*(n-r)),i=r8e(i),r>n&&(i=Xl-i),i/=Xl),[i*360,a,s]};bt.prototype.hsi=function(){return i8e(this._rgb)};const o8e=(...e)=>new bt(...e,"hsi");Xn.hsi=o8e;On.format.hsi=e8e;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"hsi"),Qn(e)==="array"&&e.length===3)return"hsi"}});const s8e=(e,t,n)=>Np(e,t,n,"hsi");Qo.hsi=s8e;const Q7=(...e)=>{e=Mn(e,"hsl");const[t,n,r]=e;let i,o,s;if(n===0)i=o=s=r*255;else{const a=[0,0,0],c=[0,0,0],l=r<.5?r*(1+n):r+n-r*n,u=2*r-l,d=t/360;a[0]=d+1/3,a[1]=d,a[2]=d-1/3;for(let f=0;f<3;f++)a[f]<0&&(a[f]+=1),a[f]>1&&(a[f]-=1),6*a[f]<1?c[f]=u+(l-u)*6*a[f]:2*a[f]<1?c[f]=l:3*a[f]<2?c[f]=u+(l-u)*(2/3-a[f])*6:c[f]=u;[i,o,s]=[c[0]*255,c[1]*255,c[2]*255]}return e.length>3?[i,o,s,e[3]]:[i,o,s,1]},DJ=(...e)=>{e=Mn(e,"rgba");let[t,n,r]=e;t/=255,n/=255,r/=255;const i=CJ(t,n,r),o=wJ(t,n,r),s=(o+i)/2;let a,c;return o===i?(a=0,c=Number.NaN):a=s<.5?(o-i)/(o+i):(o-i)/(2-o-i),t==o?c=(n-r)/(o-i):n==o?c=2+(r-t)/(o-i):r==o&&(c=4+(t-n)/(o-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,a,s,e[3]]:[c,a,s]};bt.prototype.hsl=function(){return DJ(this._rgb)};const a8e=(...e)=>new bt(...e,"hsl");Xn.hsl=a8e;On.format.hsl=Q7;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"hsl"),Qn(e)==="array"&&e.length===3)return"hsl"}});const c8e=(e,t,n)=>Np(e,t,n,"hsl");Qo.hsl=c8e;const{floor:l8e}=Math,u8e=(...e)=>{e=Mn(e,"hsv");let[t,n,r]=e,i,o,s;if(r*=255,n===0)i=o=s=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;const a=l8e(t),c=t-a,l=r*(1-n),u=r*(1-n*c),d=r*(1-n*(1-c));switch(a){case 0:[i,o,s]=[r,d,l];break;case 1:[i,o,s]=[u,r,l];break;case 2:[i,o,s]=[l,r,d];break;case 3:[i,o,s]=[l,u,r];break;case 4:[i,o,s]=[d,l,r];break;case 5:[i,o,s]=[r,l,u];break}}return[i,o,s,e.length>3?e[3]:1]},{min:d8e,max:f8e}=Math,h8e=(...e)=>{e=Mn(e,"rgb");let[t,n,r]=e;const i=d8e(t,n,r),o=f8e(t,n,r),s=o-i;let a,c,l;return l=o/255,o===0?(a=Number.NaN,c=0):(c=s/o,t===o&&(a=(n-r)/s),n===o&&(a=2+(r-t)/s),r===o&&(a=4+(t-n)/s),a*=60,a<0&&(a+=360)),[a,c,l]};bt.prototype.hsv=function(){return h8e(this._rgb)};const p8e=(...e)=>new bt(...e,"hsv");Xn.hsv=p8e;On.format.hsv=u8e;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"hsv"),Qn(e)==="array"&&e.length===3)return"hsv"}});const m8e=(e,t,n)=>Np(e,t,n,"hsv");Qo.hsv=m8e;function i4(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(s=>[s]));let r=t[0].length,i=t[0].map((s,a)=>t.map(c=>c[a])),o=e.map(s=>i.map(a=>Array.isArray(s)?s.reduce((c,l,u)=>c+l*(a[u]||0),0):a.reduce((c,l)=>c+l*s,0)));return n===1&&(o=o[0]),r===1?o.map(s=>s[0]):o}const Kw=(...e)=>{e=Mn(e,"lab");const[t,n,r,...i]=e,[o,s,a]=g8e([t,n,r]),[c,l,u]=OJ(o,s,a);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function g8e(e){var t=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],n=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],r=i4(n,e);return i4(t,r.map(i=>i**3))}const qw=(...e)=>{const[t,n,r,...i]=Mn(e,"rgb"),o=_J(t,n,r);return[...v8e(o),...i.length>0&&i[0]<1?[i[0]]:[]]};function v8e(e){const t=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],n=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],r=i4(t,e);return i4(n,r.map(i=>Math.cbrt(i)))}bt.prototype.oklab=function(){return qw(this._rgb)};const y8e=(...e)=>new bt(...e,"oklab");Object.assign(Xn,{oklab:y8e});On.format.oklab=Kw;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"oklab"),Qn(e)==="array"&&e.length===3)return"oklab"}});const E8e=(e,t,n)=>{const r=e.oklab(),i=t.oklab();return new bt(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"oklab")};Qo.oklab=E8e;const b8e=(e,t,n)=>Np(e,t,n,"oklch");Qo.oklch=b8e;const{pow:u8,sqrt:d8,PI:f8,cos:vR,sin:yR,atan2:S8e}=Math,A8e=(e,t="lrgb",n=null)=>{const r=e.length;n||(n=Array.from(new Array(r)).map(()=>1));const i=r/n.reduce(function(d,f){return d+f});if(n.forEach((d,f)=>{n[f]*=i}),e=e.map(d=>new bt(d)),t==="lrgb")return C8e(e,n);const o=e.shift(),s=o.get(t),a=[];let c=0,l=0;for(let d=0;d<s.length;d++)if(s[d]=(s[d]||0)*n[0],a.push(isNaN(s[d])?0:n[0]),t.charAt(d)==="h"&&!isNaN(s[d])){const f=s[d]/180*f8;c+=vR(f)*n[0],l+=yR(f)*n[0]}let u=o.alpha()*n[0];e.forEach((d,f)=>{const h=d.get(t);u+=d.alpha()*n[f+1];for(let p=0;p<s.length;p++)if(!isNaN(h[p]))if(a[p]+=n[f+1],t.charAt(p)==="h"){const g=h[p]/180*f8;c+=vR(g)*n[f+1],l+=yR(g)*n[f+1]}else s[p]+=h[p]*n[f+1]});for(let d=0;d<s.length;d++)if(t.charAt(d)==="h"){let f=S8e(l/a[d],c/a[d])/f8*180;for(;f<0;)f+=360;for(;f>=360;)f-=360;s[d]=f}else s[d]=s[d]/a[d];return u/=r,new bt(s,t).alpha(u>.99999?1:u,!0)},C8e=(e,t)=>{const n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){const o=e[i],s=t[i]/n,a=o._rgb;r[0]+=u8(a[0],2)*s,r[1]+=u8(a[1],2)*s,r[2]+=u8(a[2],2)*s,r[3]+=a[3]*s}return r[0]=d8(r[0]),r[1]=d8(r[1]),r[2]=d8(r[2]),r[3]>.9999999&&(r[3]=1),new bt(Jw(r))},{pow:w8e}=Math;function o4(e){let t="rgb",n=Xn("#ccc"),r=0,i=[0,1],o=[],s=[0,0],a=!1,c=[],l=!1,u=0,d=1,f=!1,h={},p=!0,g=1;const m=function(C){if(C=C||["#fff","#000"],C&&Qn(C)==="string"&&Xn.brewer&&Xn.brewer[C.toLowerCase()]&&(C=Xn.brewer[C.toLowerCase()]),Qn(C)==="array"){C.length===1&&(C=[C[0],C[0]]),C=C.slice(0);for(let _=0;_<C.length;_++)C[_]=Xn(C[_]);o.length=0;for(let _=0;_<C.length;_++)o.push(_/(C.length-1))}return S(),c=C},y=function(C){if(a!=null){const _=a.length-1;let I=0;for(;I<_&&C>=a[I];)I++;return I-1}return 0};let v=C=>C,E=C=>C;const b=function(C,_){let I,O;if(_==null&&(_=!1),isNaN(C)||C===null)return n;_?O=C:a&&a.length>2?O=y(C)/(a.length-2):d!==u?O=(C-u)/(d-u):O=1,O=E(O),_||(O=v(O)),g!==1&&(O=w8e(O,g)),O=s[0]+O*(1-s[0]-s[1]),O=K0(O,0,1);const L=Math.floor(O*1e4);if(p&&h[L])I=h[L];else{if(Qn(c)==="array")for(let R=0;R<o.length;R++){const F=o[R];if(O<=F){I=c[R];break}if(O>=F&&R===o.length-1){I=c[R];break}if(O>F&&O<o[R+1]){O=(O-F)/(o[R+1]-F),I=Xn.interpolate(c[R],c[R+1],O,t);break}}else Qn(c)==="function"&&(I=c(O));p&&(h[L]=I)}return I};var S=()=>h={};m(e);const w=function(C){const _=Xn(b(C));return l&&_[l]?_[l]():_};return w.classes=function(C){if(C!=null){if(Qn(C)==="array")a=C,i=[C[0],C[C.length-1]];else{const _=Xn.analyze(i);C===0?a=[_.min,_.max]:a=Xn.limits(_,"e",C)}return w}return a},w.domain=function(C){if(!arguments.length)return i;u=C[0],d=C[C.length-1],o=[];const _=c.length;if(C.length===_&&u!==d)for(let I of Array.from(C))o.push((I-u)/(d-u));else{for(let I=0;I<_;I++)o.push(I/(_-1));if(C.length>2){const I=C.map((L,R)=>R/(C.length-1)),O=C.map(L=>(L-u)/(d-u));O.every((L,R)=>I[R]===L)||(E=L=>{if(L<=0||L>=1)return L;let R=0;for(;L>=O[R+1];)R++;const F=(L-O[R])/(O[R+1]-O[R]);return I[R]+F*(I[R+1]-I[R])})}}return i=[u,d],w},w.mode=function(C){return arguments.length?(t=C,S(),w):t},w.range=function(C,_){return m(C),w},w.out=function(C){return l=C,w},w.spread=function(C){return arguments.length?(r=C,w):r},w.correctLightness=function(C){return C==null&&(C=!0),f=C,S(),f?v=function(_){const I=b(0,!0).lab()[0],O=b(1,!0).lab()[0],L=I>O;let R=b(_,!0).lab()[0];const F=I+(O-I)*_;let W=R-F,J=0,Y=1,M=20;for(;Math.abs(W)>.01&&M-- >0;)(function(){return L&&(W*=-1),W<0?(J=_,_+=(Y-_)*.5):(Y=_,_+=(J-_)*.5),R=b(_,!0).lab()[0],W=R-F})();return _}:v=_=>_,w},w.padding=function(C){return C!=null?(Qn(C)==="number"&&(C=[C,C]),s=C,w):s},w.colors=function(C,_){arguments.length<2&&(_="hex");let I=[];if(arguments.length===0)I=c.slice(0);else if(C===1)I=[w(.5)];else if(C>1){const O=i[0],L=i[1]-O;I=T8e(0,C).map(R=>w(O+R/(C-1)*L))}else{e=[];let O=[];if(a&&a.length>2)for(let L=1,R=a.length,F=1<=R;F?L<R:L>R;F?L++:L--)O.push((a[L-1]+a[L])*.5);else O=i;I=O.map(L=>w(L))}return Xn[_]&&(I=I.map(O=>O[_]())),I},w.cache=function(C){return C!=null?(p=C,w):p},w.gamma=function(C){return C!=null?(g=C,w):g},w.nodata=function(C){return C!=null?(n=Xn(C),w):n},w}function T8e(e,t,n){let r=[],i=e<t,o=t;for(let s=e;i?s<o:s>o;i?s++:s--)r.push(s);return r}const I8e=function(e){let t=[1,1];for(let n=1;n<e;n++){let r=[1];for(let i=1;i<=t.length;i++)r[i]=(t[i]||0)+t[i-1];t=r}return t},P8e=function(e){let t,n,r,i;if(e=e.map(o=>new bt(o)),e.length===2)[n,r]=e.map(o=>o.lab()),t=function(o){const s=[0,1,2].map(a=>n[a]+o*(r[a]-n[a]));return new bt(s,"lab")};else if(e.length===3)[n,r,i]=e.map(o=>o.lab()),t=function(o){const s=[0,1,2].map(a=>(1-o)*(1-o)*n[a]+2*(1-o)*o*r[a]+o*o*i[a]);return new bt(s,"lab")};else if(e.length===4){let o;[n,r,i,o]=e.map(s=>s.lab()),t=function(s){const a=[0,1,2].map(c=>(1-s)*(1-s)*(1-s)*n[c]+3*(1-s)*(1-s)*s*r[c]+3*(1-s)*s*s*i[c]+s*s*s*o[c]);return new bt(a,"lab")}}else if(e.length>=5){let o,s,a;o=e.map(c=>c.lab()),a=e.length-1,s=I8e(a),t=function(c){const l=1-c,u=[0,1,2].map(d=>o.reduce((f,h,p)=>f+s[p]*l**(a-p)*c**p*h[d],0));return new bt(u,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return t},O8e=e=>{const t=P8e(e);return t.scale=()=>o4(t),t},{round:LJ}=Math;bt.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(LJ)};bt.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:LJ(t):t)};const _8e=(...e)=>new bt(...e,"rgb");Object.assign(Xn,{rgb:_8e});On.format.rgb=(...e)=>{const t=Mn(e,"rgba");return t[3]===void 0&&(t[3]=1),t};On.autodetect.push({p:3,test:(...e)=>{if(e=Mn(e,"rgba"),Qn(e)==="array"&&(e.length===3||e.length===4&&Qn(e[3])=="number"&&e[3]>=0&&e[3]<=1))return"rgb"}});const gc=(e,t,n)=>{if(!gc[n])throw new Error("unknown blend mode "+n);return gc[n](e,t)},Yd=e=>(t,n)=>{const r=Xn(n).rgb(),i=Xn(t).rgb();return Xn.rgb(e(r,i))},Xd=e=>(t,n)=>{const r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r},R8e=e=>e,k8e=(e,t)=>e*t/255,x8e=(e,t)=>e>t?t:e,D8e=(e,t)=>e>t?e:t,L8e=(e,t)=>255*(1-(1-e/255)*(1-t/255)),N8e=(e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)),M8e=(e,t)=>255*(1-(1-t/255)/(e/255)),B8e=(e,t)=>e===255?255:(e=255*(t/255)/(1-e/255),e>255?255:e);gc.normal=Yd(Xd(R8e));gc.multiply=Yd(Xd(k8e));gc.screen=Yd(Xd(L8e));gc.overlay=Yd(Xd(N8e));gc.darken=Yd(Xd(x8e));gc.lighten=Yd(Xd(D8e));gc.dodge=Yd(Xd(B8e));gc.burn=Yd(Xd(M8e));const{pow:F8e,sin:U8e,cos:j8e}=Math;function H8e(e=300,t=-1.5,n=1,r=1,i=[0,1]){let o=0,s;Qn(i)==="array"?s=i[1]-i[0]:(s=0,i=[i,i]);const a=function(c){const l=Xl*((e+120)/360+t*c),u=F8e(i[0]+s*c,r),f=(o!==0?n[0]+c*o:n)*u*(1-u)/2,h=j8e(l),p=U8e(l),g=u+f*(-.14861*h+1.78277*p),m=u+f*(-.29227*h-.90649*p),y=u+f*(1.97294*h);return Xn(Jw([g*255,m*255,y*255,1]))};return a.start=function(c){return c==null?e:(e=c,a)},a.rotations=function(c){return c==null?t:(t=c,a)},a.gamma=function(c){return c==null?r:(r=c,a)},a.hue=function(c){return c==null?n:(n=c,Qn(n)==="array"?(o=n[1]-n[0],o===0&&(n=n[1])):o=0,a)},a.lightness=function(c){return c==null?i:(Qn(c)==="array"?(i=c,s=c[1]-c[0]):(i=[c,c],s=0),a)},a.scale=()=>Xn.scale(a),a.hue(n),a}const z8e="0123456789abcdef",{floor:W8e,random:V8e}=Math,G8e=()=>{let e="#";for(let t=0;t<6;t++)e+=z8e.charAt(W8e(V8e()*16));return new bt(e,"hex")},{log:ER,pow:J8e,floor:Z8e,abs:Y8e}=Math;function NJ(e,t=null){const n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return Qn(e)==="object"&&(e=Object.values(e)),e.forEach(r=>{t&&Qn(r)==="object"&&(r=r[t]),r!=null&&!isNaN(r)&&(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(r,i)=>MJ(n,r,i),n}function MJ(e,t="equal",n=7){Qn(e)=="array"&&(e=NJ(e));const{min:r,max:i}=e,o=e.values.sort((a,c)=>a-c);if(n===1)return[r,i];const s=[];if(t.substr(0,1)==="c"&&(s.push(r),s.push(i)),t.substr(0,1)==="e"){s.push(r);for(let a=1;a<n;a++)s.push(r+a/n*(i-r));s.push(i)}else if(t.substr(0,1)==="l"){if(r<=0)throw new Error("Logarithmic scales are only possible for values > 0");const a=Math.LOG10E*ER(r),c=Math.LOG10E*ER(i);s.push(r);for(let l=1;l<n;l++)s.push(J8e(10,a+l/n*(c-a)));s.push(i)}else if(t.substr(0,1)==="q"){s.push(r);for(let a=1;a<n;a++){const c=(o.length-1)*a/n,l=Z8e(c);if(l===c)s.push(o[l]);else{const u=c-l;s.push(o[l]*(1-u)+o[l+1]*u)}}s.push(i)}else if(t.substr(0,1)==="k"){let a;const c=o.length,l=new Array(c),u=new Array(n);let d=!0,f=0,h=null;h=[],h.push(r);for(let m=1;m<n;m++)h.push(r+m/n*(i-r));for(h.push(i);d;){for(let y=0;y<n;y++)u[y]=0;for(let y=0;y<c;y++){const v=o[y];let E=Number.MAX_VALUE,b;for(let S=0;S<n;S++){const w=Y8e(h[S]-v);w<E&&(E=w,b=S),u[b]++,l[y]=b}}const m=new Array(n);for(let y=0;y<n;y++)m[y]=null;for(let y=0;y<c;y++)a=l[y],m[a]===null?m[a]=o[y]:m[a]+=o[y];for(let y=0;y<n;y++)m[y]*=1/u[y];d=!1;for(let y=0;y<n;y++)if(m[y]!==h[y]){d=!0;break}h=m,f++,f>200&&(d=!1)}const p={};for(let m=0;m<n;m++)p[m]=[];for(let m=0;m<c;m++)a=l[m],p[a].push(o[m]);let g=[];for(let m=0;m<n;m++)g.push(p[m][0]),g.push(p[m][p[m].length-1]);g=g.sort((m,y)=>m-y),s.push(g[0]);for(let m=1;m<g.length;m+=2){const y=g[m];!isNaN(y)&&s.indexOf(y)===-1&&s.push(y)}}return s}const X8e=(e,t)=>{e=new bt(e),t=new bt(t);const n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)};/**
* @license
*
* The APCA contrast prediction algorithm is based of the formulas published
* in the APCA-1.0.98G specification by Myndex. The specification is available at:
* https://raw.githubusercontent.com/Myndex/apca-w3/master/images/APCAw3_0.1.17_APCA0.0.98G.svg
*
* Note that the APCA implementation is still beta, so please update to
* future versions of chroma.js when they become available.
*
* You can read more about the APCA Readability Criterion at
* https://readtech.org/ARC/
*/const bR=.027,Q8e=5e-4,K8e=.1,SR=1.14,D2=.022,AR=1.414,q8e=(e,t)=>{e=new bt(e),t=new bt(t),e.alpha()<1&&(e=hp(t,e,e.alpha(),"rgb"));const n=CR(...e.rgb()),r=CR(...t.rgb()),i=n>=D2?n:n+Math.pow(D2-n,AR),o=r>=D2?r:r+Math.pow(D2-r,AR),s=Math.pow(o,.56)-Math.pow(i,.57),a=Math.pow(o,.65)-Math.pow(i,.62),c=Math.abs(o-i)<Q8e?0:i<o?s*SR:a*SR;return(Math.abs(c)<K8e?0:c>0?c-bR:c+bR)*100};function CR(e,t,n){return .2126729*Math.pow(e/255,2.4)+.7151522*Math.pow(t/255,2.4)+.072175*Math.pow(n/255,2.4)}const{sqrt:xl,pow:Zi,min:$8e,max:e9e,atan2:wR,abs:TR,cos:L2,sin:IR,exp:t9e,PI:PR}=Math;function n9e(e,t,n=1,r=1,i=1){var o=function(k){return 360*k/(2*PR)},s=function(k){return 2*PR*k/360};e=new bt(e),t=new bt(t);const[a,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),h=(a+u)/2,p=xl(Zi(c,2)+Zi(l,2)),g=xl(Zi(d,2)+Zi(f,2)),m=(p+g)/2,y=.5*(1-xl(Zi(m,7)/(Zi(m,7)+Zi(25,7)))),v=c*(1+y),E=d*(1+y),b=xl(Zi(v,2)+Zi(l,2)),S=xl(Zi(E,2)+Zi(f,2)),w=(b+S)/2,C=o(wR(l,v)),_=o(wR(f,E)),I=C>=0?C:C+360,O=_>=0?_:_+360,L=TR(I-O)>180?(I+O+360)/2:(I+O)/2,R=1-.17*L2(s(L-30))+.24*L2(s(2*L))+.32*L2(s(3*L+6))-.2*L2(s(4*L-63));let F=O-I;F=TR(F)<=180?F:O<=I?F+360:F-360,F=2*xl(b*S)*IR(s(F)/2);const W=u-a,J=S-b,Y=1+.015*Zi(h-50,2)/xl(20+Zi(h-50,2)),M=1+.045*w,B=1+.015*w*R,q=30*t9e(-Zi((L-275)/25,2)),A=-(2*xl(Zi(w,7)/(Zi(w,7)+Zi(25,7))))*IR(2*s(q)),T=xl(Zi(W/(n*Y),2)+Zi(J/(r*M),2)+Zi(F/(i*B),2)+A*(J/(r*M))*(F/(i*B)));return e9e(0,$8e(100,T))}function r9e(e,t,n="lab"){e=new bt(e),t=new bt(t);const r=e.get(n),i=t.get(n);let o=0;for(let s in r){const a=(r[s]||0)-(i[s]||0);o+=a*a}return Math.sqrt(o)}const i9e=(...e)=>{try{return new bt(...e),!0}catch{return!1}},o9e={cool(){return o4([Xn.hsl(180,1,.9),Xn.hsl(250,.7,.4)])},hot(){return o4(["#000","#f00","#ff0","#fff"]).mode("rgb")}},K7={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},BJ=Object.keys(K7),OR=new Map(BJ.map(e=>[e.toLowerCase(),e])),s9e=typeof Proxy=="function"?new Proxy(K7,{get(e,t){const n=t.toLowerCase();if(OR.has(n))return e[OR.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(BJ)}}):K7,a9e=(...e)=>{e=Mn(e,"cmyk");const[t,n,r,i]=e,o=e.length>4?e[4]:1;return i===1?[0,0,0,o]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),o]},{max:_R}=Math,c9e=(...e)=>{let[t,n,r]=Mn(e,"rgb");t=t/255,n=n/255,r=r/255;const i=1-_R(t,_R(n,r)),o=i<1?1/(1-i):0,s=(1-t-i)*o,a=(1-n-i)*o,c=(1-r-i)*o;return[s,a,c,i]};bt.prototype.cmyk=function(){return c9e(this._rgb)};const l9e=(...e)=>new bt(...e,"cmyk");Object.assign(Xn,{cmyk:l9e});On.format.cmyk=a9e;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"cmyk"),Qn(e)==="array"&&e.length===4)return"cmyk"}});const u9e=(...e)=>{const t=Mn(e,"hsla");let n=Lp(e)||"lsa";return t[0]=Na(t[0]||0)+"deg",t[1]=Na(t[1]*100)+"%",t[2]=Na(t[2]*100)+"%",n==="hsla"||t.length>3&&t[3]<1?(t[3]="/ "+(t.length>3?t[3]:1),n="hsla"):t.length=3,`${n.substr(0,3)}(${t.join(" ")})`},d9e=(...e)=>{const t=Mn(e,"lab");let n=Lp(e)||"lab";return t[0]=Na(t[0])+"%",t[1]=Na(t[1]),t[2]=Na(t[2]),n==="laba"||t.length>3&&t[3]<1?t[3]="/ "+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(" ")})`},f9e=(...e)=>{const t=Mn(e,"lch");let n=Lp(e)||"lab";return t[0]=Na(t[0])+"%",t[1]=Na(t[1]),t[2]=isNaN(t[2])?"none":Na(t[2])+"deg",n==="lcha"||t.length>3&&t[3]<1?t[3]="/ "+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(" ")})`},h9e=(...e)=>{const t=Mn(e,"lab");return t[0]=Na(t[0]*100)+"%",t[1]=X7(t[1]),t[2]=X7(t[2]),t.length>3&&t[3]<1?t[3]="/ "+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(" ")})`},FJ=(...e)=>{const[t,n,r,...i]=Mn(e,"rgb"),[o,s,a]=qw(t,n,r),[c,l,u]=kJ(o,s,a);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},p9e=(...e)=>{const t=Mn(e,"lch");return t[0]=Na(t[0]*100)+"%",t[1]=X7(t[1]),t[2]=isNaN(t[2])?"none":Na(t[2])+"deg",t.length>3&&t[3]<1?t[3]="/ "+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(" ")})`},{round:h8}=Math,m9e=(...e)=>{const t=Mn(e,"rgba");let n=Lp(e)||"rgb";if(n.substr(0,3)==="hsl")return u9e(DJ(t),n);if(n.substr(0,3)==="lab"){const r=Qm();su("d50");const i=d9e(Yw(t),n);return su(r),i}if(n.substr(0,3)==="lch"){const r=Qm();su("d50");const i=f9e(Qw(t),n);return su(r),i}return n.substr(0,5)==="oklab"?h9e(qw(t)):n.substr(0,5)==="oklch"?p9e(FJ(t)):(t[0]=h8(t[0]),t[1]=h8(t[1]),t[2]=h8(t[2]),(n==="rgba"||t.length>3&&t[3]<1)&&(t[3]="/ "+(t.length>3?t[3]:1),n="rgba"),`${n.substr(0,3)}(${t.slice(0,n==="rgb"?3:4).join(" ")})`)},UJ=(...e)=>{e=Mn(e,"lch");const[t,n,r,...i]=e,[o,s,a]=RJ(t,n,r),[c,l,u]=Kw(o,s,a);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},fu=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,fc=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,s4=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,Ua=/\s*/.source,Mp=/\s+/.source,$w=/\s*,\s*/.source,Py=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,Bp=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,jJ=new RegExp("^rgba?\\("+Ua+[fu,fu,fu].join(Mp)+Bp+"\\)$"),HJ=new RegExp("^rgb\\("+Ua+[fu,fu,fu].join($w)+Ua+"\\)$"),zJ=new RegExp("^rgba\\("+Ua+[fu,fu,fu,fc].join($w)+Ua+"\\)$"),WJ=new RegExp("^hsla?\\("+Ua+[Py,s4,s4].join(Mp)+Bp+"\\)$"),VJ=new RegExp("^hsl?\\("+Ua+[Py,s4,s4].join($w)+Ua+"\\)$"),GJ=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,JJ=new RegExp("^lab\\("+Ua+[fc,fc,fc].join(Mp)+Bp+"\\)$"),ZJ=new RegExp("^lch\\("+Ua+[fc,fc,Py].join(Mp)+Bp+"\\)$"),YJ=new RegExp("^oklab\\("+Ua+[fc,fc,fc].join(Mp)+Bp+"\\)$"),XJ=new RegExp("^oklch\\("+Ua+[fc,fc,Py].join(Mp)+Bp+"\\)$"),{round:QJ}=Math,jf=e=>e.map((t,n)=>n<=2?K0(QJ(t),0,255):t),Yi=(e,t=0,n=100,r=!1)=>(typeof e=="string"&&e.endsWith("%")&&(e=parseFloat(e.substring(0,e.length-1))/100,r?e=t+(e+1)*.5*(n-t):e=t+e*(n-t)),+e),es=(e,t)=>e==="none"?t:e,eT=e=>{if(e=e.toLowerCase().trim(),e==="transparent")return[0,0,0,0];let t;if(On.format.named)try{return On.format.named(e)}catch{}if((t=e.match(jJ))||(t=e.match(HJ))){let n=t.slice(1,4);for(let i=0;i<3;i++)n[i]=+Yi(es(n[i],0),0,255);n=jf(n);const r=t[4]!==void 0?+Yi(t[4],0,1):1;return n[3]=r,n}if(t=e.match(zJ)){const n=t.slice(1,5);for(let r=0;r<4;r++)n[r]=+Yi(n[r],0,255);return n}if((t=e.match(WJ))||(t=e.match(VJ))){const n=t.slice(1,4);n[0]=+es(n[0].replace("deg",""),0),n[1]=+Yi(es(n[1],0),0,100)*.01,n[2]=+Yi(es(n[2],0),0,100)*.01;const r=jf(Q7(n)),i=t[4]!==void 0?+Yi(t[4],0,1):1;return r[3]=i,r}if(t=e.match(GJ)){const n=t.slice(1,4);n[1]*=.01,n[2]*=.01;const r=Q7(n);for(let i=0;i<3;i++)r[i]=QJ(r[i]);return r[3]=+t[4],r}if(t=e.match(JJ)){const n=t.slice(1,4);n[0]=Yi(es(n[0],0),0,100),n[1]=Yi(es(n[1],0),-125,125,!0),n[2]=Yi(es(n[2],0),-125,125,!0);const r=Qm();su("d50");const i=jf(Zw(n));su(r);const o=t[4]!==void 0?+Yi(t[4],0,1):1;return i[3]=o,i}if(t=e.match(ZJ)){const n=t.slice(1,4);n[0]=Yi(n[0],0,100),n[1]=Yi(es(n[1],0),0,150,!1),n[2]=+es(n[2].replace("deg",""),0);const r=Qm();su("d50");const i=jf(Xw(n));su(r);const o=t[4]!==void 0?+Yi(t[4],0,1):1;return i[3]=o,i}if(t=e.match(YJ)){const n=t.slice(1,4);n[0]=Yi(es(n[0],0),0,1),n[1]=Yi(es(n[1],0),-.4,.4,!0),n[2]=Yi(es(n[2],0),-.4,.4,!0);const r=jf(Kw(n)),i=t[4]!==void 0?+Yi(t[4],0,1):1;return r[3]=i,r}if(t=e.match(XJ)){const n=t.slice(1,4);n[0]=Yi(es(n[0],0),0,1),n[1]=Yi(es(n[1],0),0,.4,!1),n[2]=+es(n[2].replace("deg",""),0);const r=jf(UJ(n)),i=t[4]!==void 0?+Yi(t[4],0,1):1;return r[3]=i,r}};eT.test=e=>jJ.test(e)||WJ.test(e)||JJ.test(e)||ZJ.test(e)||YJ.test(e)||XJ.test(e)||HJ.test(e)||zJ.test(e)||VJ.test(e)||GJ.test(e)||e==="transparent";bt.prototype.css=function(e){return m9e(this._rgb,e)};const g9e=(...e)=>new bt(...e,"css");Xn.css=g9e;On.format.css=eT;On.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&Qn(e)==="string"&&eT.test(e))return"css"}});On.format.gl=(...e)=>{const t=Mn(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t};const v9e=(...e)=>new bt(...e,"gl");Xn.gl=v9e;bt.prototype.gl=function(){const e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};bt.prototype.hex=function(e){return PJ(this._rgb,e)};const y9e=(...e)=>new bt(...e,"hex");Xn.hex=y9e;On.format.hex=IJ;On.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&Qn(e)==="string"&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});const{log:N2}=Math,KJ=e=>{const t=e/100;let n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*N2(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*N2(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*N2(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*N2(r),i=255),[n,r,i,1]},{round:E9e}=Math,b9e=(...e)=>{const t=Mn(e,"rgb"),n=t[0],r=t[2];let i=1e3,o=4e4;const s=.4;let a;for(;o-i>s;){a=(o+i)*.5;const c=KJ(a);c[2]/c[0]>=r/n?o=a:i=a}return E9e(a)};bt.prototype.temp=bt.prototype.kelvin=bt.prototype.temperature=function(){return b9e(this._rgb)};const p8=(...e)=>new bt(...e,"temp");Object.assign(Xn,{temp:p8,kelvin:p8,temperature:p8});On.format.temp=On.format.kelvin=On.format.temperature=KJ;bt.prototype.oklch=function(){return FJ(this._rgb)};const S9e=(...e)=>new bt(...e,"oklch");Object.assign(Xn,{oklch:S9e});On.format.oklch=UJ;On.autodetect.push({p:2,test:(...e)=>{if(e=Mn(e,"oklch"),Qn(e)==="array"&&e.length===3)return"oklch"}});Object.assign(Xn,{analyze:NJ,average:A8e,bezier:O8e,blend:gc,brewer:s9e,Color:bt,colors:fp,contrast:X8e,contrastAPCA:q8e,cubehelix:H8e,deltaE:n9e,distance:r9e,input:On,interpolate:hp,limits:MJ,mix:hp,random:G8e,scale:o4,scales:o9e,valid:i9e});var xt=(e=>(e[e.ErrorCodeMsg=0]="ErrorCodeMsg",e[e.CustomMessage=1]="CustomMessage",e[e.ErrorCodeAndCustom=2]="ErrorCodeAndCustom",e))(xt||{});class A9e{constructor(){et(this,"maxMessages",3);et(this,"defaultDuration",3e3);et(this,"queue",[])}removeFromQueue(t){const n=this.queue.findIndex(r=>r.handler===t);n>-1&&this.queue.splice(n,1)}hasMessage(t){return this.queue.some(n=>n.message===t)}showMessage(t,n,r){if(this.queue.length>=this.maxMessages||this.hasMessage(n))return;const i=r??this.defaultDuration,o=Zt[t]({message:n,duration:i});this.queue.push({handler:o,message:n}),i>0&&setTimeout(()=>{this.removeFromQueue(o)},i)}}const C9e=new A9e;function Lt(e=0,t=0,n="error",r=""){let i="";if(e===0){const o=C7(t);i=ou.global.t("dialogs.errorCodePrefix")+t+""+ou.global.t(`errorCodes.${o}`)}else if(e===1)i=r;else if(e===2){const o=C7(t),s=ou.global.t("dialogs.errorCodePrefix")+t+""+ou.global.t(`errorCodes.${o}`);i=r+s}C9e.showMessage(n,i)}function yd(e){return e.startsWith("0x")?"#"+e.slice(2):e}function qJ(){return"xxxxxxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t%4+8).toString(16)})+Date.now().toString(16)}const pp=()=>Ws.protocolType==="MQTT",jn=()=>Ws.protocolType==="RTM";var $J=(e=>(e.Base64="base64",e.Url="url",e))($J||{});function w9e(e,t){return t===""?"":e==="base64"?`data:image/png;base64,${t}`:t}function T9e(e="cli"){const t=Date.now().toString(16).slice(-5),n=Math.random().toString(16).slice(2,5);return("0"+e+t+n).slice(0,10)}function eZ(e){const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=[];return t>0&&i.push(`${t}d`),n>0&&i.push(`${n}h`),(r>0||i.length===0)&&i.push(`${r}m`),i.join("")}function tZ(e){if(isNaN(e)||e<0)return"00h00m00s";const t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60,i=o=>o.toString().padStart(2,"0");return`${i(t)}h ${i(n)}m ${i(r)}s`}function mp(e){return e.split("/").pop()||""}function nZ(e){return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(2)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}const Gc=e=>{const t=parseInt(e.substr(1,2),16),n=parseInt(e.substr(3,2),16),r=parseInt(e.substr(5,2),16);return(t*299+n*587+r*114)/1e3>128?"#000000":"#FFFFFF"};async function I9e(e){return new Promise((t,n)=>{try{const r=document.createElement("canvas"),i=r.getContext("2d");if(!i)throw new Error("Canvas context not available.");r.width=e.width,r.height=e.height,i.drawImage(e,0,0);const s=i.getImageData(0,0,r.width,r.height).data;let a=0,c=0,l=0;for(let f=0;f<s.length;f+=4)a+=s[f],c+=s[f+1],l+=s[f+2];const u=s.length/4;a=Math.floor(a/u),c=Math.floor(c/u),l=Math.floor(l/u);const d=Xn.rgb(a,c,l).hex();Pe.log(`计算得到的平均颜色值为 ${d}`),t(d)}catch(r){n(r)}})}function P9e(e,t){try{return Xn.deltaE(e,t)}catch(n){return Pe.error("Color calculation error:",n),100}}function fm(e){return e?e.trim().toUpperCase().replace(/\s+/g,"-"):""}function rZ(e,t){return function(){return e.apply(t,arguments)}}const{toString:O9e}=Object.prototype,{getPrototypeOf:tT}=Object,{iterator:Oy,toStringTag:iZ}=Symbol,_y=(e=>t=>{const n=O9e.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ac=e=>(e=e.toLowerCase(),t=>_y(t)===e),Ry=e=>t=>typeof t===e,{isArray:Fp}=Array,Km=Ry("undefined");function Hg(e){return e!==null&&!Km(e)&&e.constructor!==null&&!Km(e.constructor)&&Ns(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const oZ=Ac("ArrayBuffer");function _9e(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&oZ(e.buffer),t}const R9e=Ry("string"),Ns=Ry("function"),sZ=Ry("number"),zg=e=>e!==null&&typeof e=="object",k9e=e=>e===!0||e===!1,J5=e=>{if(_y(e)!=="object")return!1;const t=tT(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(iZ in e)&&!(Oy in e)},x9e=e=>{if(!zg(e)||Hg(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},D9e=Ac("Date"),L9e=Ac("File"),N9e=Ac("Blob"),M9e=Ac("FileList"),B9e=e=>zg(e)&&Ns(e.pipe),F9e=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ns(e.append)&&((t=_y(e))==="formdata"||t==="object"&&Ns(e.toString)&&e.toString()==="[object FormData]"))},U9e=Ac("URLSearchParams"),[j9e,H9e,z9e,W9e]=["ReadableStream","Request","Response","Headers"].map(Ac),V9e=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Wg(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,i;if(typeof e!="object"&&(e=[e]),Fp(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(Hg(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let a;for(r=0;r<s;r++)a=o[r],t.call(null,e[a],a,e)}}function aZ(e,t){if(Hg(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,i;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}const M0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,cZ=e=>!Km(e)&&e!==M0;function q7(){const{caseless:e}=cZ(this)&&this||{},t={},n=(r,i)=>{const o=e&&aZ(t,i)||i;J5(t[o])&&J5(r)?t[o]=q7(t[o],r):J5(r)?t[o]=q7({},r):Fp(r)?t[o]=r.slice():t[o]=r};for(let r=0,i=arguments.length;r<i;r++)arguments[r]&&Wg(arguments[r],n);return t}const G9e=(e,t,n,{allOwnKeys:r}={})=>(Wg(t,(i,o)=>{n&&Ns(i)?e[o]=rZ(i,n):e[o]=i},{allOwnKeys:r}),e),J9e=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Z9e=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Y9e=(e,t,n,r)=>{let i,o,s;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],(!r||r(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=n!==!1&&tT(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},X9e=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Q9e=e=>{if(!e)return null;if(Fp(e))return e;let t=e.length;if(!sZ(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},K9e=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&tT(Uint8Array)),q9e=(e,t)=>{const r=(e&&e[Oy]).call(e);let i;for(;(i=r.next())&&!i.done;){const o=i.value;t.call(e,o[0],o[1])}},$9e=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},eEe=Ac("HTMLFormElement"),tEe=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),RR=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),nEe=Ac("RegExp"),lZ=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Wg(n,(i,o)=>{let s;(s=t(i,o,e))!==!1&&(r[o]=s||i)}),Object.defineProperties(e,r)},rEe=e=>{lZ(e,(t,n)=>{if(Ns(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Ns(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},iEe=(e,t)=>{const n={},r=i=>{i.forEach(o=>{n[o]=!0})};return Fp(e)?r(e):r(String(e).split(t)),n},oEe=()=>{},sEe=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function aEe(e){return!!(e&&Ns(e.append)&&e[iZ]==="FormData"&&e[Oy])}const cEe=e=>{const t=new Array(10),n=(r,i)=>{if(zg(r)){if(t.indexOf(r)>=0)return;if(Hg(r))return r;if(!("toJSON"in r)){t[i]=r;const o=Fp(r)?[]:{};return Wg(r,(s,a)=>{const c=n(s,i+1);!Km(c)&&(o[a]=c)}),t[i]=void 0,o}}return r};return n(e,0)},lEe=Ac("AsyncFunction"),uEe=e=>e&&(zg(e)||Ns(e))&&Ns(e.then)&&Ns(e.catch),uZ=((e,t)=>e?setImmediate:t?((n,r)=>(M0.addEventListener("message",({source:i,data:o})=>{i===M0&&o===n&&r.length&&r.shift()()},!1),i=>{r.push(i),M0.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ns(M0.postMessage)),dEe=typeof queueMicrotask<"u"?queueMicrotask.bind(M0):typeof process<"u"&&process.nextTick||uZ,fEe=e=>e!=null&&Ns(e[Oy]),Qe={isArray:Fp,isArrayBuffer:oZ,isBuffer:Hg,isFormData:F9e,isArrayBufferView:_9e,isString:R9e,isNumber:sZ,isBoolean:k9e,isObject:zg,isPlainObject:J5,isEmptyObject:x9e,isReadableStream:j9e,isRequest:H9e,isResponse:z9e,isHeaders:W9e,isUndefined:Km,isDate:D9e,isFile:L9e,isBlob:N9e,isRegExp:nEe,isFunction:Ns,isStream:B9e,isURLSearchParams:U9e,isTypedArray:K9e,isFileList:M9e,forEach:Wg,merge:q7,extend:G9e,trim:V9e,stripBOM:J9e,inherits:Z9e,toFlatObject:Y9e,kindOf:_y,kindOfTest:Ac,endsWith:X9e,toArray:Q9e,forEachEntry:q9e,matchAll:$9e,isHTMLForm:eEe,hasOwnProperty:RR,hasOwnProp:RR,reduceDescriptors:lZ,freezeMethods:rEe,toObjectSet:iEe,toCamelCase:tEe,noop:oEe,toFiniteNumber:sEe,findKey:aZ,global:M0,isContextDefined:cZ,isSpecCompliantForm:aEe,toJSONObject:cEe,isAsyncFn:lEe,isThenable:uEe,setImmediate:uZ,asap:dEe,isIterable:fEe};function Nn(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}Qe.inherits(Nn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Qe.toJSONObject(this.config),code:this.code,status:this.status}}});const dZ=Nn.prototype,fZ={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{fZ[e]={value:e}});Object.defineProperties(Nn,fZ);Object.defineProperty(dZ,"isAxiosError",{value:!0});Nn.from=(e,t,n,r,i,o)=>{const s=Object.create(dZ);return Qe.toFlatObject(e,s,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),Nn.call(s,e.message,t,n,r,i),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};const hEe=null;function $7(e){return Qe.isPlainObject(e)||Qe.isArray(e)}function hZ(e){return Qe.endsWith(e,"[]")?e.slice(0,-2):e}function kR(e,t,n){return e?e.concat(t).map(function(i,o){return i=hZ(i),!n&&o?"["+i+"]":i}).join(n?".":""):t}function pEe(e){return Qe.isArray(e)&&!e.some($7)}const mEe=Qe.toFlatObject(Qe,{},null,function(t){return/^is[A-Z]/.test(t)});function ky(e,t,n){if(!Qe.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=Qe.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,m){return!Qe.isUndefined(m[g])});const r=n.metaTokens,i=n.visitor||u,o=n.dots,s=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&Qe.isSpecCompliantForm(t);if(!Qe.isFunction(i))throw new TypeError("visitor must be a function");function l(p){if(p===null)return"";if(Qe.isDate(p))return p.toISOString();if(Qe.isBoolean(p))return p.toString();if(!c&&Qe.isBlob(p))throw new Nn("Blob is not supported. Use a Buffer instead.");return Qe.isArrayBuffer(p)||Qe.isTypedArray(p)?c&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function u(p,g,m){let y=p;if(p&&!m&&typeof p=="object"){if(Qe.endsWith(g,"{}"))g=r?g:g.slice(0,-2),p=JSON.stringify(p);else if(Qe.isArray(p)&&pEe(p)||(Qe.isFileList(p)||Qe.endsWith(g,"[]"))&&(y=Qe.toArray(p)))return g=hZ(g),y.forEach(function(E,b){!(Qe.isUndefined(E)||E===null)&&t.append(s===!0?kR([g],b,o):s===null?g:g+"[]",l(E))}),!1}return $7(p)?!0:(t.append(kR(m,g,o),l(p)),!1)}const d=[],f=Object.assign(mEe,{defaultVisitor:u,convertValue:l,isVisitable:$7});function h(p,g){if(!Qe.isUndefined(p)){if(d.indexOf(p)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(p),Qe.forEach(p,function(y,v){(!(Qe.isUndefined(y)||y===null)&&i.call(t,y,Qe.isString(v)?v.trim():v,g,f))===!0&&h(y,g?g.concat(v):[v])}),d.pop()}}if(!Qe.isObject(e))throw new TypeError("data must be an object");return h(e),t}function xR(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function nT(e,t){this._pairs=[],e&&ky(e,this,t)}const pZ=nT.prototype;pZ.append=function(t,n){this._pairs.push([t,n])};pZ.toString=function(t){const n=t?function(r){return t.call(this,r,xR)}:xR;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function gEe(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function mZ(e,t,n){if(!t)return e;const r=n&&n.encode||gEe;Qe.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let o;if(i?o=i(t,n):o=Qe.isURLSearchParams(t)?t.toString():new nT(t,n).toString(r),o){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class DR{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Qe.forEach(this.handlers,function(r){r!==null&&t(r)})}}const gZ={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},vEe=typeof URLSearchParams<"u"?URLSearchParams:nT,yEe=typeof FormData<"u"?FormData:null,EEe=typeof Blob<"u"?Blob:null,bEe={isBrowser:!0,classes:{URLSearchParams:vEe,FormData:yEe,Blob:EEe},protocols:["http","https","file","blob","url","data"]},rT=typeof window<"u"&&typeof document<"u",eb=typeof navigator=="object"&&navigator||void 0,SEe=rT&&(!eb||["ReactNative","NativeScript","NS"].indexOf(eb.product)<0),AEe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",CEe=rT&&window.location.href||"http://localhost",wEe=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:rT,hasStandardBrowserEnv:SEe,hasStandardBrowserWebWorkerEnv:AEe,navigator:eb,origin:CEe},Symbol.toStringTag,{value:"Module"})),Xo={...wEe,...bEe};function TEe(e,t){return ky(e,new Xo.classes.URLSearchParams,{visitor:function(n,r,i,o){return Xo.isNode&&Qe.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function IEe(e){return Qe.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function PEe(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r<i;r++)o=n[r],t[o]=e[o];return t}function vZ(e){function t(n,r,i,o){let s=n[o++];if(s==="__proto__")return!0;const a=Number.isFinite(+s),c=o>=n.length;return s=!s&&Qe.isArray(i)?i.length:s,c?(Qe.hasOwnProp(i,s)?i[s]=[i[s],r]:i[s]=r,!a):((!i[s]||!Qe.isObject(i[s]))&&(i[s]=[]),t(n,r,i[s],o)&&Qe.isArray(i[s])&&(i[s]=PEe(i[s])),!a)}if(Qe.isFormData(e)&&Qe.isFunction(e.entries)){const n={};return Qe.forEachEntry(e,(r,i)=>{t(IEe(r),i,n,0)}),n}return null}function OEe(e,t,n){if(Qe.isString(e))try{return(t||JSON.parse)(e),Qe.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Vg={transitional:gZ,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",i=r.indexOf("application/json")>-1,o=Qe.isObject(t);if(o&&Qe.isHTMLForm(t)&&(t=new FormData(t)),Qe.isFormData(t))return i?JSON.stringify(vZ(t)):t;if(Qe.isArrayBuffer(t)||Qe.isBuffer(t)||Qe.isStream(t)||Qe.isFile(t)||Qe.isBlob(t)||Qe.isReadableStream(t))return t;if(Qe.isArrayBufferView(t))return t.buffer;if(Qe.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return TEe(t,this.formSerializer).toString();if((a=Qe.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return ky(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),OEe(t)):t}],transformResponse:[function(t){const n=this.transitional||Vg.transitional,r=n&&n.forcedJSONParsing,i=this.responseType==="json";if(Qe.isResponse(t)||Qe.isReadableStream(t))return t;if(t&&Qe.isString(t)&&(r&&!this.responseType||i)){const s=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?Nn.from(a,Nn.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Xo.classes.FormData,Blob:Xo.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Qe.forEach(["delete","get","head","post","put","patch"],e=>{Vg.headers[e]={}});const _Ee=Qe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),REe=e=>{const t={};let n,r,i;return e&&e.split(`
`).forEach(function(s){i=s.indexOf(":"),n=s.substring(0,i).trim().toLowerCase(),r=s.substring(i+1).trim(),!(!n||t[n]&&_Ee[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},LR=Symbol("internals");function f1(e){return e&&String(e).trim().toLowerCase()}function Z5(e){return e===!1||e==null?e:Qe.isArray(e)?e.map(Z5):String(e)}function kEe(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const xEe=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function m8(e,t,n,r,i){if(Qe.isFunction(r))return r.call(this,t,n);if(i&&(t=n),!!Qe.isString(t)){if(Qe.isString(r))return t.indexOf(r)!==-1;if(Qe.isRegExp(r))return r.test(t)}}function DEe(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function LEe(e,t){const n=Qe.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(i,o,s){return this[r].call(this,t,i,o,s)},configurable:!0})})}let Ms=class{constructor(t){t&&this.set(t)}set(t,n,r){const i=this;function o(a,c,l){const u=f1(c);if(!u)throw new Error("header name must be a non-empty string");const d=Qe.findKey(i,u);(!d||i[d]===void 0||l===!0||l===void 0&&i[d]!==!1)&&(i[d||c]=Z5(a))}const s=(a,c)=>Qe.forEach(a,(l,u)=>o(l,u,c));if(Qe.isPlainObject(t)||t instanceof this.constructor)s(t,n);else if(Qe.isString(t)&&(t=t.trim())&&!xEe(t))s(REe(t),n);else if(Qe.isObject(t)&&Qe.isIterable(t)){let a={},c,l;for(const u of t){if(!Qe.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(c=a[l])?Qe.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}s(a,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=f1(t),t){const r=Qe.findKey(this,t);if(r){const i=this[r];if(!n)return i;if(n===!0)return kEe(i);if(Qe.isFunction(n))return n.call(this,i,r);if(Qe.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=f1(t),t){const r=Qe.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||m8(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let i=!1;function o(s){if(s=f1(s),s){const a=Qe.findKey(r,s);a&&(!n||m8(r,r[a],a,n))&&(delete r[a],i=!0)}}return Qe.isArray(t)?t.forEach(o):o(t),i}clear(t){const n=Object.keys(this);let r=n.length,i=!1;for(;r--;){const o=n[r];(!t||m8(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){const n=this,r={};return Qe.forEach(this,(i,o)=>{const s=Qe.findKey(r,o);if(s){n[s]=Z5(i),delete n[o];return}const a=t?DEe(o):String(o).trim();a!==o&&delete n[o],n[a]=Z5(i),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return Qe.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=t&&Qe.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(i=>r.set(i)),r}static accessor(t){const r=(this[LR]=this[LR]={accessors:{}}).accessors,i=this.prototype;function o(s){const a=f1(s);r[a]||(LEe(i,s),r[a]=!0)}return Qe.isArray(t)?t.forEach(o):o(t),this}};Ms.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Qe.reduceDescriptors(Ms.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});Qe.freezeMethods(Ms);function g8(e,t){const n=this||Vg,r=t||n,i=Ms.from(r.headers);let o=r.data;return Qe.forEach(e,function(a){o=a.call(n,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function yZ(e){return!!(e&&e.__CANCEL__)}function Up(e,t,n){Nn.call(this,e??"canceled",Nn.ERR_CANCELED,t,n),this.name="CanceledError"}Qe.inherits(Up,Nn,{__CANCEL__:!0});function EZ(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Nn("Request failed with status code "+n.status,[Nn.ERR_BAD_REQUEST,Nn.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function NEe(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function MEe(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i=0,o=0,s;return t=t!==void 0?t:1e3,function(c){const l=Date.now(),u=r[o];s||(s=l),n[i]=c,r[i]=l;let d=o,f=0;for(;d!==i;)f+=n[d++],d=d%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),l-s<t)return;const h=u&&l-u;return h?Math.round(f*1e3/h):void 0}}function BEe(e,t){let n=0,r=1e3/t,i,o;const s=(l,u=Date.now())=>{n=u,i=null,o&&(clearTimeout(o),o=null),e(...l)};return[(...l)=>{const u=Date.now(),d=u-n;d>=r?s(l,u):(i=l,o||(o=setTimeout(()=>{o=null,s(i)},r-d)))},()=>i&&s(i)]}const a4=(e,t,n=3)=>{let r=0;const i=MEe(50,250);return BEe(o=>{const s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-r,l=i(c),u=s<=a;r=s;const d={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&u?(a-s)/l:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(d)},n)},NR=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},MR=e=>(...t)=>Qe.asap(()=>e(...t)),FEe=Xo.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Xo.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Xo.origin),Xo.navigator&&/(msie|trident)/i.test(Xo.navigator.userAgent)):()=>!0,UEe=Xo.hasStandardBrowserEnv?{write(e,t,n,r,i,o){const s=[e+"="+encodeURIComponent(t)];Qe.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),Qe.isString(r)&&s.push("path="+r),Qe.isString(i)&&s.push("domain="+i),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function jEe(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function HEe(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function bZ(e,t,n){let r=!jEe(t);return e&&(r||n==!1)?HEe(e,t):t}const BR=e=>e instanceof Ms?{...e}:e;function uf(e,t){t=t||{};const n={};function r(l,u,d,f){return Qe.isPlainObject(l)&&Qe.isPlainObject(u)?Qe.merge.call({caseless:f},l,u):Qe.isPlainObject(u)?Qe.merge({},u):Qe.isArray(u)?u.slice():u}function i(l,u,d,f){if(Qe.isUndefined(u)){if(!Qe.isUndefined(l))return r(void 0,l,d,f)}else return r(l,u,d,f)}function o(l,u){if(!Qe.isUndefined(u))return r(void 0,u)}function s(l,u){if(Qe.isUndefined(u)){if(!Qe.isUndefined(l))return r(void 0,l)}else return r(void 0,u)}function a(l,u,d){if(d in t)return r(l,u);if(d in e)return r(void 0,l)}const c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,u,d)=>i(BR(l),BR(u),d,!0)};return Qe.forEach(Object.keys({...e,...t}),function(u){const d=c[u]||i,f=d(e[u],t[u],u);Qe.isUndefined(f)&&d!==a||(n[u]=f)}),n}const SZ=e=>{const t=uf({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:o,headers:s,auth:a}=t;t.headers=s=Ms.from(s),t.url=mZ(bZ(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(Qe.isFormData(n)){if(Xo.hasStandardBrowserEnv||Xo.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){const[l,...u]=c?c.split(";").map(d=>d.trim()).filter(Boolean):[];s.setContentType([l||"multipart/form-data",...u].join("; "))}}if(Xo.hasStandardBrowserEnv&&(r&&Qe.isFunction(r)&&(r=r(t)),r||r!==!1&&FEe(t.url))){const l=i&&o&&UEe.read(o);l&&s.set(i,l)}return t},zEe=typeof XMLHttpRequest<"u",WEe=zEe&&function(e){return new Promise(function(n,r){const i=SZ(e);let o=i.data;const s=Ms.from(i.headers).normalize();let{responseType:a,onUploadProgress:c,onDownloadProgress:l}=i,u,d,f,h,p;function g(){h&&h(),p&&p(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(i.method.toUpperCase(),i.url,!0),m.timeout=i.timeout;function y(){if(!m)return;const E=Ms.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),S={data:!a||a==="text"||a==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:E,config:e,request:m};EZ(function(C){n(C),g()},function(C){r(C),g()},S),m=null}"onloadend"in m?m.onloadend=y:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(y)},m.onabort=function(){m&&(r(new Nn("Request aborted",Nn.ECONNABORTED,e,m)),m=null)},m.onerror=function(){r(new Nn("Network Error",Nn.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let b=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const S=i.transitional||gZ;i.timeoutErrorMessage&&(b=i.timeoutErrorMessage),r(new Nn(b,S.clarifyTimeoutError?Nn.ETIMEDOUT:Nn.ECONNABORTED,e,m)),m=null},o===void 0&&s.setContentType(null),"setRequestHeader"in m&&Qe.forEach(s.toJSON(),function(b,S){m.setRequestHeader(S,b)}),Qe.isUndefined(i.withCredentials)||(m.withCredentials=!!i.withCredentials),a&&a!=="json"&&(m.responseType=i.responseType),l&&([f,p]=a4(l,!0),m.addEventListener("progress",f)),c&&m.upload&&([d,h]=a4(c),m.upload.addEventListener("progress",d),m.upload.addEventListener("loadend",h)),(i.cancelToken||i.signal)&&(u=E=>{m&&(r(!E||E.type?new Up(null,e,m):E),m.abort(),m=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const v=NEe(i.url);if(v&&Xo.protocols.indexOf(v)===-1){r(new Nn("Unsupported protocol "+v+":",Nn.ERR_BAD_REQUEST,e));return}m.send(o||null)})},VEe=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,i;const o=function(l){if(!i){i=!0,a();const u=l instanceof Error?l:this.reason;r.abort(u instanceof Nn?u:new Up(u instanceof Error?u.message:u))}};let s=t&&setTimeout(()=>{s=null,o(new Nn(`timeout ${t} of ms exceeded`,Nn.ETIMEDOUT))},t);const a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));const{signal:c}=r;return c.unsubscribe=()=>Qe.asap(a),c}},GEe=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},JEe=async function*(e,t){for await(const n of ZEe(e))yield*GEe(n,t)},ZEe=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},FR=(e,t,n,r)=>{const i=JEe(e,t);let o=0,s,a=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:l,value:u}=await i.next();if(l){a(),c.close();return}let d=u.byteLength;if(n){let f=o+=d;n(f)}c.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(c){return a(c),i.return()}},{highWaterMark:2})},xy=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",AZ=xy&&typeof ReadableStream=="function",YEe=xy&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),CZ=(e,...t)=>{try{return!!e(...t)}catch{return!1}},XEe=AZ&&CZ(()=>{let e=!1;const t=new Request(Xo.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),UR=64*1024,tb=AZ&&CZ(()=>Qe.isReadableStream(new Response("").body)),c4={stream:tb&&(e=>e.body)};xy&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!c4[t]&&(c4[t]=Qe.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new Nn(`Response type '${t}' is not supported`,Nn.ERR_NOT_SUPPORT,r)})})})(new Response);const QEe=async e=>{if(e==null)return 0;if(Qe.isBlob(e))return e.size;if(Qe.isSpecCompliantForm(e))return(await new Request(Xo.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(Qe.isArrayBufferView(e)||Qe.isArrayBuffer(e))return e.byteLength;if(Qe.isURLSearchParams(e)&&(e=e+""),Qe.isString(e))return(await YEe(e)).byteLength},KEe=async(e,t)=>{const n=Qe.toFiniteNumber(e.getContentLength());return n??QEe(t)},qEe=xy&&(async e=>{let{url:t,method:n,data:r,signal:i,cancelToken:o,timeout:s,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:u,withCredentials:d="same-origin",fetchOptions:f}=SZ(e);l=l?(l+"").toLowerCase():"text";let h=VEe([i,o&&o.toAbortSignal()],s),p;const g=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let m;try{if(c&&XEe&&n!=="get"&&n!=="head"&&(m=await KEe(u,r))!==0){let S=new Request(t,{method:"POST",body:r,duplex:"half"}),w;if(Qe.isFormData(r)&&(w=S.headers.get("content-type"))&&u.setContentType(w),S.body){const[C,_]=NR(m,a4(MR(c)));r=FR(S.body,UR,C,_)}}Qe.isString(d)||(d=d?"include":"omit");const y="credentials"in Request.prototype;p=new Request(t,{...f,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:y?d:void 0});let v=await fetch(p,f);const E=tb&&(l==="stream"||l==="response");if(tb&&(a||E&&g)){const S={};["status","statusText","headers"].forEach(I=>{S[I]=v[I]});const w=Qe.toFiniteNumber(v.headers.get("content-length")),[C,_]=a&&NR(w,a4(MR(a),!0))||[];v=new Response(FR(v.body,UR,C,()=>{_&&_(),g&&g()}),S)}l=l||"text";let b=await c4[Qe.findKey(c4,l)||"text"](v,e);return!E&&g&&g(),await new Promise((S,w)=>{EZ(S,w,{data:b,headers:Ms.from(v.headers),status:v.status,statusText:v.statusText,config:e,request:p})})}catch(y){throw g&&g(),y&&y.name==="TypeError"&&/Load failed|fetch/i.test(y.message)?Object.assign(new Nn("Network Error",Nn.ERR_NETWORK,e,p),{cause:y.cause||y}):Nn.from(y,y&&y.code,e,p)}}),nb={http:hEe,xhr:WEe,fetch:qEe};Qe.forEach(nb,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const jR=e=>`- ${e}`,$Ee=e=>Qe.isFunction(e)||e===null||e===!1,wZ={getAdapter:e=>{e=Qe.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o<t;o++){n=e[o];let s;if(r=n,!$Ee(n)&&(r=nb[(s=String(n)).toLowerCase()],r===void 0))throw new Nn(`Unknown adapter '${s}'`);if(r)break;i[s||"#"+o]=r}if(!r){const o=Object.entries(i).map(([a,c])=>`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build"));let s=t?o.length>1?`since :
`+o.map(jR).join(`
`):" "+jR(o[0]):"as no adapter specified";throw new Nn("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return r},adapters:nb};function v8(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Up(null,e)}function HR(e){return v8(e),e.headers=Ms.from(e.headers),e.data=g8.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),wZ.getAdapter(e.adapter||Vg.adapter)(e).then(function(r){return v8(e),r.data=g8.call(e,e.transformResponse,r),r.headers=Ms.from(r.headers),r},function(r){return yZ(r)||(v8(e),r&&r.response&&(r.response.data=g8.call(e,e.transformResponse,r.response),r.response.headers=Ms.from(r.response.headers))),Promise.reject(r)})}const TZ="1.11.0",Dy={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Dy[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const zR={};Dy.transitional=function(t,n,r){function i(o,s){return"[Axios v"+TZ+"] Transitional option '"+o+"'"+s+(r?". "+r:"")}return(o,s,a)=>{if(t===!1)throw new Nn(i(s," has been removed"+(n?" in "+n:"")),Nn.ERR_DEPRECATED);return n&&!zR[s]&&(zR[s]=!0,console.warn(i(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,s,a):!0}};Dy.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function e7e(e,t,n){if(typeof e!="object")throw new Nn("options must be an object",Nn.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],s=t[o];if(s){const a=e[o],c=a===void 0||s(a,o,e);if(c!==!0)throw new Nn("option "+o+" must be "+c,Nn.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Nn("Unknown option "+o,Nn.ERR_BAD_OPTION)}}const Y5={assertOptions:e7e,validators:Dy},Oc=Y5.validators;let q0=class{constructor(t){this.defaults=t||{},this.interceptors={request:new DR,response:new DR}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const o=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=`
`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=uf(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&Y5.assertOptions(r,{silentJSONParsing:Oc.transitional(Oc.boolean),forcedJSONParsing:Oc.transitional(Oc.boolean),clarifyTimeoutError:Oc.transitional(Oc.boolean)},!1),i!=null&&(Qe.isFunction(i)?n.paramsSerializer={serialize:i}:Y5.assertOptions(i,{encode:Oc.function,serialize:Oc.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Y5.assertOptions(n,{baseUrl:Oc.spelling("baseURL"),withXsrfToken:Oc.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&Qe.merge(o.common,o[n.method]);o&&Qe.forEach(["delete","get","head","post","put","patch","common"],p=>{delete o[p]}),n.headers=Ms.concat(s,o);const a=[];let c=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(c=c&&g.synchronous,a.unshift(g.fulfilled,g.rejected))});const l=[];this.interceptors.response.forEach(function(g){l.push(g.fulfilled,g.rejected)});let u,d=0,f;if(!c){const p=[HR.bind(this),void 0];for(p.unshift(...a),p.push(...l),f=p.length,u=Promise.resolve(n);d<f;)u=u.then(p[d++],p[d++]);return u}f=a.length;let h=n;for(d=0;d<f;){const p=a[d++],g=a[d++];try{h=p(h)}catch(m){g.call(this,m);break}}try{u=HR.call(this,h)}catch(p){return Promise.reject(p)}for(d=0,f=l.length;d<f;)u=u.then(l[d++],l[d++]);return u}getUri(t){t=uf(this.defaults,t);const n=bZ(t.baseURL,t.url,t.allowAbsoluteUrls);return mZ(n,t.params,t.paramsSerializer)}};Qe.forEach(["delete","get","head","options"],function(t){q0.prototype[t]=function(n,r){return this.request(uf(r||{},{method:t,url:n,data:(r||{}).data}))}});Qe.forEach(["post","put","patch"],function(t){function n(r){return function(o,s,a){return this.request(uf(a||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}q0.prototype[t]=n(),q0.prototype[t+"Form"]=n(!0)});let t7e=class IZ{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o;const s=new Promise(a=>{r.subscribe(a),o=a}).then(i);return s.cancel=function(){r.unsubscribe(o)},s},t(function(o,s,a){r.reason||(r.reason=new Up(o,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new IZ(function(i){t=i}),cancel:t}}};function n7e(e){return function(n){return e.apply(null,n)}}function r7e(e){return Qe.isObject(e)&&e.isAxiosError===!0}const rb={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(rb).forEach(([e,t])=>{rb[t]=e});function PZ(e){const t=new q0(e),n=rZ(q0.prototype.request,t);return Qe.extend(n,q0.prototype,t,{allOwnKeys:!0}),Qe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return PZ(uf(e,i))},n}const to=PZ(Vg);to.Axios=q0;to.CanceledError=Up;to.CancelToken=t7e;to.isCancel=yZ;to.VERSION=TZ;to.toFormData=ky;to.AxiosError=Nn;to.Cancel=to.CanceledError;to.all=function(t){return Promise.all(t)};to.spread=n7e;to.isAxiosError=r7e;to.mergeConfig=uf;to.AxiosHeaders=Ms;to.formToJSON=e=>vZ(Qe.isHTMLForm(e)?new FormData(e):e);to.getAdapter=wZ.getAdapter;to.HttpStatusCode=rb;to.default=to;const{Axios:aZe,AxiosError:cZe,CanceledError:lZe,isCancel:uZe,CancelToken:dZe,VERSION:fZe,all:hZe,Cancel:pZe,isAxiosError:mZe,spread:gZe,toFormData:vZe,AxiosHeaders:yZe,HttpStatusCode:EZe,formToJSON:bZe,getAdapter:SZe,mergeConfig:AZe}=to;var X5={exports:{}};function i7e(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Q5={exports:{}};const o7e={},s7e=Object.freeze(Object.defineProperty({__proto__:null,default:o7e},Symbol.toStringTag,{value:"Module"})),a7e=l5e(s7e);var c7e=Q5.exports,WR;function sr(){return WR||(WR=1,(function(e,t){(function(n,r){e.exports=r()})(c7e,function(){var n=n||(function(r,i){var o;if(typeof window<"u"&&window.crypto&&(o=window.crypto),typeof self<"u"&&self.crypto&&(o=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(o=globalThis.crypto),!o&&typeof window<"u"&&window.msCrypto&&(o=window.msCrypto),!o&&typeof e8<"u"&&e8.crypto&&(o=e8.crypto),!o&&typeof i7e=="function")try{o=a7e}catch{}var s=function(){if(o){if(typeof o.getRandomValues=="function")try{return o.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof o.randomBytes=="function")try{return o.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},a=Object.create||(function(){function v(){}return function(E){var b;return v.prototype=E,b=new v,v.prototype=null,b}})(),c={},l=c.lib={},u=l.Base=(function(){return{extend:function(v){var E=a(this);return v&&E.mixIn(v),(!E.hasOwnProperty("init")||this.init===E.init)&&(E.init=function(){E.$super.init.apply(this,arguments)}),E.init.prototype=E,E.$super=this,E},create:function(){var v=this.extend();return v.init.apply(v,arguments),v},init:function(){},mixIn:function(v){for(var E in v)v.hasOwnProperty(E)&&(this[E]=v[E]);v.hasOwnProperty("toString")&&(this.toString=v.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),d=l.WordArray=u.extend({init:function(v,E){v=this.words=v||[],E!=i?this.sigBytes=E:this.sigBytes=v.length*4},toString:function(v){return(v||h).stringify(this)},concat:function(v){var E=this.words,b=v.words,S=this.sigBytes,w=v.sigBytes;if(this.clamp(),S%4)for(var C=0;C<w;C++){var _=b[C>>>2]>>>24-C%4*8&255;E[S+C>>>2]|=_<<24-(S+C)%4*8}else for(var I=0;I<w;I+=4)E[S+I>>>2]=b[I>>>2];return this.sigBytes+=w,this},clamp:function(){var v=this.words,E=this.sigBytes;v[E>>>2]&=4294967295<<32-E%4*8,v.length=r.ceil(E/4)},clone:function(){var v=u.clone.call(this);return v.words=this.words.slice(0),v},random:function(v){for(var E=[],b=0;b<v;b+=4)E.push(s());return new d.init(E,v)}}),f=c.enc={},h=f.Hex={stringify:function(v){for(var E=v.words,b=v.sigBytes,S=[],w=0;w<b;w++){var C=E[w>>>2]>>>24-w%4*8&255;S.push((C>>>4).toString(16)),S.push((C&15).toString(16))}return S.join("")},parse:function(v){for(var E=v.length,b=[],S=0;S<E;S+=2)b[S>>>3]|=parseInt(v.substr(S,2),16)<<24-S%8*4;return new d.init(b,E/2)}},p=f.Latin1={stringify:function(v){for(var E=v.words,b=v.sigBytes,S=[],w=0;w<b;w++){var C=E[w>>>2]>>>24-w%4*8&255;S.push(String.fromCharCode(C))}return S.join("")},parse:function(v){for(var E=v.length,b=[],S=0;S<E;S++)b[S>>>2]|=(v.charCodeAt(S)&255)<<24-S%4*8;return new d.init(b,E)}},g=f.Utf8={stringify:function(v){try{return decodeURIComponent(escape(p.stringify(v)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(v){return p.parse(unescape(encodeURIComponent(v)))}},m=l.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(v){typeof v=="string"&&(v=g.parse(v)),this._data.concat(v),this._nDataBytes+=v.sigBytes},_process:function(v){var E,b=this._data,S=b.words,w=b.sigBytes,C=this.blockSize,_=C*4,I=w/_;v?I=r.ceil(I):I=r.max((I|0)-this._minBufferSize,0);var O=I*C,L=r.min(O*4,w);if(O){for(var R=0;R<O;R+=C)this._doProcessBlock(S,R);E=S.splice(0,O),b.sigBytes-=L}return new d.init(E,L)},clone:function(){var v=u.clone.call(this);return v._data=this._data.clone(),v},_minBufferSize:0});l.Hasher=m.extend({cfg:u.extend(),init:function(v){this.cfg=this.cfg.extend(v),this.reset()},reset:function(){m.reset.call(this),this._doReset()},update:function(v){return this._append(v),this._process(),this},finalize:function(v){v&&this._append(v);var E=this._doFinalize();return E},blockSize:16,_createHelper:function(v){return function(E,b){return new v.init(b).finalize(E)}},_createHmacHelper:function(v){return function(E,b){return new y.HMAC.init(v,b).finalize(E)}}});var y=c.algo={};return c})(Math);return n})})(Q5)),Q5.exports}var K5={exports:{}},l7e=K5.exports,VR;function Ly(){return VR||(VR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(l7e,function(n){return(function(r){var i=n,o=i.lib,s=o.Base,a=o.WordArray,c=i.x64={};c.Word=s.extend({init:function(l,u){this.high=l,this.low=u}}),c.WordArray=s.extend({init:function(l,u){l=this.words=l||[],u!=r?this.sigBytes=u:this.sigBytes=l.length*8},toX32:function(){for(var l=this.words,u=l.length,d=[],f=0;f<u;f++){var h=l[f];d.push(h.high),d.push(h.low)}return a.create(d,this.sigBytes)},clone:function(){for(var l=s.clone.call(this),u=l.words=this.words.slice(0),d=u.length,f=0;f<d;f++)u[f]=u[f].clone();return l}})})(),n})})(K5)),K5.exports}var q5={exports:{}},u7e=q5.exports,GR;function d7e(){return GR||(GR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(u7e,function(n){return(function(){if(typeof ArrayBuffer=="function"){var r=n,i=r.lib,o=i.WordArray,s=o.init,a=o.init=function(c){if(c instanceof ArrayBuffer&&(c=new Uint8Array(c)),(c instanceof Int8Array||typeof Uint8ClampedArray<"u"&&c instanceof Uint8ClampedArray||c instanceof Int16Array||c instanceof Uint16Array||c instanceof Int32Array||c instanceof Uint32Array||c instanceof Float32Array||c instanceof Float64Array)&&(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),c instanceof Uint8Array){for(var l=c.byteLength,u=[],d=0;d<l;d++)u[d>>>2]|=c[d]<<24-d%4*8;s.call(this,u,l)}else s.apply(this,arguments)};a.prototype=o}})(),n.lib.WordArray})})(q5)),q5.exports}var $5={exports:{}},f7e=$5.exports,JR;function h7e(){return JR||(JR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(f7e,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=r.enc;s.Utf16=s.Utf16BE={stringify:function(c){for(var l=c.words,u=c.sigBytes,d=[],f=0;f<u;f+=2){var h=l[f>>>2]>>>16-f%4*8&65535;d.push(String.fromCharCode(h))}return d.join("")},parse:function(c){for(var l=c.length,u=[],d=0;d<l;d++)u[d>>>1]|=c.charCodeAt(d)<<16-d%2*16;return o.create(u,l*2)}},s.Utf16LE={stringify:function(c){for(var l=c.words,u=c.sigBytes,d=[],f=0;f<u;f+=2){var h=a(l[f>>>2]>>>16-f%4*8&65535);d.push(String.fromCharCode(h))}return d.join("")},parse:function(c){for(var l=c.length,u=[],d=0;d<l;d++)u[d>>>1]|=a(c.charCodeAt(d)<<16-d%2*16);return o.create(u,l*2)}};function a(c){return c<<8&4278255360|c>>>8&16711935}})(),n.enc.Utf16})})($5)),$5.exports}var ev={exports:{}},p7e=ev.exports,ZR;function Cf(){return ZR||(ZR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(p7e,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=r.enc;s.Base64={stringify:function(c){var l=c.words,u=c.sigBytes,d=this._map;c.clamp();for(var f=[],h=0;h<u;h+=3)for(var p=l[h>>>2]>>>24-h%4*8&255,g=l[h+1>>>2]>>>24-(h+1)%4*8&255,m=l[h+2>>>2]>>>24-(h+2)%4*8&255,y=p<<16|g<<8|m,v=0;v<4&&h+v*.75<u;v++)f.push(d.charAt(y>>>6*(3-v)&63));var E=d.charAt(64);if(E)for(;f.length%4;)f.push(E);return f.join("")},parse:function(c){var l=c.length,u=this._map,d=this._reverseMap;if(!d){d=this._reverseMap=[];for(var f=0;f<u.length;f++)d[u.charCodeAt(f)]=f}var h=u.charAt(64);if(h){var p=c.indexOf(h);p!==-1&&(l=p)}return a(c,l,d)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function a(c,l,u){for(var d=[],f=0,h=0;h<l;h++)if(h%4){var p=u[c.charCodeAt(h-1)]<<h%4*2,g=u[c.charCodeAt(h)]>>>6-h%4*2,m=p|g;d[f>>>2]|=m<<24-f%4*8,f++}return o.create(d,f)}})(),n.enc.Base64})})(ev)),ev.exports}var tv={exports:{}},m7e=tv.exports,YR;function g7e(){return YR||(YR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(m7e,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=r.enc;s.Base64url={stringify:function(c,l){l===void 0&&(l=!0);var u=c.words,d=c.sigBytes,f=l?this._safe_map:this._map;c.clamp();for(var h=[],p=0;p<d;p+=3)for(var g=u[p>>>2]>>>24-p%4*8&255,m=u[p+1>>>2]>>>24-(p+1)%4*8&255,y=u[p+2>>>2]>>>24-(p+2)%4*8&255,v=g<<16|m<<8|y,E=0;E<4&&p+E*.75<d;E++)h.push(f.charAt(v>>>6*(3-E)&63));var b=f.charAt(64);if(b)for(;h.length%4;)h.push(b);return h.join("")},parse:function(c,l){l===void 0&&(l=!0);var u=c.length,d=l?this._safe_map:this._map,f=this._reverseMap;if(!f){f=this._reverseMap=[];for(var h=0;h<d.length;h++)f[d.charCodeAt(h)]=h}var p=d.charAt(64);if(p){var g=c.indexOf(p);g!==-1&&(u=g)}return a(c,u,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function a(c,l,u){for(var d=[],f=0,h=0;h<l;h++)if(h%4){var p=u[c.charCodeAt(h-1)]<<h%4*2,g=u[c.charCodeAt(h)]>>>6-h%4*2,m=p|g;d[f>>>2]|=m<<24-f%4*8,f++}return o.create(d,f)}})(),n.enc.Base64url})})(tv)),tv.exports}var nv={exports:{}},v7e=nv.exports,XR;function wf(){return XR||(XR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(v7e,function(n){return(function(r){var i=n,o=i.lib,s=o.WordArray,a=o.Hasher,c=i.algo,l=[];(function(){for(var g=0;g<64;g++)l[g]=r.abs(r.sin(g+1))*4294967296|0})();var u=c.MD5=a.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(g,m){for(var y=0;y<16;y++){var v=m+y,E=g[v];g[v]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360}var b=this._hash.words,S=g[m+0],w=g[m+1],C=g[m+2],_=g[m+3],I=g[m+4],O=g[m+5],L=g[m+6],R=g[m+7],F=g[m+8],W=g[m+9],J=g[m+10],Y=g[m+11],M=g[m+12],B=g[m+13],q=g[m+14],z=g[m+15],A=b[0],T=b[1],k=b[2],j=b[3];A=d(A,T,k,j,S,7,l[0]),j=d(j,A,T,k,w,12,l[1]),k=d(k,j,A,T,C,17,l[2]),T=d(T,k,j,A,_,22,l[3]),A=d(A,T,k,j,I,7,l[4]),j=d(j,A,T,k,O,12,l[5]),k=d(k,j,A,T,L,17,l[6]),T=d(T,k,j,A,R,22,l[7]),A=d(A,T,k,j,F,7,l[8]),j=d(j,A,T,k,W,12,l[9]),k=d(k,j,A,T,J,17,l[10]),T=d(T,k,j,A,Y,22,l[11]),A=d(A,T,k,j,M,7,l[12]),j=d(j,A,T,k,B,12,l[13]),k=d(k,j,A,T,q,17,l[14]),T=d(T,k,j,A,z,22,l[15]),A=f(A,T,k,j,w,5,l[16]),j=f(j,A,T,k,L,9,l[17]),k=f(k,j,A,T,Y,14,l[18]),T=f(T,k,j,A,S,20,l[19]),A=f(A,T,k,j,O,5,l[20]),j=f(j,A,T,k,J,9,l[21]),k=f(k,j,A,T,z,14,l[22]),T=f(T,k,j,A,I,20,l[23]),A=f(A,T,k,j,W,5,l[24]),j=f(j,A,T,k,q,9,l[25]),k=f(k,j,A,T,_,14,l[26]),T=f(T,k,j,A,F,20,l[27]),A=f(A,T,k,j,B,5,l[28]),j=f(j,A,T,k,C,9,l[29]),k=f(k,j,A,T,R,14,l[30]),T=f(T,k,j,A,M,20,l[31]),A=h(A,T,k,j,O,4,l[32]),j=h(j,A,T,k,F,11,l[33]),k=h(k,j,A,T,Y,16,l[34]),T=h(T,k,j,A,q,23,l[35]),A=h(A,T,k,j,w,4,l[36]),j=h(j,A,T,k,I,11,l[37]),k=h(k,j,A,T,R,16,l[38]),T=h(T,k,j,A,J,23,l[39]),A=h(A,T,k,j,B,4,l[40]),j=h(j,A,T,k,S,11,l[41]),k=h(k,j,A,T,_,16,l[42]),T=h(T,k,j,A,L,23,l[43]),A=h(A,T,k,j,W,4,l[44]),j=h(j,A,T,k,M,11,l[45]),k=h(k,j,A,T,z,16,l[46]),T=h(T,k,j,A,C,23,l[47]),A=p(A,T,k,j,S,6,l[48]),j=p(j,A,T,k,R,10,l[49]),k=p(k,j,A,T,q,15,l[50]),T=p(T,k,j,A,O,21,l[51]),A=p(A,T,k,j,M,6,l[52]),j=p(j,A,T,k,_,10,l[53]),k=p(k,j,A,T,J,15,l[54]),T=p(T,k,j,A,w,21,l[55]),A=p(A,T,k,j,F,6,l[56]),j=p(j,A,T,k,z,10,l[57]),k=p(k,j,A,T,L,15,l[58]),T=p(T,k,j,A,B,21,l[59]),A=p(A,T,k,j,I,6,l[60]),j=p(j,A,T,k,Y,10,l[61]),k=p(k,j,A,T,C,15,l[62]),T=p(T,k,j,A,W,21,l[63]),b[0]=b[0]+A|0,b[1]=b[1]+T|0,b[2]=b[2]+k|0,b[3]=b[3]+j|0},_doFinalize:function(){var g=this._data,m=g.words,y=this._nDataBytes*8,v=g.sigBytes*8;m[v>>>5]|=128<<24-v%32;var E=r.floor(y/4294967296),b=y;m[(v+64>>>9<<4)+15]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,m[(v+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,g.sigBytes=(m.length+1)*4,this._process();for(var S=this._hash,w=S.words,C=0;C<4;C++){var _=w[C];w[C]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360}return S},clone:function(){var g=a.clone.call(this);return g._hash=this._hash.clone(),g}});function d(g,m,y,v,E,b,S){var w=g+(m&y|~m&v)+E+S;return(w<<b|w>>>32-b)+m}function f(g,m,y,v,E,b,S){var w=g+(m&v|y&~v)+E+S;return(w<<b|w>>>32-b)+m}function h(g,m,y,v,E,b,S){var w=g+(m^y^v)+E+S;return(w<<b|w>>>32-b)+m}function p(g,m,y,v,E,b,S){var w=g+(y^(m|~v))+E+S;return(w<<b|w>>>32-b)+m}i.MD5=a._createHelper(u),i.HmacMD5=a._createHmacHelper(u)})(Math),n.MD5})})(nv)),nv.exports}var rv={exports:{}},y7e=rv.exports,QR;function OZ(){return QR||(QR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(y7e,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=i.Hasher,a=r.algo,c=[],l=a.SHA1=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(u,d){for(var f=this._hash.words,h=f[0],p=f[1],g=f[2],m=f[3],y=f[4],v=0;v<80;v++){if(v<16)c[v]=u[d+v]|0;else{var E=c[v-3]^c[v-8]^c[v-14]^c[v-16];c[v]=E<<1|E>>>31}var b=(h<<5|h>>>27)+y+c[v];v<20?b+=(p&g|~p&m)+1518500249:v<40?b+=(p^g^m)+1859775393:v<60?b+=(p&g|p&m|g&m)-1894007588:b+=(p^g^m)-899497514,y=m,m=g,g=p<<30|p>>>2,p=h,h=b}f[0]=f[0]+h|0,f[1]=f[1]+p|0,f[2]=f[2]+g|0,f[3]=f[3]+m|0,f[4]=f[4]+y|0},_doFinalize:function(){var u=this._data,d=u.words,f=this._nDataBytes*8,h=u.sigBytes*8;return d[h>>>5]|=128<<24-h%32,d[(h+64>>>9<<4)+14]=Math.floor(f/4294967296),d[(h+64>>>9<<4)+15]=f,u.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var u=s.clone.call(this);return u._hash=this._hash.clone(),u}});r.SHA1=s._createHelper(l),r.HmacSHA1=s._createHmacHelper(l)})(),n.SHA1})})(rv)),rv.exports}var iv={exports:{}},E7e=iv.exports,KR;function iT(){return KR||(KR=1,(function(e,t){(function(n,r){e.exports=r(sr())})(E7e,function(n){return(function(r){var i=n,o=i.lib,s=o.WordArray,a=o.Hasher,c=i.algo,l=[],u=[];(function(){function h(y){for(var v=r.sqrt(y),E=2;E<=v;E++)if(!(y%E))return!1;return!0}function p(y){return(y-(y|0))*4294967296|0}for(var g=2,m=0;m<64;)h(g)&&(m<8&&(l[m]=p(r.pow(g,1/2))),u[m]=p(r.pow(g,1/3)),m++),g++})();var d=[],f=c.SHA256=a.extend({_doReset:function(){this._hash=new s.init(l.slice(0))},_doProcessBlock:function(h,p){for(var g=this._hash.words,m=g[0],y=g[1],v=g[2],E=g[3],b=g[4],S=g[5],w=g[6],C=g[7],_=0;_<64;_++){if(_<16)d[_]=h[p+_]|0;else{var I=d[_-15],O=(I<<25|I>>>7)^(I<<14|I>>>18)^I>>>3,L=d[_-2],R=(L<<15|L>>>17)^(L<<13|L>>>19)^L>>>10;d[_]=O+d[_-7]+R+d[_-16]}var F=b&S^~b&w,W=m&y^m&v^y&v,J=(m<<30|m>>>2)^(m<<19|m>>>13)^(m<<10|m>>>22),Y=(b<<26|b>>>6)^(b<<21|b>>>11)^(b<<7|b>>>25),M=C+Y+F+u[_]+d[_],B=J+W;C=w,w=S,S=b,b=E+M|0,E=v,v=y,y=m,m=M+B|0}g[0]=g[0]+m|0,g[1]=g[1]+y|0,g[2]=g[2]+v|0,g[3]=g[3]+E|0,g[4]=g[4]+b|0,g[5]=g[5]+S|0,g[6]=g[6]+w|0,g[7]=g[7]+C|0},_doFinalize:function(){var h=this._data,p=h.words,g=this._nDataBytes*8,m=h.sigBytes*8;return p[m>>>5]|=128<<24-m%32,p[(m+64>>>9<<4)+14]=r.floor(g/4294967296),p[(m+64>>>9<<4)+15]=g,h.sigBytes=p.length*4,this._process(),this._hash},clone:function(){var h=a.clone.call(this);return h._hash=this._hash.clone(),h}});i.SHA256=a._createHelper(f),i.HmacSHA256=a._createHmacHelper(f)})(Math),n.SHA256})})(iv)),iv.exports}var ov={exports:{}},b7e=ov.exports,qR;function S7e(){return qR||(qR=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),iT())})(b7e,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=r.algo,a=s.SHA256,c=s.SHA224=a.extend({_doReset:function(){this._hash=new o.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var l=a._doFinalize.call(this);return l.sigBytes-=4,l}});r.SHA224=a._createHelper(c),r.HmacSHA224=a._createHmacHelper(c)})(),n.SHA224})})(ov)),ov.exports}var sv={exports:{}},A7e=sv.exports,$R;function _Z(){return $R||($R=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Ly())})(A7e,function(n){return(function(){var r=n,i=r.lib,o=i.Hasher,s=r.x64,a=s.Word,c=s.WordArray,l=r.algo;function u(){return a.create.apply(a,arguments)}var d=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)],f=[];(function(){for(var p=0;p<80;p++)f[p]=u()})();var h=l.SHA512=o.extend({_doReset:function(){this._hash=new c.init([new a.init(1779033703,4089235720),new a.init(3144134277,2227873595),new a.init(1013904242,4271175723),new a.init(2773480762,1595750129),new a.init(1359893119,2917565137),new a.init(2600822924,725511199),new a.init(528734635,4215389547),new a.init(1541459225,327033209)])},_doProcessBlock:function(p,g){for(var m=this._hash.words,y=m[0],v=m[1],E=m[2],b=m[3],S=m[4],w=m[5],C=m[6],_=m[7],I=y.high,O=y.low,L=v.high,R=v.low,F=E.high,W=E.low,J=b.high,Y=b.low,M=S.high,B=S.low,q=w.high,z=w.low,A=C.high,T=C.low,k=_.high,j=_.low,re=I,me=O,te=L,X=R,fe=F,le=W,ve=J,Z=Y,ae=M,pe=B,K=q,ce=z,ye=A,ee=T,$=k,ge=j,ie=0;ie<80;ie++){var Ie,Ce,oe=f[ie];if(ie<16)Ce=oe.high=p[g+ie*2]|0,Ie=oe.low=p[g+ie*2+1]|0;else{var Ne=f[ie-15],x=Ne.high,N=Ne.low,U=(x>>>1|N<<31)^(x>>>8|N<<24)^x>>>7,de=(N>>>1|x<<31)^(N>>>8|x<<24)^(N>>>7|x<<25),we=f[ie-2],Ae=we.high,Le=we.low,ue=(Ae>>>19|Le<<13)^(Ae<<3|Le>>>29)^Ae>>>6,Ee=(Le>>>19|Ae<<13)^(Le<<3|Ae>>>29)^(Le>>>6|Ae<<26),He=f[ie-7],Xe=He.high,qe=He.low,It=f[ie-16],We=It.high,$e=It.low;Ie=de+qe,Ce=U+Xe+(Ie>>>0<de>>>0?1:0),Ie=Ie+Ee,Ce=Ce+ue+(Ie>>>0<Ee>>>0?1:0),Ie=Ie+$e,Ce=Ce+We+(Ie>>>0<$e>>>0?1:0),oe.high=Ce,oe.low=Ie}var ht=ae&K^~ae&ye,Ht=pe&ce^~pe&ee,_t=re&te^re&fe^te&fe,qt=me&X^me&le^X&le,nn=(re>>>28|me<<4)^(re<<30|me>>>2)^(re<<25|me>>>7),kn=(me>>>28|re<<4)^(me<<30|re>>>2)^(me<<25|re>>>7),Jn=(ae>>>14|pe<<18)^(ae>>>18|pe<<14)^(ae<<23|pe>>>9),oi=(pe>>>14|ae<<18)^(pe>>>18|ae<<14)^(pe<<23|ae>>>9),Se=d[ie],Oe=Se.high,ct=Se.low,gt=ge+oi,Et=$+Jn+(gt>>>0<ge>>>0?1:0),gt=gt+Ht,Et=Et+ht+(gt>>>0<Ht>>>0?1:0),gt=gt+ct,Et=Et+Oe+(gt>>>0<ct>>>0?1:0),gt=gt+Ie,Et=Et+Ce+(gt>>>0<Ie>>>0?1:0),$n=kn+qt,Mi=nn+_t+($n>>>0<kn>>>0?1:0);$=ye,ge=ee,ye=K,ee=ce,K=ae,ce=pe,pe=Z+gt|0,ae=ve+Et+(pe>>>0<Z>>>0?1:0)|0,ve=fe,Z=le,fe=te,le=X,te=re,X=me,me=gt+$n|0,re=Et+Mi+(me>>>0<gt>>>0?1:0)|0}O=y.low=O+me,y.high=I+re+(O>>>0<me>>>0?1:0),R=v.low=R+X,v.high=L+te+(R>>>0<X>>>0?1:0),W=E.low=W+le,E.high=F+fe+(W>>>0<le>>>0?1:0),Y=b.low=Y+Z,b.high=J+ve+(Y>>>0<Z>>>0?1:0),B=S.low=B+pe,S.high=M+ae+(B>>>0<pe>>>0?1:0),z=w.low=z+ce,w.high=q+K+(z>>>0<ce>>>0?1:0),T=C.low=T+ee,C.high=A+ye+(T>>>0<ee>>>0?1:0),j=_.low=j+ge,_.high=k+$+(j>>>0<ge>>>0?1:0)},_doFinalize:function(){var p=this._data,g=p.words,m=this._nDataBytes*8,y=p.sigBytes*8;g[y>>>5]|=128<<24-y%32,g[(y+128>>>10<<5)+30]=Math.floor(m/4294967296),g[(y+128>>>10<<5)+31]=m,p.sigBytes=g.length*4,this._process();var v=this._hash.toX32();return v},clone:function(){var p=o.clone.call(this);return p._hash=this._hash.clone(),p},blockSize:1024/32});r.SHA512=o._createHelper(h),r.HmacSHA512=o._createHmacHelper(h)})(),n.SHA512})})(sv)),sv.exports}var av={exports:{}},C7e=av.exports,ek;function w7e(){return ek||(ek=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Ly(),_Z())})(C7e,function(n){return(function(){var r=n,i=r.x64,o=i.Word,s=i.WordArray,a=r.algo,c=a.SHA512,l=a.SHA384=c.extend({_doReset:function(){this._hash=new s.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var u=c._doFinalize.call(this);return u.sigBytes-=16,u}});r.SHA384=c._createHelper(l),r.HmacSHA384=c._createHmacHelper(l)})(),n.SHA384})})(av)),av.exports}var cv={exports:{}},T7e=cv.exports,tk;function I7e(){return tk||(tk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Ly())})(T7e,function(n){return(function(r){var i=n,o=i.lib,s=o.WordArray,a=o.Hasher,c=i.x64,l=c.Word,u=i.algo,d=[],f=[],h=[];(function(){for(var m=1,y=0,v=0;v<24;v++){d[m+5*y]=(v+1)*(v+2)/2%64;var E=y%5,b=(2*m+3*y)%5;m=E,y=b}for(var m=0;m<5;m++)for(var y=0;y<5;y++)f[m+5*y]=y+(2*m+3*y)%5*5;for(var S=1,w=0;w<24;w++){for(var C=0,_=0,I=0;I<7;I++){if(S&1){var O=(1<<I)-1;O<32?_^=1<<O:C^=1<<O-32}S&128?S=S<<1^113:S<<=1}h[w]=l.create(C,_)}})();var p=[];(function(){for(var m=0;m<25;m++)p[m]=l.create()})();var g=u.SHA3=a.extend({cfg:a.cfg.extend({outputLength:512}),_doReset:function(){for(var m=this._state=[],y=0;y<25;y++)m[y]=new l.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(m,y){for(var v=this._state,E=this.blockSize/2,b=0;b<E;b++){var S=m[y+2*b],w=m[y+2*b+1];S=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360,w=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360;var C=v[b];C.high^=w,C.low^=S}for(var _=0;_<24;_++){for(var I=0;I<5;I++){for(var O=0,L=0,R=0;R<5;R++){var C=v[I+5*R];O^=C.high,L^=C.low}var F=p[I];F.high=O,F.low=L}for(var I=0;I<5;I++)for(var W=p[(I+4)%5],J=p[(I+1)%5],Y=J.high,M=J.low,O=W.high^(Y<<1|M>>>31),L=W.low^(M<<1|Y>>>31),R=0;R<5;R++){var C=v[I+5*R];C.high^=O,C.low^=L}for(var B=1;B<25;B++){var O,L,C=v[B],q=C.high,z=C.low,A=d[B];A<32?(O=q<<A|z>>>32-A,L=z<<A|q>>>32-A):(O=z<<A-32|q>>>64-A,L=q<<A-32|z>>>64-A);var T=p[f[B]];T.high=O,T.low=L}var k=p[0],j=v[0];k.high=j.high,k.low=j.low;for(var I=0;I<5;I++)for(var R=0;R<5;R++){var B=I+5*R,C=v[B],re=p[B],me=p[(I+1)%5+5*R],te=p[(I+2)%5+5*R];C.high=re.high^~me.high&te.high,C.low=re.low^~me.low&te.low}var C=v[0],X=h[_];C.high^=X.high,C.low^=X.low}},_doFinalize:function(){var m=this._data,y=m.words;this._nDataBytes*8;var v=m.sigBytes*8,E=this.blockSize*32;y[v>>>5]|=1<<24-v%32,y[(r.ceil((v+1)/E)*E>>>5)-1]|=128,m.sigBytes=y.length*4,this._process();for(var b=this._state,S=this.cfg.outputLength/8,w=S/8,C=[],_=0;_<w;_++){var I=b[_],O=I.high,L=I.low;O=(O<<8|O>>>24)&16711935|(O<<24|O>>>8)&4278255360,L=(L<<8|L>>>24)&16711935|(L<<24|L>>>8)&4278255360,C.push(L),C.push(O)}return new s.init(C,S)},clone:function(){for(var m=a.clone.call(this),y=m._state=this._state.slice(0),v=0;v<25;v++)y[v]=y[v].clone();return m}});i.SHA3=a._createHelper(g),i.HmacSHA3=a._createHmacHelper(g)})(Math),n.SHA3})})(cv)),cv.exports}var lv={exports:{}},P7e=lv.exports,nk;function O7e(){return nk||(nk=1,(function(e,t){(function(n,r){e.exports=r(sr())})(P7e,function(n){/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/return(function(r){var i=n,o=i.lib,s=o.WordArray,a=o.Hasher,c=i.algo,l=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),f=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s.create([0,1518500249,1859775393,2400959708,2840853838]),p=s.create([1352829926,1548603684,1836072691,2053994217,0]),g=c.RIPEMD160=a.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(w,C){for(var _=0;_<16;_++){var I=C+_,O=w[I];w[I]=(O<<8|O>>>24)&16711935|(O<<24|O>>>8)&4278255360}var L=this._hash.words,R=h.words,F=p.words,W=l.words,J=u.words,Y=d.words,M=f.words,B,q,z,A,T,k,j,re,me,te;k=B=L[0],j=q=L[1],re=z=L[2],me=A=L[3],te=T=L[4];for(var X,_=0;_<80;_+=1)X=B+w[C+W[_]]|0,_<16?X+=m(q,z,A)+R[0]:_<32?X+=y(q,z,A)+R[1]:_<48?X+=v(q,z,A)+R[2]:_<64?X+=E(q,z,A)+R[3]:X+=b(q,z,A)+R[4],X=X|0,X=S(X,Y[_]),X=X+T|0,B=T,T=A,A=S(z,10),z=q,q=X,X=k+w[C+J[_]]|0,_<16?X+=b(j,re,me)+F[0]:_<32?X+=E(j,re,me)+F[1]:_<48?X+=v(j,re,me)+F[2]:_<64?X+=y(j,re,me)+F[3]:X+=m(j,re,me)+F[4],X=X|0,X=S(X,M[_]),X=X+te|0,k=te,te=me,me=S(re,10),re=j,j=X;X=L[1]+z+me|0,L[1]=L[2]+A+te|0,L[2]=L[3]+T+k|0,L[3]=L[4]+B+j|0,L[4]=L[0]+q+re|0,L[0]=X},_doFinalize:function(){var w=this._data,C=w.words,_=this._nDataBytes*8,I=w.sigBytes*8;C[I>>>5]|=128<<24-I%32,C[(I+64>>>9<<4)+14]=(_<<8|_>>>24)&16711935|(_<<24|_>>>8)&4278255360,w.sigBytes=(C.length+1)*4,this._process();for(var O=this._hash,L=O.words,R=0;R<5;R++){var F=L[R];L[R]=(F<<8|F>>>24)&16711935|(F<<24|F>>>8)&4278255360}return O},clone:function(){var w=a.clone.call(this);return w._hash=this._hash.clone(),w}});function m(w,C,_){return w^C^_}function y(w,C,_){return w&C|~w&_}function v(w,C,_){return(w|~C)^_}function E(w,C,_){return w&_|C&~_}function b(w,C,_){return w^(C|~_)}function S(w,C){return w<<C|w>>>32-C}i.RIPEMD160=a._createHelper(g),i.HmacRIPEMD160=a._createHmacHelper(g)})(),n.RIPEMD160})})(lv)),lv.exports}var uv={exports:{}},_7e=uv.exports,rk;function oT(){return rk||(rk=1,(function(e,t){(function(n,r){e.exports=r(sr())})(_7e,function(n){(function(){var r=n,i=r.lib,o=i.Base,s=r.enc,a=s.Utf8,c=r.algo;c.HMAC=o.extend({init:function(l,u){l=this._hasher=new l.init,typeof u=="string"&&(u=a.parse(u));var d=l.blockSize,f=d*4;u.sigBytes>f&&(u=l.finalize(u)),u.clamp();for(var h=this._oKey=u.clone(),p=this._iKey=u.clone(),g=h.words,m=p.words,y=0;y<d;y++)g[y]^=1549556828,m[y]^=909522486;h.sigBytes=p.sigBytes=f,this.reset()},reset:function(){var l=this._hasher;l.reset(),l.update(this._iKey)},update:function(l){return this._hasher.update(l),this},finalize:function(l){var u=this._hasher,d=u.finalize(l);u.reset();var f=u.finalize(this._oKey.clone().concat(d));return f}})})()})})(uv)),uv.exports}var dv={exports:{}},R7e=dv.exports,ik;function k7e(){return ik||(ik=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),iT(),oT())})(R7e,function(n){return(function(){var r=n,i=r.lib,o=i.Base,s=i.WordArray,a=r.algo,c=a.SHA256,l=a.HMAC,u=a.PBKDF2=o.extend({cfg:o.extend({keySize:128/32,hasher:c,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,f){for(var h=this.cfg,p=l.create(h.hasher,d),g=s.create(),m=s.create([1]),y=g.words,v=m.words,E=h.keySize,b=h.iterations;y.length<E;){var S=p.update(f).finalize(m);p.reset();for(var w=S.words,C=w.length,_=S,I=1;I<b;I++){_=p.finalize(_),p.reset();for(var O=_.words,L=0;L<C;L++)w[L]^=O[L]}g.concat(S),v[0]++}return g.sigBytes=E*4,g}});r.PBKDF2=function(d,f,h){return u.create(h).compute(d,f)}})(),n.PBKDF2})})(dv)),dv.exports}var fv={exports:{}},x7e=fv.exports,ok;function Qd(){return ok||(ok=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),OZ(),oT())})(x7e,function(n){return(function(){var r=n,i=r.lib,o=i.Base,s=i.WordArray,a=r.algo,c=a.MD5,l=a.EvpKDF=o.extend({cfg:o.extend({keySize:128/32,hasher:c,iterations:1}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,d){for(var f,h=this.cfg,p=h.hasher.create(),g=s.create(),m=g.words,y=h.keySize,v=h.iterations;m.length<y;){f&&p.update(f),f=p.update(u).finalize(d),p.reset();for(var E=1;E<v;E++)f=p.finalize(f),p.reset();g.concat(f)}return g.sigBytes=y*4,g}});r.EvpKDF=function(u,d,f){return l.create(f).compute(u,d)}})(),n.EvpKDF})})(fv)),fv.exports}var hv={exports:{}},D7e=hv.exports,sk;function bo(){return sk||(sk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Qd())})(D7e,function(n){n.lib.Cipher||(function(r){var i=n,o=i.lib,s=o.Base,a=o.WordArray,c=o.BufferedBlockAlgorithm,l=i.enc;l.Utf8;var u=l.Base64,d=i.algo,f=d.EvpKDF,h=o.Cipher=c.extend({cfg:s.extend(),createEncryptor:function(O,L){return this.create(this._ENC_XFORM_MODE,O,L)},createDecryptor:function(O,L){return this.create(this._DEC_XFORM_MODE,O,L)},init:function(O,L,R){this.cfg=this.cfg.extend(R),this._xformMode=O,this._key=L,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(O){return this._append(O),this._process()},finalize:function(O){O&&this._append(O);var L=this._doFinalize();return L},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function O(L){return typeof L=="string"?I:w}return function(L){return{encrypt:function(R,F,W){return O(F).encrypt(L,R,F,W)},decrypt:function(R,F,W){return O(F).decrypt(L,R,F,W)}}}})()});o.StreamCipher=h.extend({_doFinalize:function(){var O=this._process(!0);return O},blockSize:1});var p=i.mode={},g=o.BlockCipherMode=s.extend({createEncryptor:function(O,L){return this.Encryptor.create(O,L)},createDecryptor:function(O,L){return this.Decryptor.create(O,L)},init:function(O,L){this._cipher=O,this._iv=L}}),m=p.CBC=(function(){var O=g.extend();O.Encryptor=O.extend({processBlock:function(R,F){var W=this._cipher,J=W.blockSize;L.call(this,R,F,J),W.encryptBlock(R,F),this._prevBlock=R.slice(F,F+J)}}),O.Decryptor=O.extend({processBlock:function(R,F){var W=this._cipher,J=W.blockSize,Y=R.slice(F,F+J);W.decryptBlock(R,F),L.call(this,R,F,J),this._prevBlock=Y}});function L(R,F,W){var J,Y=this._iv;Y?(J=Y,this._iv=r):J=this._prevBlock;for(var M=0;M<W;M++)R[F+M]^=J[M]}return O})(),y=i.pad={},v=y.Pkcs7={pad:function(O,L){for(var R=L*4,F=R-O.sigBytes%R,W=F<<24|F<<16|F<<8|F,J=[],Y=0;Y<F;Y+=4)J.push(W);var M=a.create(J,F);O.concat(M)},unpad:function(O){var L=O.words[O.sigBytes-1>>>2]&255;O.sigBytes-=L}};o.BlockCipher=h.extend({cfg:h.cfg.extend({mode:m,padding:v}),reset:function(){var O;h.reset.call(this);var L=this.cfg,R=L.iv,F=L.mode;this._xformMode==this._ENC_XFORM_MODE?O=F.createEncryptor:(O=F.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==O?this._mode.init(this,R&&R.words):(this._mode=O.call(F,this,R&&R.words),this._mode.__creator=O)},_doProcessBlock:function(O,L){this._mode.processBlock(O,L)},_doFinalize:function(){var O,L=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(L.pad(this._data,this.blockSize),O=this._process(!0)):(O=this._process(!0),L.unpad(O)),O},blockSize:128/32});var E=o.CipherParams=s.extend({init:function(O){this.mixIn(O)},toString:function(O){return(O||this.formatter).stringify(this)}}),b=i.format={},S=b.OpenSSL={stringify:function(O){var L,R=O.ciphertext,F=O.salt;return F?L=a.create([1398893684,1701076831]).concat(F).concat(R):L=R,L.toString(u)},parse:function(O){var L,R=u.parse(O),F=R.words;return F[0]==1398893684&&F[1]==1701076831&&(L=a.create(F.slice(2,4)),F.splice(0,4),R.sigBytes-=16),E.create({ciphertext:R,salt:L})}},w=o.SerializableCipher=s.extend({cfg:s.extend({format:S}),encrypt:function(O,L,R,F){F=this.cfg.extend(F);var W=O.createEncryptor(R,F),J=W.finalize(L),Y=W.cfg;return E.create({ciphertext:J,key:R,iv:Y.iv,algorithm:O,mode:Y.mode,padding:Y.padding,blockSize:O.blockSize,formatter:F.format})},decrypt:function(O,L,R,F){F=this.cfg.extend(F),L=this._parse(L,F.format);var W=O.createDecryptor(R,F).finalize(L.ciphertext);return W},_parse:function(O,L){return typeof O=="string"?L.parse(O,this):O}}),C=i.kdf={},_=C.OpenSSL={execute:function(O,L,R,F,W){if(F||(F=a.random(64/8)),W)var J=f.create({keySize:L+R,hasher:W}).compute(O,F);else var J=f.create({keySize:L+R}).compute(O,F);var Y=a.create(J.words.slice(L),R*4);return J.sigBytes=L*4,E.create({key:J,iv:Y,salt:F})}},I=o.PasswordBasedCipher=w.extend({cfg:w.cfg.extend({kdf:_}),encrypt:function(O,L,R,F){F=this.cfg.extend(F);var W=F.kdf.execute(R,O.keySize,O.ivSize,F.salt,F.hasher);F.iv=W.iv;var J=w.encrypt.call(this,O,L,W.key,F);return J.mixIn(W),J},decrypt:function(O,L,R,F){F=this.cfg.extend(F),L=this._parse(L,F.format);var W=F.kdf.execute(R,O.keySize,O.ivSize,L.salt,F.hasher);F.iv=W.iv;var J=w.decrypt.call(this,O,L,W.key,F);return J}})})()})})(hv)),hv.exports}var pv={exports:{}},L7e=pv.exports,ak;function N7e(){return ak||(ak=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(L7e,function(n){return n.mode.CFB=(function(){var r=n.lib.BlockCipherMode.extend();r.Encryptor=r.extend({processBlock:function(o,s){var a=this._cipher,c=a.blockSize;i.call(this,o,s,c,a),this._prevBlock=o.slice(s,s+c)}}),r.Decryptor=r.extend({processBlock:function(o,s){var a=this._cipher,c=a.blockSize,l=o.slice(s,s+c);i.call(this,o,s,c,a),this._prevBlock=l}});function i(o,s,a,c){var l,u=this._iv;u?(l=u.slice(0),this._iv=void 0):l=this._prevBlock,c.encryptBlock(l,0);for(var d=0;d<a;d++)o[s+d]^=l[d]}return r})(),n.mode.CFB})})(pv)),pv.exports}var mv={exports:{}},M7e=mv.exports,ck;function B7e(){return ck||(ck=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(M7e,function(n){return n.mode.CTR=(function(){var r=n.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(o,s){var a=this._cipher,c=a.blockSize,l=this._iv,u=this._counter;l&&(u=this._counter=l.slice(0),this._iv=void 0);var d=u.slice(0);a.encryptBlock(d,0),u[c-1]=u[c-1]+1|0;for(var f=0;f<c;f++)o[s+f]^=d[f]}});return r.Decryptor=i,r})(),n.mode.CTR})})(mv)),mv.exports}var gv={exports:{}},F7e=gv.exports,lk;function U7e(){return lk||(lk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(F7e,function(n){/** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby jhruby.web@gmail.com
*/return n.mode.CTRGladman=(function(){var r=n.lib.BlockCipherMode.extend();function i(a){if((a>>24&255)===255){var c=a>>16&255,l=a>>8&255,u=a&255;c===255?(c=0,l===255?(l=0,u===255?u=0:++u):++l):++c,a=0,a+=c<<16,a+=l<<8,a+=u}else a+=1<<24;return a}function o(a){return(a[0]=i(a[0]))===0&&(a[1]=i(a[1])),a}var s=r.Encryptor=r.extend({processBlock:function(a,c){var l=this._cipher,u=l.blockSize,d=this._iv,f=this._counter;d&&(f=this._counter=d.slice(0),this._iv=void 0),o(f);var h=f.slice(0);l.encryptBlock(h,0);for(var p=0;p<u;p++)a[c+p]^=h[p]}});return r.Decryptor=s,r})(),n.mode.CTRGladman})})(gv)),gv.exports}var vv={exports:{}},j7e=vv.exports,uk;function H7e(){return uk||(uk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(j7e,function(n){return n.mode.OFB=(function(){var r=n.lib.BlockCipherMode.extend(),i=r.Encryptor=r.extend({processBlock:function(o,s){var a=this._cipher,c=a.blockSize,l=this._iv,u=this._keystream;l&&(u=this._keystream=l.slice(0),this._iv=void 0),a.encryptBlock(u,0);for(var d=0;d<c;d++)o[s+d]^=u[d]}});return r.Decryptor=i,r})(),n.mode.OFB})})(vv)),vv.exports}var yv={exports:{}},z7e=yv.exports,dk;function W7e(){return dk||(dk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(z7e,function(n){return n.mode.ECB=(function(){var r=n.lib.BlockCipherMode.extend();return r.Encryptor=r.extend({processBlock:function(i,o){this._cipher.encryptBlock(i,o)}}),r.Decryptor=r.extend({processBlock:function(i,o){this._cipher.decryptBlock(i,o)}}),r})(),n.mode.ECB})})(yv)),yv.exports}var Ev={exports:{}},V7e=Ev.exports,fk;function G7e(){return fk||(fk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(V7e,function(n){return n.pad.AnsiX923={pad:function(r,i){var o=r.sigBytes,s=i*4,a=s-o%s,c=o+a-1;r.clamp(),r.words[c>>>2]|=a<<24-c%4*8,r.sigBytes+=a},unpad:function(r){var i=r.words[r.sigBytes-1>>>2]&255;r.sigBytes-=i}},n.pad.Ansix923})})(Ev)),Ev.exports}var bv={exports:{}},J7e=bv.exports,hk;function Z7e(){return hk||(hk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(J7e,function(n){return n.pad.Iso10126={pad:function(r,i){var o=i*4,s=o-r.sigBytes%o;r.concat(n.lib.WordArray.random(s-1)).concat(n.lib.WordArray.create([s<<24],1))},unpad:function(r){var i=r.words[r.sigBytes-1>>>2]&255;r.sigBytes-=i}},n.pad.Iso10126})})(bv)),bv.exports}var Sv={exports:{}},Y7e=Sv.exports,pk;function X7e(){return pk||(pk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(Y7e,function(n){return n.pad.Iso97971={pad:function(r,i){r.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(r,i)},unpad:function(r){n.pad.ZeroPadding.unpad(r),r.sigBytes--}},n.pad.Iso97971})})(Sv)),Sv.exports}var Av={exports:{}},Q7e=Av.exports,mk;function K7e(){return mk||(mk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(Q7e,function(n){return n.pad.ZeroPadding={pad:function(r,i){var o=i*4;r.clamp(),r.sigBytes+=o-(r.sigBytes%o||o)},unpad:function(r){for(var i=r.words,o=r.sigBytes-1,o=r.sigBytes-1;o>=0;o--)if(i[o>>>2]>>>24-o%4*8&255){r.sigBytes=o+1;break}}},n.pad.ZeroPadding})})(Av)),Av.exports}var Cv={exports:{}},q7e=Cv.exports,gk;function $7e(){return gk||(gk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(q7e,function(n){return n.pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding})})(Cv)),Cv.exports}var wv={exports:{}},ebe=wv.exports,vk;function tbe(){return vk||(vk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),bo())})(ebe,function(n){return(function(r){var i=n,o=i.lib,s=o.CipherParams,a=i.enc,c=a.Hex,l=i.format;l.Hex={stringify:function(u){return u.ciphertext.toString(c)},parse:function(u){var d=c.parse(u);return s.create({ciphertext:d})}}})(),n.format.Hex})})(wv)),wv.exports}var Tv={exports:{}},nbe=Tv.exports,yk;function rbe(){return yk||(yk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(nbe,function(n){return(function(){var r=n,i=r.lib,o=i.BlockCipher,s=r.algo,a=[],c=[],l=[],u=[],d=[],f=[],h=[],p=[],g=[],m=[];(function(){for(var E=[],b=0;b<256;b++)b<128?E[b]=b<<1:E[b]=b<<1^283;for(var S=0,w=0,b=0;b<256;b++){var C=w^w<<1^w<<2^w<<3^w<<4;C=C>>>8^C&255^99,a[S]=C,c[C]=S;var _=E[S],I=E[_],O=E[I],L=E[C]*257^C*16843008;l[S]=L<<24|L>>>8,u[S]=L<<16|L>>>16,d[S]=L<<8|L>>>24,f[S]=L;var L=O*16843009^I*65537^_*257^S*16843008;h[C]=L<<24|L>>>8,p[C]=L<<16|L>>>16,g[C]=L<<8|L>>>24,m[C]=L,S?(S=_^E[E[E[O^_]]],w^=E[E[w]]):S=w=1}})();var y=[0,1,2,4,8,16,32,64,128,27,54],v=s.AES=o.extend({_doReset:function(){var E;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var b=this._keyPriorReset=this._key,S=b.words,w=b.sigBytes/4,C=this._nRounds=w+6,_=(C+1)*4,I=this._keySchedule=[],O=0;O<_;O++)O<w?I[O]=S[O]:(E=I[O-1],O%w?w>6&&O%w==4&&(E=a[E>>>24]<<24|a[E>>>16&255]<<16|a[E>>>8&255]<<8|a[E&255]):(E=E<<8|E>>>24,E=a[E>>>24]<<24|a[E>>>16&255]<<16|a[E>>>8&255]<<8|a[E&255],E^=y[O/w|0]<<24),I[O]=I[O-w]^E);for(var L=this._invKeySchedule=[],R=0;R<_;R++){var O=_-R;if(R%4)var E=I[O];else var E=I[O-4];R<4||O<=4?L[R]=E:L[R]=h[a[E>>>24]]^p[a[E>>>16&255]]^g[a[E>>>8&255]]^m[a[E&255]]}}},encryptBlock:function(E,b){this._doCryptBlock(E,b,this._keySchedule,l,u,d,f,a)},decryptBlock:function(E,b){var S=E[b+1];E[b+1]=E[b+3],E[b+3]=S,this._doCryptBlock(E,b,this._invKeySchedule,h,p,g,m,c);var S=E[b+1];E[b+1]=E[b+3],E[b+3]=S},_doCryptBlock:function(E,b,S,w,C,_,I,O){for(var L=this._nRounds,R=E[b]^S[0],F=E[b+1]^S[1],W=E[b+2]^S[2],J=E[b+3]^S[3],Y=4,M=1;M<L;M++){var B=w[R>>>24]^C[F>>>16&255]^_[W>>>8&255]^I[J&255]^S[Y++],q=w[F>>>24]^C[W>>>16&255]^_[J>>>8&255]^I[R&255]^S[Y++],z=w[W>>>24]^C[J>>>16&255]^_[R>>>8&255]^I[F&255]^S[Y++],A=w[J>>>24]^C[R>>>16&255]^_[F>>>8&255]^I[W&255]^S[Y++];R=B,F=q,W=z,J=A}var B=(O[R>>>24]<<24|O[F>>>16&255]<<16|O[W>>>8&255]<<8|O[J&255])^S[Y++],q=(O[F>>>24]<<24|O[W>>>16&255]<<16|O[J>>>8&255]<<8|O[R&255])^S[Y++],z=(O[W>>>24]<<24|O[J>>>16&255]<<16|O[R>>>8&255]<<8|O[F&255])^S[Y++],A=(O[J>>>24]<<24|O[R>>>16&255]<<16|O[F>>>8&255]<<8|O[W&255])^S[Y++];E[b]=B,E[b+1]=q,E[b+2]=z,E[b+3]=A},keySize:256/32});r.AES=o._createHelper(v)})(),n.AES})})(Tv)),Tv.exports}var Iv={exports:{}},ibe=Iv.exports,Ek;function obe(){return Ek||(Ek=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(ibe,function(n){return(function(){var r=n,i=r.lib,o=i.WordArray,s=i.BlockCipher,a=r.algo,c=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],l=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],f=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=a.DES=s.extend({_doReset:function(){for(var y=this._key,v=y.words,E=[],b=0;b<56;b++){var S=c[b]-1;E[b]=v[S>>>5]>>>31-S%32&1}for(var w=this._subKeys=[],C=0;C<16;C++){for(var _=w[C]=[],I=u[C],b=0;b<24;b++)_[b/6|0]|=E[(l[b]-1+I)%28]<<31-b%6,_[4+(b/6|0)]|=E[28+(l[b+24]-1+I)%28]<<31-b%6;_[0]=_[0]<<1|_[0]>>>31;for(var b=1;b<7;b++)_[b]=_[b]>>>(b-1)*4+3;_[7]=_[7]<<5|_[7]>>>27}for(var O=this._invSubKeys=[],b=0;b<16;b++)O[b]=w[15-b]},encryptBlock:function(y,v){this._doCryptBlock(y,v,this._subKeys)},decryptBlock:function(y,v){this._doCryptBlock(y,v,this._invSubKeys)},_doCryptBlock:function(y,v,E){this._lBlock=y[v],this._rBlock=y[v+1],p.call(this,4,252645135),p.call(this,16,65535),g.call(this,2,858993459),g.call(this,8,16711935),p.call(this,1,1431655765);for(var b=0;b<16;b++){for(var S=E[b],w=this._lBlock,C=this._rBlock,_=0,I=0;I<8;I++)_|=d[I][((C^S[I])&f[I])>>>0];this._lBlock=C,this._rBlock=w^_}var O=this._lBlock;this._lBlock=this._rBlock,this._rBlock=O,p.call(this,1,1431655765),g.call(this,8,16711935),g.call(this,2,858993459),p.call(this,16,65535),p.call(this,4,252645135),y[v]=this._lBlock,y[v+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function p(y,v){var E=(this._lBlock>>>y^this._rBlock)&v;this._rBlock^=E,this._lBlock^=E<<y}function g(y,v){var E=(this._rBlock>>>y^this._lBlock)&v;this._lBlock^=E,this._rBlock^=E<<y}r.DES=s._createHelper(h);var m=a.TripleDES=s.extend({_doReset:function(){var y=this._key,v=y.words;if(v.length!==2&&v.length!==4&&v.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var E=v.slice(0,2),b=v.length<4?v.slice(0,2):v.slice(2,4),S=v.length<6?v.slice(0,2):v.slice(4,6);this._des1=h.createEncryptor(o.create(E)),this._des2=h.createEncryptor(o.create(b)),this._des3=h.createEncryptor(o.create(S))},encryptBlock:function(y,v){this._des1.encryptBlock(y,v),this._des2.decryptBlock(y,v),this._des3.encryptBlock(y,v)},decryptBlock:function(y,v){this._des3.decryptBlock(y,v),this._des2.encryptBlock(y,v),this._des1.decryptBlock(y,v)},keySize:192/32,ivSize:64/32,blockSize:64/32});r.TripleDES=s._createHelper(m)})(),n.TripleDES})})(Iv)),Iv.exports}var Pv={exports:{}},sbe=Pv.exports,bk;function abe(){return bk||(bk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(sbe,function(n){return(function(){var r=n,i=r.lib,o=i.StreamCipher,s=r.algo,a=s.RC4=o.extend({_doReset:function(){for(var u=this._key,d=u.words,f=u.sigBytes,h=this._S=[],p=0;p<256;p++)h[p]=p;for(var p=0,g=0;p<256;p++){var m=p%f,y=d[m>>>2]>>>24-m%4*8&255;g=(g+h[p]+y)%256;var v=h[p];h[p]=h[g],h[g]=v}this._i=this._j=0},_doProcessBlock:function(u,d){u[d]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var u=this._S,d=this._i,f=this._j,h=0,p=0;p<4;p++){d=(d+1)%256,f=(f+u[d])%256;var g=u[d];u[d]=u[f],u[f]=g,h|=u[(u[d]+u[f])%256]<<24-p*8}return this._i=d,this._j=f,h}r.RC4=o._createHelper(a);var l=s.RC4Drop=a.extend({cfg:a.cfg.extend({drop:192}),_doReset:function(){a._doReset.call(this);for(var u=this.cfg.drop;u>0;u--)c.call(this)}});r.RC4Drop=o._createHelper(l)})(),n.RC4})})(Pv)),Pv.exports}var Ov={exports:{}},cbe=Ov.exports,Sk;function lbe(){return Sk||(Sk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(cbe,function(n){return(function(){var r=n,i=r.lib,o=i.StreamCipher,s=r.algo,a=[],c=[],l=[],u=s.Rabbit=o.extend({_doReset:function(){for(var f=this._key.words,h=this.cfg.iv,p=0;p<4;p++)f[p]=(f[p]<<8|f[p]>>>24)&16711935|(f[p]<<24|f[p]>>>8)&4278255360;var g=this._X=[f[0],f[3]<<16|f[2]>>>16,f[1],f[0]<<16|f[3]>>>16,f[2],f[1]<<16|f[0]>>>16,f[3],f[2]<<16|f[1]>>>16],m=this._C=[f[2]<<16|f[2]>>>16,f[0]&4294901760|f[1]&65535,f[3]<<16|f[3]>>>16,f[1]&4294901760|f[2]&65535,f[0]<<16|f[0]>>>16,f[2]&4294901760|f[3]&65535,f[1]<<16|f[1]>>>16,f[3]&4294901760|f[0]&65535];this._b=0;for(var p=0;p<4;p++)d.call(this);for(var p=0;p<8;p++)m[p]^=g[p+4&7];if(h){var y=h.words,v=y[0],E=y[1],b=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,S=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,w=b>>>16|S&4294901760,C=S<<16|b&65535;m[0]^=b,m[1]^=w,m[2]^=S,m[3]^=C,m[4]^=b,m[5]^=w,m[6]^=S,m[7]^=C;for(var p=0;p<4;p++)d.call(this)}},_doProcessBlock:function(f,h){var p=this._X;d.call(this),a[0]=p[0]^p[5]>>>16^p[3]<<16,a[1]=p[2]^p[7]>>>16^p[5]<<16,a[2]=p[4]^p[1]>>>16^p[7]<<16,a[3]=p[6]^p[3]>>>16^p[1]<<16;for(var g=0;g<4;g++)a[g]=(a[g]<<8|a[g]>>>24)&16711935|(a[g]<<24|a[g]>>>8)&4278255360,f[h+g]^=a[g]},blockSize:128/32,ivSize:64/32});function d(){for(var f=this._X,h=this._C,p=0;p<8;p++)c[p]=h[p];h[0]=h[0]+1295307597+this._b|0,h[1]=h[1]+3545052371+(h[0]>>>0<c[0]>>>0?1:0)|0,h[2]=h[2]+886263092+(h[1]>>>0<c[1]>>>0?1:0)|0,h[3]=h[3]+1295307597+(h[2]>>>0<c[2]>>>0?1:0)|0,h[4]=h[4]+3545052371+(h[3]>>>0<c[3]>>>0?1:0)|0,h[5]=h[5]+886263092+(h[4]>>>0<c[4]>>>0?1:0)|0,h[6]=h[6]+1295307597+(h[5]>>>0<c[5]>>>0?1:0)|0,h[7]=h[7]+3545052371+(h[6]>>>0<c[6]>>>0?1:0)|0,this._b=h[7]>>>0<c[7]>>>0?1:0;for(var p=0;p<8;p++){var g=f[p]+h[p],m=g&65535,y=g>>>16,v=((m*m>>>17)+m*y>>>15)+y*y,E=((g&4294901760)*g|0)+((g&65535)*g|0);l[p]=v^E}f[0]=l[0]+(l[7]<<16|l[7]>>>16)+(l[6]<<16|l[6]>>>16)|0,f[1]=l[1]+(l[0]<<8|l[0]>>>24)+l[7]|0,f[2]=l[2]+(l[1]<<16|l[1]>>>16)+(l[0]<<16|l[0]>>>16)|0,f[3]=l[3]+(l[2]<<8|l[2]>>>24)+l[1]|0,f[4]=l[4]+(l[3]<<16|l[3]>>>16)+(l[2]<<16|l[2]>>>16)|0,f[5]=l[5]+(l[4]<<8|l[4]>>>24)+l[3]|0,f[6]=l[6]+(l[5]<<16|l[5]>>>16)+(l[4]<<16|l[4]>>>16)|0,f[7]=l[7]+(l[6]<<8|l[6]>>>24)+l[5]|0}r.Rabbit=o._createHelper(u)})(),n.Rabbit})})(Ov)),Ov.exports}var _v={exports:{}},ube=_v.exports,Ak;function dbe(){return Ak||(Ak=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(ube,function(n){return(function(){var r=n,i=r.lib,o=i.StreamCipher,s=r.algo,a=[],c=[],l=[],u=s.RabbitLegacy=o.extend({_doReset:function(){var f=this._key.words,h=this.cfg.iv,p=this._X=[f[0],f[3]<<16|f[2]>>>16,f[1],f[0]<<16|f[3]>>>16,f[2],f[1]<<16|f[0]>>>16,f[3],f[2]<<16|f[1]>>>16],g=this._C=[f[2]<<16|f[2]>>>16,f[0]&4294901760|f[1]&65535,f[3]<<16|f[3]>>>16,f[1]&4294901760|f[2]&65535,f[0]<<16|f[0]>>>16,f[2]&4294901760|f[3]&65535,f[1]<<16|f[1]>>>16,f[3]&4294901760|f[0]&65535];this._b=0;for(var m=0;m<4;m++)d.call(this);for(var m=0;m<8;m++)g[m]^=p[m+4&7];if(h){var y=h.words,v=y[0],E=y[1],b=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,S=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,w=b>>>16|S&4294901760,C=S<<16|b&65535;g[0]^=b,g[1]^=w,g[2]^=S,g[3]^=C,g[4]^=b,g[5]^=w,g[6]^=S,g[7]^=C;for(var m=0;m<4;m++)d.call(this)}},_doProcessBlock:function(f,h){var p=this._X;d.call(this),a[0]=p[0]^p[5]>>>16^p[3]<<16,a[1]=p[2]^p[7]>>>16^p[5]<<16,a[2]=p[4]^p[1]>>>16^p[7]<<16,a[3]=p[6]^p[3]>>>16^p[1]<<16;for(var g=0;g<4;g++)a[g]=(a[g]<<8|a[g]>>>24)&16711935|(a[g]<<24|a[g]>>>8)&4278255360,f[h+g]^=a[g]},blockSize:128/32,ivSize:64/32});function d(){for(var f=this._X,h=this._C,p=0;p<8;p++)c[p]=h[p];h[0]=h[0]+1295307597+this._b|0,h[1]=h[1]+3545052371+(h[0]>>>0<c[0]>>>0?1:0)|0,h[2]=h[2]+886263092+(h[1]>>>0<c[1]>>>0?1:0)|0,h[3]=h[3]+1295307597+(h[2]>>>0<c[2]>>>0?1:0)|0,h[4]=h[4]+3545052371+(h[3]>>>0<c[3]>>>0?1:0)|0,h[5]=h[5]+886263092+(h[4]>>>0<c[4]>>>0?1:0)|0,h[6]=h[6]+1295307597+(h[5]>>>0<c[5]>>>0?1:0)|0,h[7]=h[7]+3545052371+(h[6]>>>0<c[6]>>>0?1:0)|0,this._b=h[7]>>>0<c[7]>>>0?1:0;for(var p=0;p<8;p++){var g=f[p]+h[p],m=g&65535,y=g>>>16,v=((m*m>>>17)+m*y>>>15)+y*y,E=((g&4294901760)*g|0)+((g&65535)*g|0);l[p]=v^E}f[0]=l[0]+(l[7]<<16|l[7]>>>16)+(l[6]<<16|l[6]>>>16)|0,f[1]=l[1]+(l[0]<<8|l[0]>>>24)+l[7]|0,f[2]=l[2]+(l[1]<<16|l[1]>>>16)+(l[0]<<16|l[0]>>>16)|0,f[3]=l[3]+(l[2]<<8|l[2]>>>24)+l[1]|0,f[4]=l[4]+(l[3]<<16|l[3]>>>16)+(l[2]<<16|l[2]>>>16)|0,f[5]=l[5]+(l[4]<<8|l[4]>>>24)+l[3]|0,f[6]=l[6]+(l[5]<<16|l[5]>>>16)+(l[4]<<16|l[4]>>>16)|0,f[7]=l[7]+(l[6]<<8|l[6]>>>24)+l[5]|0}r.RabbitLegacy=o._createHelper(u)})(),n.RabbitLegacy})})(_v)),_v.exports}var Rv={exports:{}},fbe=Rv.exports,Ck;function hbe(){return Ck||(Ck=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Cf(),wf(),Qd(),bo())})(fbe,function(n){return(function(){var r=n,i=r.lib,o=i.BlockCipher,s=r.algo;const a=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],l=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var u={pbox:[],sbox:[]};function d(m,y){let v=y>>24&255,E=y>>16&255,b=y>>8&255,S=y&255,w=m.sbox[0][v]+m.sbox[1][E];return w=w^m.sbox[2][b],w=w+m.sbox[3][S],w}function f(m,y,v){let E=y,b=v,S;for(let w=0;w<a;++w)E=E^m.pbox[w],b=d(m,E)^b,S=E,E=b,b=S;return S=E,E=b,b=S,b=b^m.pbox[a],E=E^m.pbox[a+1],{left:E,right:b}}function h(m,y,v){let E=y,b=v,S;for(let w=a+1;w>1;--w)E=E^m.pbox[w],b=d(m,E)^b,S=E,E=b,b=S;return S=E,E=b,b=S,b=b^m.pbox[1],E=E^m.pbox[0],{left:E,right:b}}function p(m,y,v){for(let C=0;C<4;C++){m.sbox[C]=[];for(let _=0;_<256;_++)m.sbox[C][_]=l[C][_]}let E=0;for(let C=0;C<a+2;C++)m.pbox[C]=c[C]^y[E],E++,E>=v&&(E=0);let b=0,S=0,w=0;for(let C=0;C<a+2;C+=2)w=f(m,b,S),b=w.left,S=w.right,m.pbox[C]=b,m.pbox[C+1]=S;for(let C=0;C<4;C++)for(let _=0;_<256;_+=2)w=f(m,b,S),b=w.left,S=w.right,m.sbox[C][_]=b,m.sbox[C][_+1]=S;return!0}var g=s.Blowfish=o.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var m=this._keyPriorReset=this._key,y=m.words,v=m.sigBytes/4;p(u,y,v)}},encryptBlock:function(m,y){var v=f(u,m[y],m[y+1]);m[y]=v.left,m[y+1]=v.right},decryptBlock:function(m,y){var v=h(u,m[y],m[y+1]);m[y]=v.left,m[y+1]=v.right},blockSize:64/32,keySize:128/32,ivSize:64/32});r.Blowfish=o._createHelper(g)})(),n.Blowfish})})(Rv)),Rv.exports}var pbe=X5.exports,wk;function mbe(){return wk||(wk=1,(function(e,t){(function(n,r,i){e.exports=r(sr(),Ly(),d7e(),h7e(),Cf(),g7e(),wf(),OZ(),iT(),S7e(),_Z(),w7e(),I7e(),O7e(),oT(),k7e(),Qd(),bo(),N7e(),B7e(),U7e(),H7e(),W7e(),G7e(),Z7e(),X7e(),K7e(),$7e(),tbe(),rbe(),obe(),abe(),lbe(),dbe(),hbe())})(pbe,function(n){return n})})(X5)),X5.exports}var Tk=mbe();const gbe=[];for(let e=0;e<256;++e)gbe.push((e+256).toString(16).slice(1));const CZe=new Uint8Array(16),wZe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);class vbe{constructor(){this.requestId=1e3,this.pendingRequests=new Map,this.eventHandlers=new Map,this.requestHandlers=new Map,this.asyncRequestHandlers=new Map,this.asyncRequestHandlersWithEvents=new Map,this.initMessageListener()}initMessageListener(){window.HandleStudio=t=>{try{this.handleMessage(t)}catch(n){console.error("IPC: Failed to parse message",n)}}}handleMessage(t){const{id:n,method:r,type:i,code:o,data:s,params:a}=t;switch(i){case"response":this.handleResponse(n,o,t.message,s);break;case"event":this.handleEvent(r,s,n);break;case"request":this.handleRequest(n,r,a);break;default:console.warn("IPC: Unknown message type",i)}}handleResponse(t,n,r,i){const o=this.pendingRequests.get(t);if(o)if(this.pendingRequests.delete(t),n===0)o.resolve(i);else{const s=new Error(r||"Request failed");s.code=n,s.data=i,o.reject(s)}}handleEvent(t,n,r=null){if(r){const o=this.pendingRequests.get(r);if(o&&o.eventCallback)try{o.eventCallback(t,n)}catch(s){console.error(`IPC: Request event callback execution failed ${t}`,s)}}const i=this.eventHandlers.get(t);i&&i.forEach(o=>{try{o(n)}catch(s){console.error(`IPC: Event handler execution failed ${t}`,s)}})}async handleRequest(t,n,r){const i=this.requestHandlers.get(n),o=this.asyncRequestHandlers.get(n),s=this.asyncRequestHandlersWithEvents.get(n);if(s)try{const a=this.createResponseHelper(t,n);await s(r,a,(l,u)=>{this.sendEvent(l,u,t)})}catch(a){this.sendResponse(t,n,1,a.message||"Processing failed",null)}else if(o)try{const a=this.createResponseHelper(t,n);await o(r,a)}catch(a){this.sendResponse(t,n,1,a.message||"Processing failed",null)}else if(i)try{const a=await i(r);this.sendResponse(t,n,0,"success",a)}catch(a){this.sendResponse(t,n,1,a.message||"Processing failed",null)}else this.sendResponse(t,n,404,"Method not found",null)}createResponseHelper(t,n){const r=this,i={success:(s=null,a="success")=>{r.sendResponse(t,n,0,a,s)},error:(s="error",a=1,c=null)=>{r.sendResponse(t,n,a,s,c)},notFound:(s="Resource not found")=>{r.sendResponse(t,n,404,s,null)},badRequest:(s="Bad request",a=null)=>{const c=a?{validationErrors:a}:null;r.sendResponse(t,n,400,s,c)},unauthorized:(s="Unauthorized")=>{r.sendResponse(t,n,401,s,null)},forbidden:(s="Forbidden")=>{r.sendResponse(t,n,403,s,null)},serverError:(s="Internal server error",a=null)=>{const c=a?{error:a.toString()}:null;r.sendResponse(t,n,500,s,c)},custom:(s,a,c=null)=>{r.sendResponse(t,n,s,a,c)},raw:(s,a,c)=>{r.sendResponse(t,n,s,a,c)}},o=function(s,a,c){return i.custom(s,a,c)};return Object.assign(o,i),o}generateRequestId(){return`req-${++this.requestId}`}sendMessage(t){({...t,params:t.params?{...t.params,message:t.params.message?JSON.parse(t.params.message):t.params.message}:t.params});const n=(r=0)=>{if(window.wx&&window.wx.postMessage){window.wx.postMessage(JSON.stringify(t));return}if(r<5)setTimeout(()=>n(r+1),1e3);else throw console.error("IPC: Unable to send message, no valid communication interface found"),new Error("IPC: No valid communication interface found")};n()}request(t,n={},r=1e4){return new Promise((i,o)=>{const s=this.generateRequestId(),a=setTimeout(()=>{this.pendingRequests.delete(s),o(new Error(`Request timeout: ${t}`))},r);this.pendingRequests.set(s,{resolve:l=>{clearTimeout(a),i(l)},reject:l=>{clearTimeout(a),o(l)}});const c={id:s,method:t,type:"request",params:n};try{this.sendMessage(c)}catch(l){console.error("Failed to send IPC message:",l),this.pendingRequests.delete(s),o(l)}})}requestWithEvents(t,n={},r=null,i=1e4){return new Promise((o,s)=>{const a=this.generateRequestId();let c=!1;const l=setTimeout(()=>{c||(c=!0,this.pendingRequests.delete(a),s(new Error(`Request timeout: ${t}`)))},i),u=()=>{c||(c=!0,clearTimeout(l),this.pendingRequests.delete(a))};this.pendingRequests.set(a,{resolve:f=>{c||(c=!0,clearTimeout(l),o({response:f,cleanup:u}))},reject:f=>{c||(c=!0,clearTimeout(l),s(f))},eventCallback:r,requestId:a});const d={id:a,method:t,type:"request",params:n};try{this.sendMessage(d)}catch(f){console.error("Failed to send IPC message:",f),this.pendingRequests.delete(a),s(f)}})}sendResponse(t,n,r,i,o){const s={id:t,method:n,type:"response",code:r,message:i,data:o};this.sendMessage(s)}sendEvent(t,n,r=null){const i={id:r,method:t,type:"event",data:n};this.sendMessage(i)}on(t,n){this.eventHandlers.has(t)||this.eventHandlers.set(t,[]),this.eventHandlers.get(t).push(n)}off(t,n){const r=this.eventHandlers.get(t);if(r){const i=r.indexOf(n);i>-1&&r.splice(i,1)}}onRequest(t,n){this.requestHandlers.set(t,n)}onRequestAsync(t,n){this.asyncRequestHandlers.set(t,n)}onRequestAsyncWithEvents(t,n){this.asyncRequestHandlersWithEvents.set(t,n)}offRequest(t){this.requestHandlers.delete(t),this.asyncRequestHandlers.delete(t),this.asyncRequestHandlersWithEvents.delete(t)}}const qr=new vbe;window.nativeIpc={};window.nativeIpc.request=(e,t,n)=>qr.request(e,t,n);window.nativeIpc.requestWithEvents=(e,t,n,r)=>qr.requestWithEvents(e,t,n,r);window.nativeIpc.on=(e,t)=>qr.on(e,t);window.nativeIpc.off=(e,t)=>qr.off(e,t);window.nativeIpc.onRequest=(e,t)=>qr.onRequest(e,t);window.nativeIpc.onRequestAsync=(e,t)=>qr.onRequestAsync(e,t);window.nativeIpc.onRequestAsyncWithEvents=(e,t)=>qr.onRequestAsyncWithEvents(e,t);window.nativeIpc.offRequest=e=>qr.offRequest(e);window.nativeIpc.sendEvent=(e,t,n)=>qr.sendEvent(e,t,n);console.log("IPC: JavaScript side initialization complete");class ybe{constructor(){et(this,"uploadProgressCallbacks",new Map)}sendCommand(t,n={},r=1e4){return qr.request(t,n,r)}async openFileDialog(t){const n={};t&&(n.filter=t);const r=await this.sendCommand("open_file_dialog",n,600*1e3);return(r==null?void 0:r.files)||[]}async uploadFile(t,n){return await qr.requestWithEvents("upload_file",t,(r,i)=>{if(r==="upload_progress"&&n){const o=i;n(o.uploadedBytes,o.totalBytes)}},1800*1e3)}async downloadFile(t){const n={};n.url=t,n.needDownload=!0,await this.sendCommand("open",n,60*1e3)}isAvailable(){return typeof window<"u"&&window.HandleStudio!==void 0}}const ib=new ybe,RZ=!1,kZ=parseInt(void 0)||80;function Ebe(){Pe.log("http直接模式已启用使用绝对路径访问后端服务器")}Ebe();function bbe(){return di().currentSendingFileName}const Sbe=1024*1024*1,y8=1024*1024*10;async function Abe(e){const t=Math.ceil(e.size/y8),n=Tk.algo.MD5.create();for(let r=0;r<t;r++){const i=e.slice(r*y8,Math.min((r+1)*y8,e.size)),o=await Cbe(i),s=Tk.lib.WordArray.create(o);n.update(s)}return n.finalize().toString()}function Cbe(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>t(n.result),n.readAsArrayBuffer(e)})}var df=(e=>(e.Local="local",e.Udisk="udisk",e.Sdcard="sdcard",e))(df||{});const wbe=3;async function xZ(e,t,n,r,i=0){try{let o;RZ||(o=`${`http://${qi.ip}:${kZ}`}${e}`);const s=await fetch(o,{method:"PUT",headers:t,body:n});if(!s.ok){const c=await s.text().catch(()=>"Unable to read error details");throw new Error(`HTTP error ${s.status}: ${s.statusText} - ${c}`)}const a=await s.json();if(a.error_code!==0)throw new Error(`Server rejected chunk: error_code ${a.error_code}`);return!0}catch(o){const s=o instanceof Error?o.message:"未知错误";if(i<r){i===0&&(s.includes("Failed to fetch")||s.includes("CORS")?Pe.error("Network connection failed. Please check server address and network connection"):Pe.error(`Upload chunk failed: ${s}`));const a=200;return Pe.log(`等待 ${a}ms 后重试... (${i+1}/${r})`),await new Promise(c=>setTimeout(c,a)),xZ(e,t,n,r,i+1)}return!1}}async function Tbe(e){const{file:t,targetPath:n,onProgress:r,onConnectionCheck:i,chunkSize:o=Sbe,maxRetries:s=wbe}=e;Pe.log("即将开始上传文件:",t.name," 大小(Byte): ",t.size);const a=di();a.currentSendingFileName=t.name;const c={local:"/upload",udisk:"/upload/udisk",sdcard:"/upload/sdcard"}[n],l=await Abe(t),u=t.size;let d=0,f=0;for(;f<u;){if(i&&!i())throw new Error("MQTT disconnected, file upload failed");const h=Math.min(f+o,u),p=t.slice(f,h),g={"Content-Type":"application/octet-stream","Content-Length":String(p.size),"Content-Range":`bytes ${f}-${h-1}/${u}`,"X-Token":qi.access_code,"X-File-Name":encodeURIComponent(t.name),"X-File-MD5":l};if(!await xZ(c,g,await p.arrayBuffer(),s)){const y=`File upload failed: after ${s} retries at offset ${f}/${u}`;throw new Error(y)}if(d+=p.size,f=h,r){let y=d/u;if(a.currentUploadFileProgress=Math.round(y*100),isFinite(y)||(y=0),y=Math.max(0,Math.min(100,y)),y>=1){const v=di();v.currentSendingFileName="",v.currentUploadFileProgress=0}r(y)}}return{error_code:0}}async function qm(e,t){try{const n={local:"/download",udisk:"/download/udisk",sdcard:"/download/sdcard"}[t],r=qi.access_code;let i;if(!RZ){const s=`http://${qi.ip}:${kZ}`,a=new URL(n,s);a.searchParams.append("X-Token",r),a.searchParams.append("file_name",e),i=a.toString(),Pe.log("下载URL:",i)}const o=di();if(o.currentSendingFileName=e,qi.printerId)await ib.downloadFile(i),Pe.log("文件下载请求已发送");else{Pe.log("正在下载文件: ",e);const s=document.createElement("a");s.href=i,s.download=e,s.target="_blank",s.onerror=()=>{Pe.error("File download failed: file may not exist")};try{document.body.appendChild(s),s.click()}finally{if(s.parentNode)try{document.body.removeChild(s)}catch(a){console.warn("Failed to remove DOM element:",a)}}}return!0}catch(n){return Pe.error("File download failed:",n),!1}}function Ibe(){return{[De.NozzleHeating]:"喷嘴加热",[De.ManualInsertFilament]:"手动插入耗材",[De.BiteFilament]:"咬入耗材",[De.BiteFilamentEnd]:"咬入耗材结束",[De.CutFilament]:"切断耗材",[De.EjectFilament]:"退出耗材",[De.EjectFilamentComplete]:"退料完成",[De.UnloadStartCanvas]:"退料开始(多色)",[De.UnloadNozzleHeatingCanvas]:"退料喷嘴加热(多色)",[De.UnloadCheckFilamentCanvas]:"退料检查耗材位置(多色)",[De.UnloadCutFilamentCanvas]:"退料切断耗材(多色)",[De.UnloadDrawFilamentCanvas]:"退料抽回当前耗材(多色)",[De.LoadNozzleHeatingCanvas]:"进料喷嘴加热(多色)",[De.LoadManualInsertFilamentCanvas]:"进料检查耗材位置(多色)",[De.LoadCutFilamentCanvas]:"进料切断耗材(多色)",[De.LoadDrawFilamentCanvas]:"进料抽回当前耗材(多色)",[De.LoadPushFilamentCanvas]:"进料送出新耗材(多色)",[De.LoadFlushFilamentCanvas]:"进料冲刷旧耗材(多色)",[De.LoadCompleteCanvas]:"进料完成(多色)",[De.HotendPreheating]:"热端预热中",[De.HotendCooling]:"热端降温中",[De.BedPreheating]:"热床预热中",[De.BedCooling]:"热床降温中",[De.EnvironmentTooCold]:"环境温度过低",[De.Homing]:"归零中",[De.Homed]:"归零结束",[De.AutoLeveling]:"自动调平中",[De.AutoLevelingComplete]:"自动调平结束",[De.Pausing]:"暂停打印中",[De.Paused]:"暂停完成",[De.Resuming]:"恢复打印中",[De.Resumed]:"恢复打印完成",[De.Stopping]:"停止打印中",[De.Stopped]:"停止打印完成",[De.Printing]:"打印中",[De.PrintComplete]:"打印完成",[De.Interruption]:"断料",[De.PidPreheating]:"PID校准预热中",[De.PidDetecting]:"PID校准检测中",[De.PidCompleted]:"PID校准完成",[De.PidFailed]:"PID校准失败",[De.AccelerometerNormal]:"加速度传感器正常",[De.AccelerometerError]:"加速度传感器异常",[De.ResonanceOptimizing]:"振纹优化中",[De.ResonanceOptimized]:"振纹优化成功",[De.ResonanceOptimizeFailed]:"振纹优化失败",[De.OTAInfoUpdating]:"OTA升级信息更新",[De.OTADownloading]:"OTA下载中",[De.OTAExtracting]:"OTA解压中",[De.OTAUpdating]:"OTA更新中",[De.OTAComplete]:"OTA完成",[De.OTAFailed]:"OTA失败",[De.ComponentUpgrading]:"组件升级中",[De.ComponentUpgradeComplete]:"组件升级完成",[De.InitializeComplete]:"初始化完成",[De.FileSending]:"文件传输中",[De.FileSendingComplete]:"文件传输完成",[De.FileCopying]:"文件拷贝中",[De.FileCopyingComplete]:"文件拷贝完成",[De.TimeLapseVideoGenerating]:"延时摄影视频合成中",[De.TimeLapseVideoGeneratingComplete]:"延时摄影视频合成完成",[De.TimeLapseVideoGeneratingFailed]:"延时摄影视频合成失败",[De.ExtruderLoading]:"进料中",[De.ExtruderLoadComplete]:"进料完成",[De.ExtruderUnloading]:"退料中",[De.ExtruderUnloadingComplete]:"退料完成"}}function Pbe(e){return Ibe()[e]||""}function sT(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(i){i(n)}),(r=e.get("*"))&&r.slice().map(function(i){i(t,n)})}}}class Obe{constructor(t,n=5e3){et(this,"socket",null);et(this,"url");et(this,"reconnectInterval");et(this,"isConnected",!1);et(this,"manualClose",!1);et(this,"pendingRequests",new Map);et(this,"emitter",sT());this.url=t,this.reconnectInterval=n}connect(){this.socket=new WebSocket(this.url),this.socket.onopen=()=>{console.log("WebSocket connected"),this.isConnected=!0,this.manualClose=!1,this.emitter.emit("connected"),this.refreshAttributes(),this.refreshStatus(),this.openVideoStream(!0),this.getFileList("/local"),this.getPrintHistoryList()},this.socket.onmessage=t=>{this.onMessage(t.data)},this.socket.onclose=()=>{console.log("WebSocket disconnected"),this.isConnected=!1,this.emitter.emit("disconnected"),this.manualClose||(console.log("Attempting to reconnect..."),setTimeout(()=>this.connect(),this.reconnectInterval))},this.socket.onerror=t=>{console.error("WebSocket error:",t),this.isConnected||(console.log("Initial connection failed, retrying..."),setTimeout(()=>this.connect(),this.reconnectInterval))}}send(t){return this.isConnected&&this.socket&&this.socket.readyState===WebSocket.OPEN?(this.socket.send(t),!0):(console.warn("Cannot send message, WebSocket is not connected"),!1)}sendCmd(t,n,r=1e4){const i=qJ(),o={Id:"",Topic:"",Data:{Cmd:t,Data:n,MainboardID:"",RequestID:i,TimeStamp:Math.round(Date.now()/1e3),From:SJ.SDCPFromWeb}},s=JSON.stringify(o);return new Promise((a,c)=>{const l=setTimeout(()=>{this.pendingRequests.delete(i),c(new Error(`Request timed out after ${r}ms`))},r);this.pendingRequests.set(i,{resolve:a,reject:c,timeout:l}),this.send(s)||(this.pendingRequests.delete(i),c(new Error("Failed to send message")),clearTimeout(l))})}onMessage(t){const n=JSON.parse(t),r=n.Topic;if(!r.startsWith("sdcp/request/"))if(r.startsWith("sdcp/response/")){const i=n.Data;this.onResponse(i)}else if(r.startsWith("sdcp/status/"))this.onStatus(n.Status);else if(r.startsWith("sdcp/attributes/")){const i=n.Attributes;this.onAttributes(i)}else if(r.startsWith("sdcp/error/")){const i=n.Data;this.onError(i)}else r.startsWith("sdcp/notice/")}onResponse(t){const n=t.RequestID;if(this.pendingRequests.has(n)){const{resolve:r,timeout:i}=this.pendingRequests.get(n);clearTimeout(i),this.pendingRequests.delete(n),r(t.Data)}switch(t.Cmd){case Yn.CmdStatusRefresh:case Yn.CmdAttributesRefresh:break;case Yn.CmdPausePrint:case Yn.CmdResumePrint:case Yn.CmdStopPrint:break;case Yn.CmdGetFileList:const r=t.Data;this.emitter.emit("fileListData",r);break;case Yn.CmdGetFileInfo:const i=t.Data;this.emitter.emit("printFileInfoData",i);break;case Yn.CmdDeleteFiles:this.getFileList("/local");break;case Yn.CmdGetHistoryTasks:const o=t.Data;this.getPrintHistoryDetail(o.HistoryData);break;case Yn.CmdGetTaskDetails:const s=t.Data;this.emitter.emit("printHistoryTaskDetail",s);break;case Yn.CmdDeleteHistory:this.getPrintHistoryList();break;case Yn.CmdExportTimeLapse:{const a=t.Data;this.emitter.emit("exportTimeLapse",a);break}case Yn.CmdAMSGetMappingInfo:{const a=t.Data;this.emitter.emit("amsMappingInfo",a);break}}}onStatus(t){this.emitter.emit("status",t)}onError(t){}onAttributes(t){this.emitter.emit("attributes",t)}async refreshStatus(){try{const t={};await this.sendCmd(Yn.CmdStatusRefresh,t)}catch{}}async refreshAttributes(){try{const t={};await this.sendCmd(Yn.CmdAttributesRefresh,t)}catch{}}async getTaskDetails(t){const n={Id:t};return await this.sendCmd(Yn.CmdGetTaskDetails,n)}pausePrint(){const t={};return this.sendCmd(Yn.CmdPausePrint,t)}resumePrint(){const t={};return this.sendCmd(Yn.CmdResumePrint,t)}stopPrint(){const t={};return this.sendCmd(Yn.CmdStopPrint,t)}startPrint(t){const n={Filename:t.Filename,StartLayer:t.StartLayer,Calibration_switch:t.Calibration_switch,PrintPlatformType:t.PrintPlatformType,Tlp_Switch:t.Tlp_Switch};return this.sendCmd(Yn.CmdStartPrint,n)}setLight(t){const n={LightStatus:{SecondLight:t,RgbLight:[0,0,0]}};return this.sendCmd(Yn.CmdDeviceStatusControl,n)}setTemperature(t,n){if(t===void 0&&n===void 0)throw new Error("At least one temperature target must be provided");const r={};return t!==void 0&&(r.TempTargetHotbed=t),n!==void 0&&(r.TempTargetNozzle=n),this.sendCmd(Yn.CmdDeviceStatusControl,r)}setFan(t){const n={TargetFanSpeed:{ModelFan:t.modelFanSpeed,AuxiliaryFan:t.auxiliaryFanSpeed,BoxFan:t.chassisFanSpeed}};return this.sendCmd(Yn.CmdDeviceStatusControl,n)}setPrintSpeedPct(t){const n={PrintSpeedPct:t};return this.sendCmd(Yn.CmdDeviceStatusControl,n)}getFileList(t){const n={Url:t};return this.sendCmd(Yn.CmdGetFileList,n)}getPrintFileInfo(t){const n={Url:t};return this.sendCmd(Yn.CmdGetFileInfo,n)}deletePrintFile(t,n){if(!Array.isArray(t))throw new Error("fileList must be an array of strings");if(n!==void 0&&!Array.isArray(n))throw new Error("folderList must be an array of strings");if(n.length===0){const r={FileList:t};return this.sendCmd(Yn.CmdDeleteFiles,r)}else{const r={FileList:t,FolderList:n};return this.sendCmd(Yn.CmdDeleteFiles,r)}}getPrintHistoryList(){const t={};return this.sendCmd(Yn.CmdGetHistoryTasks,t)}getPrintHistoryDetail(t){const n={Id:t};return this.sendCmd(Yn.CmdGetTaskDetails,n)}deletePrintHistory(t){const n={Id:t};return this.sendCmd(Yn.CmdDeleteHistory,n)}exportTimeLapse(t){const n={Url:t};return this.sendCmd(Yn.CmdExportTimeLapse,n,1e3*180)}move(t){if(t.type==="move"){const n={Axis:t.Axis,Step:t.Step};return this.sendCmd(Yn.CmdXYZMoveControl,n)}else if(t.type==="home"){const n={Axis:t.Axis};return this.sendCmd(Yn.CmdXYZHomeControl,n)}}openVideoStream(t){const n={Enable:t===!0?1:0};return this.sendCmd(Yn.CmdVideoStreamControl,n)}amsLoadingOrUnloading(t,n){return this.sendCmd(n,t)}setAmsFilamentInfo(t){return this.sendCmd(Yn.CmdAMSSetFilamentInfo,t)}startPrintAmsWithMapping(t){return this.sendCmd(Yn.CmdAMSPrintWithMapping,t)}randomFilament(){const t=["PLA","PETG","ABS"];return t[Math.floor(Math.random()*t.length)]}randomColor(){const t="0123456789ABCDEF";let n="#";for(let r=0;r<6;r++)n+=t[Math.floor(Math.random()*16)];return n}getAvailableTrayIds(t,n){const r=t.toString();return["1","2","3","4"].map(i=>r+i).filter(i=>!n.has(i))}randomAmsAndTrayId(t,n){const r=[0,1,2,3].filter(a=>!t.has(a));if(r.length===0)return null;const i=r[Math.floor(Math.random()*r.length)];t.add(i);const o=this.getAvailableTrayIds(i,n);if(o.length===0)return null;const s=o[Math.floor(Math.random()*o.length)];return n.add(s),{ams_id:i.toString(),tray_id:s}}generateRandomColorMapping(t,n){const r=[],i=new Set,o=new Set,s=Math.min(t,n*4);for(let a=1;a<=s;a++){const c=this.randomAmsAndTrayId(i,o);if(!c)break;r.push({id:a,filament:this.randomFilament(),color:this.randomColor(),ams_id:c.ams_id,tray_id:c.tray_id})}return r}randomSDCPGetAmsMappingInfoResponseData(){const n=`file_${Math.floor(Math.random()*1e3)}.gcode`,r=Math.floor(Math.random()*1e6),i=Math.floor(Math.random()*1e7),o=Math.floor(Math.random()*1e4),s=this.randomFilament(),a=Math.floor(Math.random()*20)+1,c=Math.floor(Math.random()*4)+1;return{Ack:0,Name:n,FileSize:r,PrintTime:i,TotalLayer:o,Filament:s,ColorNum:a,AmsNum:c,ColorMapping:this.generateRandomColorMapping(a,c)}}getAmsMappingInfo(t){const n=this.randomSDCPGetAmsMappingInfoResponseData();return this.emitter.emit("amsMappingInfo",n),n}close(){this.manualClose=!0,this.socket&&this.socket.close()}}const ju="LOADING",h1="firstPreheatedTime";var wt=(e=>(e.Idle="Idle",e.Resuming="Resuming",e.Printing="Printing",e.Pausing="Pausing",e.Paused="Paused",e.Stopping="Stopping",e.Stopped="Stopped",e.Error="Error",e.Preparing="Preparing",e.FileUploading="FileUploading",e.Completed="Completed",e.DeviceTesting="DeviceTesting",e.AutoLevel="AutoLevel",e.ResonanceTesting="ResonanceTesting",e.Busy="Busy",e.FileChecking="FileChecking",e.Homing="Homing",e.FeedOut="FeedOut",e.PIDDetect="PIDDetect",e.Preheating="Preheating",e.Preheated="Preheated",e.AutoLeveled="AutoLeveled",e.Others="Others",e))(wt||{});const El=oy("printer",()=>{const e=se(),t=se(),{t:n}=Eo(),r=se(""),i=se(),o=se(),s=se(),a=se(),c=se(),l=se("");let u=[],d=null;const f=se(""),h=se(!1),p=Eee(),g=p.curPrintHost?p.curPrintHost:Ws.printerWebsocketHost,m=new Obe(`ws://${g}:3030/websocket`,5e3),y=se(),v=se(!1),E=se(""),b=se(""),S=eo({moveStep:10,modelFanSpeed:0,auxiliaryFanSpeed:0,chassisFanSpeed:0,lightValue:0,curPrinterMode:100,printModeOptions:[{label:"control.slient",value:50},{label:"control.balanced",value:100},{label:"control.sport",value:130},{label:"control.ludicrous",value:160}],xPos:0,yPos:0,zPos:0});async function w(We){var Ht,_t,qt;if(!We)return;e.value=We,y.value=(Ht=e.value)==null?void 0:Ht.PrintInfo;const $e=E.value;E.value=((qt=(_t=e.value)==null?void 0:_t.PrintInfo)==null?void 0:qt.TaskId)||"",S.lightValue=(We==null?void 0:We.LightStatus.SecondLight)===1?10:0,S.modelFanSpeed=(We==null?void 0:We.CurrentFanSpeed.ModelFan)??0,S.auxiliaryFanSpeed=(We==null?void 0:We.CurrentFanSpeed.AuxiliaryFan)??0,S.chassisFanSpeed=(We==null?void 0:We.CurrentFanSpeed.BoxFan)??0,S.curPrinterMode=(We==null?void 0:We.PrintInfo.PrintSpeedPct)??100;const ht=We.CurrenCoord.split(",");if(ht.length===3&&(S.xPos=parseFloat(ht[0]),S.yPos=parseFloat(ht[1]),S.zPos=parseFloat(ht[2])),E.value.length>0&&$e!==E.value)try{const nn=await m.getTaskDetails([E.value]);nn.Ack===0&&nn.HistoryDetailList&&nn.HistoryDetailList.length>0&&E.value.length>0&&nn.HistoryDetailList.forEach(kn=>{kn.TaskId.trim()===E.value.trim()&&(b.value=kn.Thumbnail)})}catch(nn){console.error("Error fetching task details:",nn)}}async function C(We){We&&(t.value=We)}async function _(We){i.value=We}async function I(We){o.value=We}async function O(We){s.value=We}async function L(We){a.value=We}async function R(We){Pe.log("获取多色映射关系成功槽函数"),c.value=We}m.emitter.on("status",w),m.emitter.on("attributes",C),m.emitter.on("connected",()=>{h.value=!0}),m.emitter.on("disconnected",()=>{h.value=!1}),m.emitter.on("fileListData",_),m.emitter.on("printFileInfoData",O),m.emitter.on("printHistoryTaskDetail",I),m.emitter.on("exportTimeLapse",L),m.emitter.on("amsMappingInfo",R);const F=V(()=>y.value===void 0?0:y.value.CurrentTicks),W=V(()=>y.value===void 0?0:y.value.TotalTicks-y.value.CurrentTicks),J=We=>{(!u.length&&We=="Paused"||u.length)&&u.push(We);for(const $e of u);return u.length===3&&u[0]==="Paused"&&u[1]==="Preheating"&&u[2]==="Preheated"},Y=()=>{if(localStorage.removeItem(h1),localStorage.getItem(ju)!==null){const We=JSON.parse(localStorage.getItem(ju)||"{}"),ht={isUpdate:!0,taskId:(We==null?void 0:We.taskId)||""};localStorage.setItem(ju,JSON.stringify(ht)),Pe.log("更新后的缓存内容",ht)}},M=se(0),B=V(()=>{var ht,Ht;const We=(ht=e.value)==null?void 0:ht.CurrentStatus,$e=(Ht=e.value)==null?void 0:Ht.PrintInfo.Status;if(M.value,localStorage.getItem(ju)!==null){if(Pe.log("LOADING缓存数据不为空"),$e!==20&&$e!==void 0)Pe.log("清除缓存数据"),localStorage.removeItem(ju),localStorage.removeItem(h1);else if($e===20){const _t=JSON.parse(localStorage.getItem(ju)||"null");if(_t.isUpdate){if(_t.taskId===E.value){const qt=Date.now();localStorage.getItem(h1)||(localStorage.setItem(h1,qt.toString()),Pe.log("首次记录时间:",qt.toString()),setTimeout(()=>{const kn=localStorage.getItem(h1);if(Pe.log("当前状态:",$e),kn&&$e===20){const Jn={isUpdate:!1,taskId:E.value};localStorage.setItem(ju,JSON.stringify(Jn)),Pe.log("已持续3s",Date.now().toString()),M.value++}},3e3))}}else return"Paused"}}if(!We)return"Idle";if(We.includes(2))return"FileUploading";if(We.includes(8))return"FileChecking";if(We.includes(3))return"Others";if(We.includes(4))return"DeviceTesting";if(We.includes(5))return"AutoLevel";if(We.includes(6))return"ResonanceTesting";if(We.includes(7))return"Busy";if(We.includes(9))return"Homing";if(We.includes(10))return"FeedOut";if(We.includes(11))return"PIDDetect";if(We.includes(0)||We.includes(1))switch($e){case 1:return"Homing";case 0:return"Idle";case 5:return"Pausing";case 6:return"Paused";case 7:return"Stopping";case 8:return"Stopped";case 9:return"Completed";case 12:return Pe.log("恢复打印中..."),"Resuming";case 13:case 18:return"Printing";case 14:return"Error";case 15:return Pe.log("调平中..."),"AutoLevel";case 16:return"Preheating";case 19:return"AutoLeveled";case 20:{const _t=new Date,qt=`${_t.getFullYear()}-${(_t.getMonth()+1).toString().padStart(2,"0")}-${_t.getDate().toString().padStart(2,"0")} ${_t.getHours().toString().padStart(2,"0")}:${_t.getMinutes().toString().padStart(2,"0")}:${_t.getSeconds().toString().padStart(2,"0")}`;return Pe.log(`[${qt}] 预热完成`),"Preheated"}default:return"Preparing"}return"Others"});Ye(B,We=>{Pe.log("状态变化",We),J(We)&&(d&&clearTimeout(d),d=setTimeout(()=>{Pe.log("状态已保持 Preheated 超过 3 秒");const $e={isUpdate:!1,taskId:E.value};u=[],localStorage.setItem(ju,JSON.stringify($e))},3e3))});const q=V(()=>{var $e;const We=($e=e.value)==null?void 0:$e.CurrentStatus;return We?!!We.includes(1):!1}),z=V(()=>B.value==="Preparing"||B.value==="Printing"||B.value==="Paused"),A=V(()=>B.value==="Printing"),T=V(()=>B.value==="Idle"),k=V(()=>B.value==="Preparing"),j=V(()=>B.value==="Completed"),re=V(()=>B.value==="FileUploading"),me=V(()=>B.value==="Pausing"),te=V(()=>B.value==="Paused"),X=V(()=>B.value==="Stopped"),fe=V(()=>B.value==="Preheated"),le=V(()=>B.value==="AutoLevel"),ve=V(()=>B.value==="AutoLeveled"),Z=V(()=>B.value==="PIDDetect"),ae=V(()=>B.value==="ResonanceTesting"),pe=V(()=>B.value==="Homing"),K=V(()=>B.value==="Busy");async function ce(){try{v.value=!0,(await m.pausePrint()).Ack!==0&&Zt.error(n("toastMessages.pauseFailed"))}catch{Zt.error(n("toastMessages.pauseFailed"))}finally{v.value=!1}}async function ye(We=1e4*6){try{v.value=!0,(await m.resumePrint()).Ack!==0&&Zt.error(n("toastMessages.resumeFailed"))}catch{Zt.error(n("toastMessages.resumeFailed"))}finally{v.value=!1}}async function ee(){try{v.value=!0,(await m.stopPrint()).Ack!==0&&Zt.error(n("toastMessages.stopFailed"))}catch{Zt.error(n("toastMessages.stopFailed"))}finally{v.value=!1}}async function $(We){try{v.value=!0,(await m.startPrint(We)).Ack!==0&&Zt.error(n("toastMessages.startFailed"))}catch{Zt.error(n("toastMessages.startFailed"))}finally{v.value=!1}}async function ge(We){const $e=performance.now();try{v.value=!0;const ht=await m.getPrintFileInfo(We);console.log(`获取打印文件信息请求耗时: ${performance.now()-$e}ms`),ht.Ack!==0&&Zt.error(n("toastMessages.getFileInfoFailed"))}catch{Zt.error(n("toastMessages.getFileInfoFailed"))}finally{v.value=!1}}async function ie(We,$e){try{v.value=!0,(await m.deletePrintFile(We,$e)).Ack!==0&&Zt.error(n("toastMessages.deleteFileFailed"))}catch{Zt.error(n("toastMessages.deleteFileFailed"))}finally{v.value=!1}}async function Ie(We){try{v.value=!0,(await m.deletePrintHistory(We)).Ack!==0&&Zt.error(n("toastMessages.deleteHistoryFailed"))}catch{Zt.error(n("toastMessages.deleteHistoryFailed"))}finally{v.value=!1}}async function Ce(){try{v.value=!0,(await m.getPrintHistoryList()).Ack!==0&&Zt.error(n("toastMessages.getHistoryFailed"))}catch{Zt.error(n("toastMessages.getHistoryFailed"))}finally{v.value=!1}}const oe=(We,$e,ht,Ht)=>({id:We,from:ht,brand:$e?Ht||["Polymaker","eSUN","HATCHBOX"][Math.floor(Math.random()*3)]:"",filamentType:$e?["PLA","PETG","ABS","TPU","PA"][Math.floor(Math.random()*5)]:"",filamentName:$e?["PLA+","PLA","PLA-CF","TPU","PA"][Math.floor(Math.random()*5)]:"",filamentColor:$e?`#${Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}`:"",serialNumber:$e?1e4+Math.floor(Math.random()*9e4):0,filamentDiameter:"1.75",minNozzleTemp:$e?190+Math.floor(Math.random()*50):0,maxNozzleTemp:$e?220+Math.floor(Math.random()*50):0,minBedTemp:$e?30+Math.floor(Math.random()*40):0,maxBedTemp:$e?60+Math.floor(Math.random()*40):0,enabled:$e}),Ne=(We,$e)=>{const Ht=[...[ds.User,ds.User,ds.Rfid,ds.Null]].sort(()=>Math.random()-.5),_t=Array.from({length:4},(qt,nn)=>{const kn=nn===$e,Jn=Ht[nn]!==ds.Null||kn;return oe(`${We}${nn}`,Jn,Ht[nn],["Polymaker","eSUN","HATCHBOX","Sunlu"][We.charCodeAt(0)%4])});return{Id:We,Temperature:24+Math.round(Math.random()*8),Humidity:40+Math.round(Math.random()*20),TrayList:_t}},x=V(()=>({AmsConnectStatus:!0,AmsType:"0404",AmsConnectNum:4,NozzleFilamentStatus:!0,AmsCurrentEnabled:{AmsId:"0",TrayId:"01",Status:jg.Printing},AmsBoxs:[Ne("0",1),Ne("1",0),Ne("2",3),Ne("3")],VtTray:{...oe("vt-0",!0,ds.User),filamentType:"TPU",filamentName:"Virtual TPU",brand:"Bambu Lab"}}));async function N(We){try{v.value=!0,(await m.getAmsMappingInfo(We)).Ack===0||Zt.error("Modification Failed. Please Try Again!")}catch{Zt.error("Modification Failed. Please Try Again!")}finally{v.value=!1}}async function U(We,$e){try{v.value=!0,(await m.amsLoadingOrUnloading(We,$e)).Ack===0?Zt.success("Modification Successful"):Zt.error("Modification Failed. Please Try Again!")}catch{Zt.error("Modification Failed. Please Try Again!")}finally{v.value=!1}}async function de(We){try{v.value=!0,(await m.setAmsFilamentInfo(We)).Ack===0||Zt.error("Modification Failed. Please Try Again!")}catch{Zt.error("Modification Failed. Please Try Again!")}finally{v.value=!1}}async function we(We){try{v.value=!0,(await m.startPrintAmsWithMapping(We)).Ack===0||Zt.error("Modification Failed. Please Try Again!")}catch{Zt.error("Modification Failed. Please Try Again!")}finally{v.value=!1}}async function Ae(We){try{return v.value=!0,(await m.setLight(We)).Ack===0?(Zt.success(n("toastMessages.commandExecuted")),!0):(Zt.error(n("toastMessages.executionFailed")),!1)}catch{return Zt.error(n("toastMessages.executionFailed")),!1}finally{v.value=!1}}async function Le(We,$e){try{v.value=!0,(await m.setTemperature(We,$e)).Ack===0?Zt.success(n("toastMessages.commandExecuted")):Zt.error(n("toastMessages.executionFailed"))}catch{Zt.error(n("toastMessages.executionFailed"))}finally{v.value=!1}}async function ue(We){try{return v.value=!0,(await m.setFan(We)).Ack===0?(Zt.success(n("toastMessages.commandExecuted")),!0):(Zt.error(n("toastMessages.executionFailed")),!1)}catch{return Zt.error(n("toastMessages.executionFailed")),!1}finally{v.value=!1}}async function Ee(We){try{v.value=!0;const $e=await m.move(We);$e.Ack===0?Zt.success(n("toastMessages.commandExecuted")):$e.Ack===3?Zt.warning({message:n("toastMessages.homingBeforeMove"),duration:0,showClose:!0,offset:40}):Zt.error(n("toastMessages.executionFailed"))}catch{Zt.error(n("toastMessages.executionFailed"))}finally{v.value=!1}}async function He(We){try{v.value=!0,(await m.getFileList(We)).Ack!==0&&Zt.error(n("toastMessages.getFileListFailed"))}catch{Zt.error(n("toastMessages.getFileListFailed"))}finally{v.value=!1}}async function Xe(We){try{return v.value=!0,(await m.setPrintSpeedPct(We)).Ack===0?(Zt.success(n("toastMessages.commandExecuted")),!0):(Zt.error(n("toastMessages.executionFailed")),!1)}catch{return Zt.error(n("toastMessages.executionFailed")),!1}finally{v.value=!1}}async function qe(We){try{v.value=!0;const $e=await m.openVideoStream(We);if($e.Ack===0)return window.location.protocol==="https:"?f.value=`https://${$e.VideoUrl}`:f.value=`http://${$e.VideoUrl}`,$e.VideoUrl;throw new Error(n("toastMessages.streamError"))}finally{v.value=!1}}async function It(We){try{v.value=!0,(await m.exportTimeLapse(We)).Ack!==0&&Zt.error(n("toastMessages.exportVideoFailed"))}catch{Zt.error(n("toastMessages.exportVideoFailed"))}finally{v.value=!1}}return{PrintStatus:wt,deviceStatus:e,isConnected:h,printerInfo:y,elapsedPrintTime:F,remainingPrintTime:W,status:B,isIdle:T,isPreparing:k,isRealPrinting:A,isPrinting:q,isPausing:me,isPaused:te,isStopped:X,isNormalPrinting:z,isPreheated:fe,isAutoLeveled:ve,isAutoLevel:le,isPIDDetect:Z,isResonanceTesting:ae,isHoming:pe,isBusy:K,currentThumbnail:b,pausePrint:ce,isExecutingCommand:v,resumePrint:ye,stopPrint:ee,startPrint:$,deviceControlModel:S,setLight:Ae,setFanSpeed:ue,move:Ee,setPrintSpeedPct:Xe,deviceAttributes:t,openVideoStream:qe,fileListData:i,deletePrintFile:ie,printHistoryTaskDetailData:o,getPrintFileInfo:ge,printFileInfoData:s,deletePrintHistory:Ie,setTemperature:Le,exportTimeLapse:It,getFileList:He,exportTimeLapseListData:a,getPrintHistoryList:Ce,currentTaskId:E,isCompleted:j,isFileUploading:re,curPrintFileName:l,curPrintHost:r,amsLoadingOrUnloading:U,setAmsFilamentInfo:de,getAmsMappingInfo:N,onBeforeUnmount:Y,amsMappingInfoData:c,livingVideoUrl:f,mockAmsInfo1:x,startPrintAmsWithMapping:we}});var Rt=(e=>(e[e.GetSystemInfo=1001]="GetSystemInfo",e[e.GetBasicInfo=1002]="GetBasicInfo",e[e.GetMachineStatus=1003]="GetMachineStatus",e[e.GetFanInfo=1004]="GetFanInfo",e[e.GetPrintsInfo=1005]="GetPrintsInfo",e[e.GetHomeStatus=1006]="GetHomeStatus",e[e.UrgentStop=1007]="UrgentStop",e[e.SetPrintConfig=1019]="SetPrintConfig",e[e.StartPrint=1020]="StartPrint",e[e.PausePrint=1021]="PausePrint",e[e.CancelPrint=1022]="CancelPrint",e[e.ResumePrint=1023]="ResumePrint",e[e.Feed=1024]="Feed",e[e.Retreat=1025]="Retreat",e[e.XYZHomeControl=1026]="XYZHomeControl",e[e.XYZMoveControl=1027]="XYZMoveControl",e[e.TemperatureControl=1028]="TemperatureControl",e[e.LightSwitch=1029]="LightSwitch",e[e.FanControl=1030]="FanControl",e[e.PrintSpeedControl=1031]="PrintSpeedControl",e[e.AutoLeveling=1032]="AutoLeveling",e[e.VibrationOptimize=1033]="VibrationOptimize",e[e.PIDDetect=1034]="PIDDetect",e[e.OneKeyCheck=1035]="OneKeyCheck",e[e.GetHistoryTask=1036]="GetHistoryTask",e[e.GetHistoryTaskDetail=1037]="GetHistoryTaskDetail",e[e.HistoryDelete=1038]="HistoryDelete",e[e.OTAUpgrade=1039]="OTAUpgrade",e[e.GetLivingVideoUrl=1042]="GetLivingVideoUrl",e[e.SetDeviceName=1043]="SetDeviceName",e[e.GetFileList=1044]="GetFileList",e[e.GetFileThumbnail=1045]="GetFileThumbnail",e[e.GetFileDetail=1046]="GetFileDetail",e[e.DeleteFile=1047]="DeleteFile",e[e.GetCapacity=1048]="GetCapacity",e[e.GetTimeLapseVideoList=1051]="GetTimeLapseVideoList",e[e.Heartbeat=1052]="Heartbeat",e[e.StartVideoStream=1054]="StartVideoStream",e[e.SetMonoFilamentInfo=1055]="SetMonoFilamentInfo",e[e.GetMonoFilamentInfo=1061]="GetMonoFilamentInfo",e[e.GetAIDetectionSettings=1062]="GetAIDetectionSettings",e[e.SetAIDetectionSettings=1063]="SetAIDetectionSettings",e[e.LoadFilamenting=2001]="LoadFilamenting",e[e.UnloadFilamenting=2002]="UnloadFilamenting",e[e.SetFilamentInfo=2003]="SetFilamentInfo",e[e.SetAutoFillFilament=2004]="SetAutoFillFilament",e[e.GetCanvasInfo=2005]="GetCanvasInfo",e[e.MessageAutoReport=6e3]="MessageAutoReport",e[e.SystemAutoReport=6008]="SystemAutoReport",e))(Rt||{});const _be=0,Nd={PLA:{type:"PLA",name:"PLA",code:"0x0000",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA+":{type:"PLA",name:"PLA+",code:"0x0001",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA PRO":{type:"PLA",name:"PLA PRO",code:"0x0002",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Silk":{type:"PLA",name:"PLA Silk",code:"0x0003",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA-CF":{type:"PLA",name:"PLA-CF",code:"0x0004",temperature:{min:210,max:240},elegoo:!0,generic:!0},"PLA Carbon":{type:"PLA",name:"PLA Carbon",code:"0x0005",temperature:{min:190,max:230},elegoo:!1,generic:!0},"PLA Matte":{type:"PLA",name:"PLA Matte",code:"0x0006",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Fluo":{type:"PLA",name:"PLA Fluo",code:"0x0007",temperature:{min:190,max:230},elegoo:!1,generic:!0},"PLA Wood":{type:"PLA",name:"PLA Wood",code:"0x0008",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Basic":{type:"PLA",name:"PLA Basic",code:"0x0009",temperature:{min:190,max:230},elegoo:!0,generic:!0},"RAPID PLA+":{type:"PLA",name:"RAPID PLA+",code:"0x000A",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Marble":{type:"PLA",name:"PLA Marble",code:"0x000B",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Galaxy":{type:"PLA",name:"PLA Galaxy",code:"0x000C",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Red Copper":{type:"PLA",name:"PLA Red Copper",code:"0x000D",temperature:{min:190,max:230},elegoo:!0,generic:!0},"PLA Sparkle":{type:"PLA",name:"PLA Sparkle",code:"0x000E",temperature:{min:190,max:230},elegoo:!1,generic:!0},PETG:{type:"PETG",name:"PETG",code:"0x0100",temperature:{min:230,max:260},elegoo:!0,generic:!0},"PETG-CF":{type:"PETG",name:"PETG-CF",code:"0x0101",temperature:{min:240,max:270},elegoo:!0,generic:!0},"PETG-GF":{type:"PETG",name:"PETG-GF",code:"0x0102",temperature:{min:240,max:270},elegoo:!0,generic:!0},"PETG PRO":{type:"PETG",name:"PETG PRO",code:"0x0103",temperature:{min:230,max:260},elegoo:!0,generic:!0},"PETG Translucent":{type:"PETG",name:"PETG Translucent",code:"0x0104",temperature:{min:230,max:260},elegoo:!0,generic:!0},"RAPID PETG":{type:"PETG",name:"RAPID PETG",code:"0x0105",temperature:{min:230,max:260},elegoo:!0,generic:!0},ABS:{type:"ABS",name:"ABS",code:"0x0200",temperature:{min:240,max:280},elegoo:!0,generic:!0},"ABS-GF":{type:"ABS",name:"ABS-GF",code:"0x0201",temperature:{min:240,max:280},elegoo:!1,generic:!0},TPU:{type:"TPU",name:"TPU",code:"0x0300",temperature:{min:220,max:240},elegoo:!1,generic:!0},"TPU 95A":{type:"TPU",name:"TPU 95A",code:"0x0301",temperature:{min:220,max:240},elegoo:!0,generic:!0},"RAPID TPU 95A":{type:"TPU",name:"RAPID TPU 95A",code:"0x0302",temperature:{min:220,max:240},elegoo:!0,generic:!0},PA:{type:"PA",name:"PA",code:"0x0400",temperature:{min:260,max:290},elegoo:!1,generic:!0},"PA-CF":{type:"PA",name:"PA-CF",code:"0x0401",temperature:{min:260,max:300},elegoo:!1,generic:!0},"PAHT-CF":{type:"PA",name:"PAHT-CF",code:"0x0402",temperature:{min:280,max:320},elegoo:!0,generic:!0},PA6:{type:"PA",name:"PA6",code:"0x0403",temperature:{min:260,max:290},elegoo:!1,generic:!0},"PA6-CF":{type:"PA",name:"PA6-CF",code:"0x0404",temperature:{min:270,max:310},elegoo:!1,generic:!0},PA12:{type:"PA",name:"PA12",code:"0x0405",temperature:{min:240,max:270},elegoo:!1,generic:!0},"PA12-CF":{type:"PA",name:"PA12-CF",code:"0x0406",temperature:{min:260,max:290},elegoo:!1,generic:!0},CPE:{type:"CPE",name:"CPE",code:"0x0500",temperature:{min:220,max:250},elegoo:!1,generic:!0},PC:{type:"PC",name:"PC",code:"0x0600",temperature:{min:260,max:290},elegoo:!0,generic:!0},PCTG:{type:"PC",name:"PCTG",code:"0x0601",temperature:{min:260,max:290},elegoo:!1,generic:!0},"PC-FR":{type:"PC",name:"PC-FR",code:"0x0602",temperature:{min:260,max:290},elegoo:!0,generic:!0},PVA:{type:"PVA",name:"PVA",code:"0x0700",temperature:{min:180,max:210},elegoo:!1,generic:!0},ASA:{type:"ASA",name:"ASA",code:"0x0800",temperature:{min:240,max:280},elegoo:!0,generic:!0},BVOH:{type:"BVOH",name:"BVOH",code:"0x0900",temperature:{min:190,max:210},elegoo:!1,generic:!0},EVA:{type:"EVA",name:"EVA",code:"0x0A00",temperature:{min:180,max:220},elegoo:!1,generic:!0},HIPS:{type:"HIPS",name:"HIPS",code:"0x0B00",temperature:{min:220,max:250},elegoo:!1,generic:!0},PP:{type:"PP",name:"PP",code:"0x0C00",temperature:{min:210,max:250},elegoo:!1,generic:!0},"PP-CF":{type:"PP",name:"PP-CF",code:"0x0C01",temperature:{min:220,max:260},elegoo:!1,generic:!0},"PP-GF":{type:"PP",name:"PP-GF",code:"0x0C02",temperature:{min:230,max:250},elegoo:!1,generic:!0},PPA:{type:"PPA",name:"PPA",code:"0x0D00",temperature:{min:290,max:310},elegoo:!1,generic:!0},"PPA-CF":{type:"PPA",name:"PPA-CF",code:"0x0D01",temperature:{min:300,max:320},elegoo:!1,generic:!0},"PPA-GF":{type:"PPA",name:"PPA-GF",code:"0x0D02",temperature:{min:290,max:310},elegoo:!1,generic:!0},PPS:{type:"PPS",name:"PPS",code:"0x0E00",temperature:{min:330,max:340},elegoo:!1,generic:!0},"PPS-CF":{type:"PPS",name:"PPS-CF",code:"0x0E01",temperature:{min:340,max:360},elegoo:!1,generic:!0}};function Pi(e){return Nd[e]??{type:"",name:"",code:"",temperature:{min:0,max:0}}}function l4(){return Object.keys(Nd)}function DZ(){return Object.keys(Nd).filter(e=>Nd[e].elegoo)}function LZ(){return Object.keys(Nd).filter(e=>Nd[e].generic)}function NZ(){return Array.from(new Set(Object.values(Nd).map(e=>e.type)))}function ob(e){return Object.values(Nd).filter(t=>t.type===e).map(t=>t.name)}var MZ=(e=>(e[e.Silent=0]="Silent",e[e.Balanced=1]="Balanced",e[e.Sport=2]="Sport",e[e.Frenzy=3]="Frenzy",e))(MZ||{}),xn=(e=>(e.Local="local",e.UDisk="u-disk",e.SDCard="sd-card",e))(xn||{}),aT=Object.defineProperty,Rbe=Object.getOwnPropertyDescriptor,kbe=Object.getOwnPropertyNames,xbe=Object.prototype.hasOwnProperty,Vs=(e,t)=>()=>(e&&(t=e(e=0)),t),st=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jp=(e,t)=>{for(var n in t)aT(e,n,{get:t[n],enumerable:!0})},Dbe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of kbe(t))!xbe.call(e,i)&&i!==n&&aT(e,i,{get:()=>t[i],enumerable:!(r=Rbe(t,i))||r.enumerable});return e},zr=e=>Dbe(aT({},"__esModule",{value:!0}),e),tt=Vs(()=>{}),gr={};jp(gr,{_debugEnd:()=>Ub,_debugProcess:()=>Fb,_events:()=>eS,_eventsCount:()=>tS,_exiting:()=>wb,_fatalExceptions:()=>Nb,_getActiveHandles:()=>WZ,_getActiveRequests:()=>zZ,_kill:()=>Pb,_linkedBinding:()=>jZ,_maxListeners:()=>$b,_preload_modules:()=>Kb,_rawDebug:()=>Sb,_startProfilerIdleNotifier:()=>jb,_stopProfilerIdleNotifier:()=>Hb,_tickCallback:()=>Bb,abort:()=>Gb,addListener:()=>nS,allowedNodeEnvironmentFlags:()=>Db,arch:()=>ab,argv:()=>ub,argv0:()=>Qb,assert:()=>VZ,binding:()=>mb,browser:()=>bb,chdir:()=>yb,config:()=>Tb,cpuUsage:()=>x1,cwd:()=>vb,debugPort:()=>Xb,default:()=>lT,dlopen:()=>HZ,domain:()=>Cb,emit:()=>aS,emitWarning:()=>pb,env:()=>lb,execArgv:()=>db,execPath:()=>Yb,exit:()=>kb,features:()=>Lb,hasUncaughtExceptionCaptureCallback:()=>GZ,hrtime:()=>kv,kill:()=>Rb,listeners:()=>ZZ,memoryUsage:()=>_b,moduleLoadList:()=>Ab,nextTick:()=>FZ,off:()=>iS,on:()=>Bl,once:()=>rS,openStdin:()=>xb,pid:()=>Jb,platform:()=>cb,ppid:()=>Zb,prependListener:()=>cS,prependOnceListener:()=>lS,reallyExit:()=>Ib,release:()=>Eb,removeAllListeners:()=>sS,removeListener:()=>oS,resourceUsage:()=>Ob,setSourceMapsEnabled:()=>qb,setUncaughtExceptionCaptureCallback:()=>Mb,stderr:()=>Wb,stdin:()=>Vb,stdout:()=>zb,title:()=>sb,umask:()=>gb,uptime:()=>JZ,version:()=>fb,versions:()=>hb});function cT(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function Lbe(){!$0||!B0||($0=!1,B0.length?Xc=B0.concat(Xc):hm=-1,Xc.length&&BZ())}function BZ(){if(!$0){var e=setTimeout(Lbe,0);$0=!0;for(var t=Xc.length;t;){for(B0=Xc,Xc=[];++hm<t;)B0&&B0[hm].run();hm=-1,t=Xc.length}B0=null,$0=!1,clearTimeout(e)}}function FZ(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Xc.push(new UZ(e,t)),Xc.length===1&&!$0&&setTimeout(BZ,0)}function UZ(e,t){this.fun=e,this.array=t}function Bo(){}function jZ(e){cT("_linkedBinding")}function HZ(e){cT("dlopen")}function zZ(){return[]}function WZ(){return[]}function VZ(e,t){if(!e)throw new Error(t||"assertion error")}function GZ(){return!1}function JZ(){return Ql.now()/1e3}function kv(e){var t=Math.floor((Date.now()-Ql.now())*.001),n=Ql.now()*.001,r=Math.floor(n)+t,i=Math.floor(n%1*1e9);return e&&(r=r-e[0],i=i-e[1],i<0&&(r--,i+=xv)),[r,i]}function Bl(){return lT}function ZZ(e){return[]}var Xc,$0,B0,hm,sb,ab,cb,lb,ub,db,fb,hb,pb,mb,gb,vb,yb,Eb,bb,Sb,Ab,Cb,wb,Tb,Ib,Pb,x1,Ob,_b,Rb,kb,xb,Db,Lb,Nb,Mb,Bb,Fb,Ub,jb,Hb,zb,Wb,Vb,Gb,Jb,Zb,Yb,Xb,Qb,Kb,qb,Ql,E8,xv,$b,eS,tS,nS,rS,iS,oS,sS,aS,cS,lS,lT,Nbe=Vs(()=>{tt(),rt(),nt(),Xc=[],$0=!1,hm=-1,UZ.prototype.run=function(){this.fun.apply(null,this.array)},sb="browser",ab="x64",cb="browser",lb={PATH:"/usr/bin",LANG:typeof navigator<"u"?navigator.language+".UTF-8":void 0,PWD:"/",HOME:"/home",TMP:"/tmp"},ub=["/usr/bin/node"],db=[],fb="v16.8.0",hb={},pb=function(e,t){console.warn((t?t+": ":"")+e)},mb=function(e){cT("binding")},gb=function(e){return 0},vb=function(){return"/"},yb=function(e){},Eb={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},bb=!0,Sb=Bo,Ab=[],Cb={},wb=!1,Tb={},Ib=Bo,Pb=Bo,x1=function(){return{}},Ob=x1,_b=x1,Rb=Bo,kb=Bo,xb=Bo,Db={},Lb={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},Nb=Bo,Mb=Bo,Bb=Bo,Fb=Bo,Ub=Bo,jb=Bo,Hb=Bo,zb=void 0,Wb=void 0,Vb=void 0,Gb=Bo,Jb=2,Zb=1,Yb="/bin/usr/node",Xb=9229,Qb="node",Kb=[],qb=Bo,Ql={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Ql.now===void 0&&(E8=Date.now(),Ql.timing&&Ql.timing.navigationStart&&(E8=Ql.timing.navigationStart),Ql.now=()=>Date.now()-E8),xv=1e9,kv.bigint=function(e){var t=kv(e);return typeof BigInt>"u"?t[0]*xv+t[1]:BigInt(t[0]*xv)+BigInt(t[1])},$b=10,eS={},tS=0,nS=Bl,rS=Bl,iS=Bl,oS=Bl,sS=Bl,aS=Bo,cS=Bl,lS=Bl,lT={version:fb,versions:hb,arch:ab,platform:cb,browser:bb,release:Eb,_rawDebug:Sb,moduleLoadList:Ab,binding:mb,_linkedBinding:jZ,_events:eS,_eventsCount:tS,_maxListeners:$b,on:Bl,addListener:nS,once:rS,off:iS,removeListener:oS,removeAllListeners:sS,emit:aS,prependListener:cS,prependOnceListener:lS,listeners:ZZ,domain:Cb,_exiting:wb,config:Tb,dlopen:HZ,uptime:JZ,_getActiveRequests:zZ,_getActiveHandles:WZ,reallyExit:Ib,_kill:Pb,cpuUsage:x1,resourceUsage:Ob,memoryUsage:_b,kill:Rb,exit:kb,openStdin:xb,allowedNodeEnvironmentFlags:Db,assert:VZ,features:Lb,_fatalExceptions:Nb,setUncaughtExceptionCaptureCallback:Mb,hasUncaughtExceptionCaptureCallback:GZ,emitWarning:pb,nextTick:FZ,_tickCallback:Bb,_debugProcess:Fb,_debugEnd:Ub,_startProfilerIdleNotifier:jb,_stopProfilerIdleNotifier:Hb,stdout:zb,stdin:Vb,stderr:Wb,abort:Gb,umask:gb,chdir:yb,cwd:vb,env:lb,title:sb,argv:ub,execArgv:db,pid:Jb,ppid:Zb,execPath:Yb,debugPort:Xb,hrtime:kv,argv0:Qb,_preload_modules:Kb,setSourceMapsEnabled:qb}}),nt=Vs(()=>{Nbe()});function Mbe(){if(uS)return dh;uS=!0,dh.byteLength=a,dh.toByteArray=l,dh.fromByteArray=f;for(var e=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,o=r.length;i<o;++i)e[i]=r[i],t[r.charCodeAt(i)]=i;t[45]=62,t[95]=63;function s(h){var p=h.length;if(p%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var g=h.indexOf("=");g===-1&&(g=p);var m=g===p?0:4-g%4;return[g,m]}function a(h){var p=s(h),g=p[0],m=p[1];return(g+m)*3/4-m}function c(h,p,g){return(p+g)*3/4-g}function l(h){var p,g=s(h),m=g[0],y=g[1],v=new n(c(h,m,y)),E=0,b=y>0?m-4:m,S;for(S=0;S<b;S+=4)p=t[h.charCodeAt(S)]<<18|t[h.charCodeAt(S+1)]<<12|t[h.charCodeAt(S+2)]<<6|t[h.charCodeAt(S+3)],v[E++]=p>>16&255,v[E++]=p>>8&255,v[E++]=p&255;return y===2&&(p=t[h.charCodeAt(S)]<<2|t[h.charCodeAt(S+1)]>>4,v[E++]=p&255),y===1&&(p=t[h.charCodeAt(S)]<<10|t[h.charCodeAt(S+1)]<<4|t[h.charCodeAt(S+2)]>>2,v[E++]=p>>8&255,v[E++]=p&255),v}function u(h){return e[h>>18&63]+e[h>>12&63]+e[h>>6&63]+e[h&63]}function d(h,p,g){for(var m,y=[],v=p;v<g;v+=3)m=(h[v]<<16&16711680)+(h[v+1]<<8&65280)+(h[v+2]&255),y.push(u(m));return y.join("")}function f(h){for(var p,g=h.length,m=g%3,y=[],v=16383,E=0,b=g-m;E<b;E+=v)y.push(d(h,E,E+v>b?b:E+v));return m===1?(p=h[g-1],y.push(e[p>>2]+e[p<<4&63]+"==")):m===2&&(p=(h[g-2]<<8)+h[g-1],y.push(e[p>>10]+e[p>>4&63]+e[p<<2&63]+"=")),y.join("")}return dh}function Bbe(){return dS?D1:(dS=!0,D1.read=function(e,t,n,r,i){var o,s,a=i*8-r-1,c=(1<<a)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,h=e[t+d];for(d+=f,o=h&(1<<-u)-1,h>>=-u,u+=a;u>0;o=o*256+e[t+d],d+=f,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=r;u>0;s=s*256+e[t+d],d+=f,u-=8);if(o===0)o=1-l;else{if(o===c)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,r),o=o-l}return(h?-1:1)*s*Math.pow(2,o-r)},D1.write=function(e,t,n,r,i,o){var s,a,c,l=o*8-i-1,u=(1<<l)-1,d=u>>1,f=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,g=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+d>=1?t+=f/c:t+=f*Math.pow(2,1-d),t*c>=2&&(s++,c/=2),s+d>=u?(a=0,s=u):s+d>=1?(a=(t*c-1)*Math.pow(2,i),s=s+d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),s=0));i>=8;e[n+h]=a&255,h+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;e[n+h]=s&255,h+=p,s/=256,l-=8);e[n+h-p]|=g*128},D1)}function Fbe(){if(fS)return ed;fS=!0;let e=Mbe(),t=Bbe(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ed.Buffer=s,ed.SlowBuffer=y,ed.INSPECT_MAX_BYTES=50;let r=2147483647;ed.kMaxLength=r,s.TYPED_ARRAY_SUPPORT=i(),!s.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{let x=new Uint8Array(1),N={foo:function(){return 42}};return Object.setPrototypeOf(N,Uint8Array.prototype),Object.setPrototypeOf(x,N),x.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(x){if(x>r)throw new RangeError('The value "'+x+'" is invalid for option "size"');let N=new Uint8Array(x);return Object.setPrototypeOf(N,s.prototype),N}function s(x,N,U){if(typeof x=="number"){if(typeof N=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return u(x)}return a(x,N,U)}s.poolSize=8192;function a(x,N,U){if(typeof x=="string")return d(x,N);if(ArrayBuffer.isView(x))return h(x);if(x==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x);if(ie(x,ArrayBuffer)||x&&ie(x.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ie(x,SharedArrayBuffer)||x&&ie(x.buffer,SharedArrayBuffer)))return p(x,N,U);if(typeof x=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let de=x.valueOf&&x.valueOf();if(de!=null&&de!==x)return s.from(de,N,U);let we=g(x);if(we)return we;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof x[Symbol.toPrimitive]=="function")return s.from(x[Symbol.toPrimitive]("string"),N,U);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x)}s.from=function(x,N,U){return a(x,N,U)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function c(x){if(typeof x!="number")throw new TypeError('"size" argument must be of type number');if(x<0)throw new RangeError('The value "'+x+'" is invalid for option "size"')}function l(x,N,U){return c(x),x<=0?o(x):N!==void 0?typeof U=="string"?o(x).fill(N,U):o(x).fill(N):o(x)}s.alloc=function(x,N,U){return l(x,N,U)};function u(x){return c(x),o(x<0?0:m(x)|0)}s.allocUnsafe=function(x){return u(x)},s.allocUnsafeSlow=function(x){return u(x)};function d(x,N){if((typeof N!="string"||N==="")&&(N="utf8"),!s.isEncoding(N))throw new TypeError("Unknown encoding: "+N);let U=v(x,N)|0,de=o(U),we=de.write(x,N);return we!==U&&(de=de.slice(0,we)),de}function f(x){let N=x.length<0?0:m(x.length)|0,U=o(N);for(let de=0;de<N;de+=1)U[de]=x[de]&255;return U}function h(x){if(ie(x,Uint8Array)){let N=new Uint8Array(x);return p(N.buffer,N.byteOffset,N.byteLength)}return f(x)}function p(x,N,U){if(N<0||x.byteLength<N)throw new RangeError('"offset" is outside of buffer bounds');if(x.byteLength<N+(U||0))throw new RangeError('"length" is outside of buffer bounds');let de;return N===void 0&&U===void 0?de=new Uint8Array(x):U===void 0?de=new Uint8Array(x,N):de=new Uint8Array(x,N,U),Object.setPrototypeOf(de,s.prototype),de}function g(x){if(s.isBuffer(x)){let N=m(x.length)|0,U=o(N);return U.length===0||x.copy(U,0,0,N),U}if(x.length!==void 0)return typeof x.length!="number"||Ie(x.length)?o(0):f(x);if(x.type==="Buffer"&&Array.isArray(x.data))return f(x.data)}function m(x){if(x>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return x|0}function y(x){return+x!=x&&(x=0),s.alloc(+x)}s.isBuffer=function(x){return x!=null&&x._isBuffer===!0&&x!==s.prototype},s.compare=function(x,N){if(ie(x,Uint8Array)&&(x=s.from(x,x.offset,x.byteLength)),ie(N,Uint8Array)&&(N=s.from(N,N.offset,N.byteLength)),!s.isBuffer(x)||!s.isBuffer(N))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(x===N)return 0;let U=x.length,de=N.length;for(let we=0,Ae=Math.min(U,de);we<Ae;++we)if(x[we]!==N[we]){U=x[we],de=N[we];break}return U<de?-1:de<U?1:0},s.isEncoding=function(x){switch(String(x).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(x,N){if(!Array.isArray(x))throw new TypeError('"list" argument must be an Array of Buffers');if(x.length===0)return s.alloc(0);let U;if(N===void 0)for(N=0,U=0;U<x.length;++U)N+=x[U].length;let de=s.allocUnsafe(N),we=0;for(U=0;U<x.length;++U){let Ae=x[U];if(ie(Ae,Uint8Array))we+Ae.length>de.length?(s.isBuffer(Ae)||(Ae=s.from(Ae)),Ae.copy(de,we)):Uint8Array.prototype.set.call(de,Ae,we);else if(s.isBuffer(Ae))Ae.copy(de,we);else throw new TypeError('"list" argument must be an Array of Buffers');we+=Ae.length}return de};function v(x,N){if(s.isBuffer(x))return x.length;if(ArrayBuffer.isView(x)||ie(x,ArrayBuffer))return x.byteLength;if(typeof x!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof x);let U=x.length,de=arguments.length>2&&arguments[2]===!0;if(!de&&U===0)return 0;let we=!1;for(;;)switch(N){case"ascii":case"latin1":case"binary":return U;case"utf8":case"utf-8":return ce(x).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U*2;case"hex":return U>>>1;case"base64":return $(x).length;default:if(we)return de?-1:ce(x).length;N=(""+N).toLowerCase(),we=!0}}s.byteLength=v;function E(x,N,U){let de=!1;if((N===void 0||N<0)&&(N=0),N>this.length||((U===void 0||U>this.length)&&(U=this.length),U<=0)||(U>>>=0,N>>>=0,U<=N))return"";for(x||(x="utf8");;)switch(x){case"hex":return B(this,N,U);case"utf8":case"utf-8":return F(this,N,U);case"ascii":return Y(this,N,U);case"latin1":case"binary":return M(this,N,U);case"base64":return R(this,N,U);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q(this,N,U);default:if(de)throw new TypeError("Unknown encoding: "+x);x=(x+"").toLowerCase(),de=!0}}s.prototype._isBuffer=!0;function b(x,N,U){let de=x[N];x[N]=x[U],x[U]=de}s.prototype.swap16=function(){let x=this.length;if(x%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let N=0;N<x;N+=2)b(this,N,N+1);return this},s.prototype.swap32=function(){let x=this.length;if(x%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let N=0;N<x;N+=4)b(this,N,N+3),b(this,N+1,N+2);return this},s.prototype.swap64=function(){let x=this.length;if(x%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let N=0;N<x;N+=8)b(this,N,N+7),b(this,N+1,N+6),b(this,N+2,N+5),b(this,N+3,N+4);return this},s.prototype.toString=function(){let x=this.length;return x===0?"":arguments.length===0?F(this,0,x):E.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(x){if(!s.isBuffer(x))throw new TypeError("Argument must be a Buffer");return this===x?!0:s.compare(this,x)===0},s.prototype.inspect=function(){let x="",N=ed.INSPECT_MAX_BYTES;return x=this.toString("hex",0,N).replace(/(.{2})/g,"$1 ").trim(),this.length>N&&(x+=" ... "),"<Buffer "+x+">"},n&&(s.prototype[n]=s.prototype.inspect),s.prototype.compare=function(x,N,U,de,we){if(ie(x,Uint8Array)&&(x=s.from(x,x.offset,x.byteLength)),!s.isBuffer(x))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof x);if(N===void 0&&(N=0),U===void 0&&(U=x?x.length:0),de===void 0&&(de=0),we===void 0&&(we=this.length),N<0||U>x.length||de<0||we>this.length)throw new RangeError("out of range index");if(de>=we&&N>=U)return 0;if(de>=we)return-1;if(N>=U)return 1;if(N>>>=0,U>>>=0,de>>>=0,we>>>=0,this===x)return 0;let Ae=we-de,Le=U-N,ue=Math.min(Ae,Le),Ee=this.slice(de,we),He=x.slice(N,U);for(let Xe=0;Xe<ue;++Xe)if(Ee[Xe]!==He[Xe]){Ae=Ee[Xe],Le=He[Xe];break}return Ae<Le?-1:Le<Ae?1:0};function S(x,N,U,de,we){if(x.length===0)return-1;if(typeof U=="string"?(de=U,U=0):U>2147483647?U=2147483647:U<-2147483648&&(U=-2147483648),U=+U,Ie(U)&&(U=we?0:x.length-1),U<0&&(U=x.length+U),U>=x.length){if(we)return-1;U=x.length-1}else if(U<0)if(we)U=0;else return-1;if(typeof N=="string"&&(N=s.from(N,de)),s.isBuffer(N))return N.length===0?-1:w(x,N,U,de,we);if(typeof N=="number")return N=N&255,typeof Uint8Array.prototype.indexOf=="function"?we?Uint8Array.prototype.indexOf.call(x,N,U):Uint8Array.prototype.lastIndexOf.call(x,N,U):w(x,[N],U,de,we);throw new TypeError("val must be string, number or Buffer")}function w(x,N,U,de,we){let Ae=1,Le=x.length,ue=N.length;if(de!==void 0&&(de=String(de).toLowerCase(),de==="ucs2"||de==="ucs-2"||de==="utf16le"||de==="utf-16le")){if(x.length<2||N.length<2)return-1;Ae=2,Le/=2,ue/=2,U/=2}function Ee(Xe,qe){return Ae===1?Xe[qe]:Xe.readUInt16BE(qe*Ae)}let He;if(we){let Xe=-1;for(He=U;He<Le;He++)if(Ee(x,He)===Ee(N,Xe===-1?0:He-Xe)){if(Xe===-1&&(Xe=He),He-Xe+1===ue)return Xe*Ae}else Xe!==-1&&(He-=He-Xe),Xe=-1}else for(U+ue>Le&&(U=Le-ue),He=U;He>=0;He--){let Xe=!0;for(let qe=0;qe<ue;qe++)if(Ee(x,He+qe)!==Ee(N,qe)){Xe=!1;break}if(Xe)return He}return-1}s.prototype.includes=function(x,N,U){return this.indexOf(x,N,U)!==-1},s.prototype.indexOf=function(x,N,U){return S(this,x,N,U,!0)},s.prototype.lastIndexOf=function(x,N,U){return S(this,x,N,U,!1)};function C(x,N,U,de){U=Number(U)||0;let we=x.length-U;de?(de=Number(de),de>we&&(de=we)):de=we;let Ae=N.length;de>Ae/2&&(de=Ae/2);let Le;for(Le=0;Le<de;++Le){let ue=parseInt(N.substr(Le*2,2),16);if(Ie(ue))return Le;x[U+Le]=ue}return Le}function _(x,N,U,de){return ge(ce(N,x.length-U),x,U,de)}function I(x,N,U,de){return ge(ye(N),x,U,de)}function O(x,N,U,de){return ge($(N),x,U,de)}function L(x,N,U,de){return ge(ee(N,x.length-U),x,U,de)}s.prototype.write=function(x,N,U,de){if(N===void 0)de="utf8",U=this.length,N=0;else if(U===void 0&&typeof N=="string")de=N,U=this.length,N=0;else if(isFinite(N))N=N>>>0,isFinite(U)?(U=U>>>0,de===void 0&&(de="utf8")):(de=U,U=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let we=this.length-N;if((U===void 0||U>we)&&(U=we),x.length>0&&(U<0||N<0)||N>this.length)throw new RangeError("Attempt to write outside buffer bounds");de||(de="utf8");let Ae=!1;for(;;)switch(de){case"hex":return C(this,x,N,U);case"utf8":case"utf-8":return _(this,x,N,U);case"ascii":case"latin1":case"binary":return I(this,x,N,U);case"base64":return O(this,x,N,U);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,x,N,U);default:if(Ae)throw new TypeError("Unknown encoding: "+de);de=(""+de).toLowerCase(),Ae=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function R(x,N,U){return N===0&&U===x.length?e.fromByteArray(x):e.fromByteArray(x.slice(N,U))}function F(x,N,U){U=Math.min(x.length,U);let de=[],we=N;for(;we<U;){let Ae=x[we],Le=null,ue=Ae>239?4:Ae>223?3:Ae>191?2:1;if(we+ue<=U){let Ee,He,Xe,qe;switch(ue){case 1:Ae<128&&(Le=Ae);break;case 2:Ee=x[we+1],(Ee&192)===128&&(qe=(Ae&31)<<6|Ee&63,qe>127&&(Le=qe));break;case 3:Ee=x[we+1],He=x[we+2],(Ee&192)===128&&(He&192)===128&&(qe=(Ae&15)<<12|(Ee&63)<<6|He&63,qe>2047&&(qe<55296||qe>57343)&&(Le=qe));break;case 4:Ee=x[we+1],He=x[we+2],Xe=x[we+3],(Ee&192)===128&&(He&192)===128&&(Xe&192)===128&&(qe=(Ae&15)<<18|(Ee&63)<<12|(He&63)<<6|Xe&63,qe>65535&&qe<1114112&&(Le=qe))}}Le===null?(Le=65533,ue=1):Le>65535&&(Le-=65536,de.push(Le>>>10&1023|55296),Le=56320|Le&1023),de.push(Le),we+=ue}return J(de)}let W=4096;function J(x){let N=x.length;if(N<=W)return String.fromCharCode.apply(String,x);let U="",de=0;for(;de<N;)U+=String.fromCharCode.apply(String,x.slice(de,de+=W));return U}function Y(x,N,U){let de="";U=Math.min(x.length,U);for(let we=N;we<U;++we)de+=String.fromCharCode(x[we]&127);return de}function M(x,N,U){let de="";U=Math.min(x.length,U);for(let we=N;we<U;++we)de+=String.fromCharCode(x[we]);return de}function B(x,N,U){let de=x.length;(!N||N<0)&&(N=0),(!U||U<0||U>de)&&(U=de);let we="";for(let Ae=N;Ae<U;++Ae)we+=Ce[x[Ae]];return we}function q(x,N,U){let de=x.slice(N,U),we="";for(let Ae=0;Ae<de.length-1;Ae+=2)we+=String.fromCharCode(de[Ae]+de[Ae+1]*256);return we}s.prototype.slice=function(x,N){let U=this.length;x=~~x,N=N===void 0?U:~~N,x<0?(x+=U,x<0&&(x=0)):x>U&&(x=U),N<0?(N+=U,N<0&&(N=0)):N>U&&(N=U),N<x&&(N=x);let de=this.subarray(x,N);return Object.setPrototypeOf(de,s.prototype),de};function z(x,N,U){if(x%1!==0||x<0)throw new RangeError("offset is not uint");if(x+N>U)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUintLE=s.prototype.readUIntLE=function(x,N,U){x=x>>>0,N=N>>>0,U||z(x,N,this.length);let de=this[x],we=1,Ae=0;for(;++Ae<N&&(we*=256);)de+=this[x+Ae]*we;return de},s.prototype.readUintBE=s.prototype.readUIntBE=function(x,N,U){x=x>>>0,N=N>>>0,U||z(x,N,this.length);let de=this[x+--N],we=1;for(;N>0&&(we*=256);)de+=this[x+--N]*we;return de},s.prototype.readUint8=s.prototype.readUInt8=function(x,N){return x=x>>>0,N||z(x,1,this.length),this[x]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(x,N){return x=x>>>0,N||z(x,2,this.length),this[x]|this[x+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(x,N){return x=x>>>0,N||z(x,2,this.length),this[x]<<8|this[x+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(x,N){return x=x>>>0,N||z(x,4,this.length),(this[x]|this[x+1]<<8|this[x+2]<<16)+this[x+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(x,N){return x=x>>>0,N||z(x,4,this.length),this[x]*16777216+(this[x+1]<<16|this[x+2]<<8|this[x+3])},s.prototype.readBigUInt64LE=oe(function(x){x=x>>>0,Z(x,"offset");let N=this[x],U=this[x+7];(N===void 0||U===void 0)&&ae(x,this.length-8);let de=N+this[++x]*2**8+this[++x]*2**16+this[++x]*2**24,we=this[++x]+this[++x]*2**8+this[++x]*2**16+U*2**24;return BigInt(de)+(BigInt(we)<<BigInt(32))}),s.prototype.readBigUInt64BE=oe(function(x){x=x>>>0,Z(x,"offset");let N=this[x],U=this[x+7];(N===void 0||U===void 0)&&ae(x,this.length-8);let de=N*2**24+this[++x]*2**16+this[++x]*2**8+this[++x],we=this[++x]*2**24+this[++x]*2**16+this[++x]*2**8+U;return(BigInt(de)<<BigInt(32))+BigInt(we)}),s.prototype.readIntLE=function(x,N,U){x=x>>>0,N=N>>>0,U||z(x,N,this.length);let de=this[x],we=1,Ae=0;for(;++Ae<N&&(we*=256);)de+=this[x+Ae]*we;return we*=128,de>=we&&(de-=Math.pow(2,8*N)),de},s.prototype.readIntBE=function(x,N,U){x=x>>>0,N=N>>>0,U||z(x,N,this.length);let de=N,we=1,Ae=this[x+--de];for(;de>0&&(we*=256);)Ae+=this[x+--de]*we;return we*=128,Ae>=we&&(Ae-=Math.pow(2,8*N)),Ae},s.prototype.readInt8=function(x,N){return x=x>>>0,N||z(x,1,this.length),this[x]&128?(255-this[x]+1)*-1:this[x]},s.prototype.readInt16LE=function(x,N){x=x>>>0,N||z(x,2,this.length);let U=this[x]|this[x+1]<<8;return U&32768?U|4294901760:U},s.prototype.readInt16BE=function(x,N){x=x>>>0,N||z(x,2,this.length);let U=this[x+1]|this[x]<<8;return U&32768?U|4294901760:U},s.prototype.readInt32LE=function(x,N){return x=x>>>0,N||z(x,4,this.length),this[x]|this[x+1]<<8|this[x+2]<<16|this[x+3]<<24},s.prototype.readInt32BE=function(x,N){return x=x>>>0,N||z(x,4,this.length),this[x]<<24|this[x+1]<<16|this[x+2]<<8|this[x+3]},s.prototype.readBigInt64LE=oe(function(x){x=x>>>0,Z(x,"offset");let N=this[x],U=this[x+7];(N===void 0||U===void 0)&&ae(x,this.length-8);let de=this[x+4]+this[x+5]*2**8+this[x+6]*2**16+(U<<24);return(BigInt(de)<<BigInt(32))+BigInt(N+this[++x]*2**8+this[++x]*2**16+this[++x]*2**24)}),s.prototype.readBigInt64BE=oe(function(x){x=x>>>0,Z(x,"offset");let N=this[x],U=this[x+7];(N===void 0||U===void 0)&&ae(x,this.length-8);let de=(N<<24)+this[++x]*2**16+this[++x]*2**8+this[++x];return(BigInt(de)<<BigInt(32))+BigInt(this[++x]*2**24+this[++x]*2**16+this[++x]*2**8+U)}),s.prototype.readFloatLE=function(x,N){return x=x>>>0,N||z(x,4,this.length),t.read(this,x,!0,23,4)},s.prototype.readFloatBE=function(x,N){return x=x>>>0,N||z(x,4,this.length),t.read(this,x,!1,23,4)},s.prototype.readDoubleLE=function(x,N){return x=x>>>0,N||z(x,8,this.length),t.read(this,x,!0,52,8)},s.prototype.readDoubleBE=function(x,N){return x=x>>>0,N||z(x,8,this.length),t.read(this,x,!1,52,8)};function A(x,N,U,de,we,Ae){if(!s.isBuffer(x))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>we||N<Ae)throw new RangeError('"value" argument is out of bounds');if(U+de>x.length)throw new RangeError("Index out of range")}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(x,N,U,de){if(x=+x,N=N>>>0,U=U>>>0,!de){let Le=Math.pow(2,8*U)-1;A(this,x,N,U,Le,0)}let we=1,Ae=0;for(this[N]=x&255;++Ae<U&&(we*=256);)this[N+Ae]=x/we&255;return N+U},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(x,N,U,de){if(x=+x,N=N>>>0,U=U>>>0,!de){let Le=Math.pow(2,8*U)-1;A(this,x,N,U,Le,0)}let we=U-1,Ae=1;for(this[N+we]=x&255;--we>=0&&(Ae*=256);)this[N+we]=x/Ae&255;return N+U},s.prototype.writeUint8=s.prototype.writeUInt8=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,1,255,0),this[N]=x&255,N+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,2,65535,0),this[N]=x&255,this[N+1]=x>>>8,N+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,2,65535,0),this[N]=x>>>8,this[N+1]=x&255,N+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,4,4294967295,0),this[N+3]=x>>>24,this[N+2]=x>>>16,this[N+1]=x>>>8,this[N]=x&255,N+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,4,4294967295,0),this[N]=x>>>24,this[N+1]=x>>>16,this[N+2]=x>>>8,this[N+3]=x&255,N+4};function T(x,N,U,de,we){ve(N,de,we,x,U,7);let Ae=Number(N&BigInt(4294967295));x[U++]=Ae,Ae=Ae>>8,x[U++]=Ae,Ae=Ae>>8,x[U++]=Ae,Ae=Ae>>8,x[U++]=Ae;let Le=Number(N>>BigInt(32)&BigInt(4294967295));return x[U++]=Le,Le=Le>>8,x[U++]=Le,Le=Le>>8,x[U++]=Le,Le=Le>>8,x[U++]=Le,U}function k(x,N,U,de,we){ve(N,de,we,x,U,7);let Ae=Number(N&BigInt(4294967295));x[U+7]=Ae,Ae=Ae>>8,x[U+6]=Ae,Ae=Ae>>8,x[U+5]=Ae,Ae=Ae>>8,x[U+4]=Ae;let Le=Number(N>>BigInt(32)&BigInt(4294967295));return x[U+3]=Le,Le=Le>>8,x[U+2]=Le,Le=Le>>8,x[U+1]=Le,Le=Le>>8,x[U]=Le,U+8}s.prototype.writeBigUInt64LE=oe(function(x,N=0){return T(this,x,N,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=oe(function(x,N=0){return k(this,x,N,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(x,N,U,de){if(x=+x,N=N>>>0,!de){let ue=Math.pow(2,8*U-1);A(this,x,N,U,ue-1,-ue)}let we=0,Ae=1,Le=0;for(this[N]=x&255;++we<U&&(Ae*=256);)x<0&&Le===0&&this[N+we-1]!==0&&(Le=1),this[N+we]=(x/Ae>>0)-Le&255;return N+U},s.prototype.writeIntBE=function(x,N,U,de){if(x=+x,N=N>>>0,!de){let ue=Math.pow(2,8*U-1);A(this,x,N,U,ue-1,-ue)}let we=U-1,Ae=1,Le=0;for(this[N+we]=x&255;--we>=0&&(Ae*=256);)x<0&&Le===0&&this[N+we+1]!==0&&(Le=1),this[N+we]=(x/Ae>>0)-Le&255;return N+U},s.prototype.writeInt8=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,1,127,-128),x<0&&(x=255+x+1),this[N]=x&255,N+1},s.prototype.writeInt16LE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,2,32767,-32768),this[N]=x&255,this[N+1]=x>>>8,N+2},s.prototype.writeInt16BE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,2,32767,-32768),this[N]=x>>>8,this[N+1]=x&255,N+2},s.prototype.writeInt32LE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,4,2147483647,-2147483648),this[N]=x&255,this[N+1]=x>>>8,this[N+2]=x>>>16,this[N+3]=x>>>24,N+4},s.prototype.writeInt32BE=function(x,N,U){return x=+x,N=N>>>0,U||A(this,x,N,4,2147483647,-2147483648),x<0&&(x=4294967295+x+1),this[N]=x>>>24,this[N+1]=x>>>16,this[N+2]=x>>>8,this[N+3]=x&255,N+4},s.prototype.writeBigInt64LE=oe(function(x,N=0){return T(this,x,N,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=oe(function(x,N=0){return k(this,x,N,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function j(x,N,U,de,we,Ae){if(U+de>x.length)throw new RangeError("Index out of range");if(U<0)throw new RangeError("Index out of range")}function re(x,N,U,de,we){return N=+N,U=U>>>0,we||j(x,N,U,4),t.write(x,N,U,de,23,4),U+4}s.prototype.writeFloatLE=function(x,N,U){return re(this,x,N,!0,U)},s.prototype.writeFloatBE=function(x,N,U){return re(this,x,N,!1,U)};function me(x,N,U,de,we){return N=+N,U=U>>>0,we||j(x,N,U,8),t.write(x,N,U,de,52,8),U+8}s.prototype.writeDoubleLE=function(x,N,U){return me(this,x,N,!0,U)},s.prototype.writeDoubleBE=function(x,N,U){return me(this,x,N,!1,U)},s.prototype.copy=function(x,N,U,de){if(!s.isBuffer(x))throw new TypeError("argument should be a Buffer");if(U||(U=0),!de&&de!==0&&(de=this.length),N>=x.length&&(N=x.length),N||(N=0),de>0&&de<U&&(de=U),de===U||x.length===0||this.length===0)return 0;if(N<0)throw new RangeError("targetStart out of bounds");if(U<0||U>=this.length)throw new RangeError("Index out of range");if(de<0)throw new RangeError("sourceEnd out of bounds");de>this.length&&(de=this.length),x.length-N<de-U&&(de=x.length-N+U);let we=de-U;return this===x&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(N,U,de):Uint8Array.prototype.set.call(x,this.subarray(U,de),N),we},s.prototype.fill=function(x,N,U,de){if(typeof x=="string"){if(typeof N=="string"?(de=N,N=0,U=this.length):typeof U=="string"&&(de=U,U=this.length),de!==void 0&&typeof de!="string")throw new TypeError("encoding must be a string");if(typeof de=="string"&&!s.isEncoding(de))throw new TypeError("Unknown encoding: "+de);if(x.length===1){let Ae=x.charCodeAt(0);(de==="utf8"&&Ae<128||de==="latin1")&&(x=Ae)}}else typeof x=="number"?x=x&255:typeof x=="boolean"&&(x=Number(x));if(N<0||this.length<N||this.length<U)throw new RangeError("Out of range index");if(U<=N)return this;N=N>>>0,U=U===void 0?this.length:U>>>0,x||(x=0);let we;if(typeof x=="number")for(we=N;we<U;++we)this[we]=x;else{let Ae=s.isBuffer(x)?x:s.from(x,de),Le=Ae.length;if(Le===0)throw new TypeError('The value "'+x+'" is invalid for argument "value"');for(we=0;we<U-N;++we)this[we+N]=Ae[we%Le]}return this};let te={};function X(x,N,U){te[x]=class extends U{constructor(){super(),Object.defineProperty(this,"message",{value:N.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${x}]`,this.stack,delete this.name}get code(){return x}set code(de){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:de,writable:!0})}toString(){return`${this.name} [${x}]: ${this.message}`}}}X("ERR_BUFFER_OUT_OF_BOUNDS",function(x){return x?`${x} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),X("ERR_INVALID_ARG_TYPE",function(x,N){return`The "${x}" argument must be of type number. Received type ${typeof N}`},TypeError),X("ERR_OUT_OF_RANGE",function(x,N,U){let de=`The value of "${x}" is out of range.`,we=U;return Number.isInteger(U)&&Math.abs(U)>2**32?we=fe(String(U)):typeof U=="bigint"&&(we=String(U),(U>BigInt(2)**BigInt(32)||U<-(BigInt(2)**BigInt(32)))&&(we=fe(we)),we+="n"),de+=` It must be ${N}. Received ${we}`,de},RangeError);function fe(x){let N="",U=x.length,de=x[0]==="-"?1:0;for(;U>=de+4;U-=3)N=`_${x.slice(U-3,U)}${N}`;return`${x.slice(0,U)}${N}`}function le(x,N,U){Z(N,"offset"),(x[N]===void 0||x[N+U]===void 0)&&ae(N,x.length-(U+1))}function ve(x,N,U,de,we,Ae){if(x>U||x<N){let Le=typeof N=="bigint"?"n":"",ue;throw N===0||N===BigInt(0)?ue=`>= 0${Le} and < 2${Le} ** ${(Ae+1)*8}${Le}`:ue=`>= -(2${Le} ** ${(Ae+1)*8-1}${Le}) and < 2 ** ${(Ae+1)*8-1}${Le}`,new te.ERR_OUT_OF_RANGE("value",ue,x)}le(de,we,Ae)}function Z(x,N){if(typeof x!="number")throw new te.ERR_INVALID_ARG_TYPE(N,"number",x)}function ae(x,N,U){throw Math.floor(x)!==x?(Z(x,U),new te.ERR_OUT_OF_RANGE("offset","an integer",x)):N<0?new te.ERR_BUFFER_OUT_OF_BOUNDS:new te.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${N}`,x)}let pe=/[^+/0-9A-Za-z-_]/g;function K(x){if(x=x.split("=")[0],x=x.trim().replace(pe,""),x.length<2)return"";for(;x.length%4!==0;)x=x+"=";return x}function ce(x,N){N=N||1/0;let U,de=x.length,we=null,Ae=[];for(let Le=0;Le<de;++Le){if(U=x.charCodeAt(Le),U>55295&&U<57344){if(!we){if(U>56319){(N-=3)>-1&&Ae.push(239,191,189);continue}else if(Le+1===de){(N-=3)>-1&&Ae.push(239,191,189);continue}we=U;continue}if(U<56320){(N-=3)>-1&&Ae.push(239,191,189),we=U;continue}U=(we-55296<<10|U-56320)+65536}else we&&(N-=3)>-1&&Ae.push(239,191,189);if(we=null,U<128){if((N-=1)<0)break;Ae.push(U)}else if(U<2048){if((N-=2)<0)break;Ae.push(U>>6|192,U&63|128)}else if(U<65536){if((N-=3)<0)break;Ae.push(U>>12|224,U>>6&63|128,U&63|128)}else if(U<1114112){if((N-=4)<0)break;Ae.push(U>>18|240,U>>12&63|128,U>>6&63|128,U&63|128)}else throw new Error("Invalid code point")}return Ae}function ye(x){let N=[];for(let U=0;U<x.length;++U)N.push(x.charCodeAt(U)&255);return N}function ee(x,N){let U,de,we,Ae=[];for(let Le=0;Le<x.length&&!((N-=2)<0);++Le)U=x.charCodeAt(Le),de=U>>8,we=U%256,Ae.push(we),Ae.push(de);return Ae}function $(x){return e.toByteArray(K(x))}function ge(x,N,U,de){let we;for(we=0;we<de&&!(we+U>=N.length||we>=x.length);++we)N[we+U]=x[we];return we}function ie(x,N){return x instanceof N||x!=null&&x.constructor!=null&&x.constructor.name!=null&&x.constructor.name===N.name}function Ie(x){return x!==x}let Ce=(function(){let x="0123456789abcdef",N=new Array(256);for(let U=0;U<16;++U){let de=U*16;for(let we=0;we<16;++we)N[de+we]=x[U]+x[we]}return N})();function oe(x){return typeof BigInt>"u"?Ne:x}function Ne(){throw new Error("BigInt not supported")}return ed}var dh,uS,D1,dS,ed,fS,Ube=Vs(()=>{tt(),rt(),nt(),dh={},uS=!1,D1={},dS=!1,ed={},fS=!1}),So={};jp(So,{Buffer:()=>u4,INSPECT_MAX_BYTES:()=>YZ,default:()=>Fl,kMaxLength:()=>XZ});var Fl,u4,YZ,XZ,Ao=Vs(()=>{tt(),rt(),nt(),Ube(),Fl=Fbe(),Fl.Buffer,Fl.SlowBuffer,Fl.INSPECT_MAX_BYTES,Fl.kMaxLength,u4=Fl.Buffer,YZ=Fl.INSPECT_MAX_BYTES,XZ=Fl.kMaxLength}),rt=Vs(()=>{Ao()}),yi=st((e,t)=>{tt(),rt(),nt();var n=class extends Error{constructor(r){if(!Array.isArray(r))throw new TypeError(`Expected input to be an Array, got ${typeof r}`);let i="";for(let o=0;o<r.length;o++)i+=` ${r[o].stack}
`;super(i),this.name="AggregateError",this.errors=r}};t.exports={AggregateError:n,ArrayIsArray(r){return Array.isArray(r)},ArrayPrototypeIncludes(r,i){return r.includes(i)},ArrayPrototypeIndexOf(r,i){return r.indexOf(i)},ArrayPrototypeJoin(r,i){return r.join(i)},ArrayPrototypeMap(r,i){return r.map(i)},ArrayPrototypePop(r,i){return r.pop(i)},ArrayPrototypePush(r,i){return r.push(i)},ArrayPrototypeSlice(r,i,o){return r.slice(i,o)},Error,FunctionPrototypeCall(r,i,...o){return r.call(i,...o)},FunctionPrototypeSymbolHasInstance(r,i){return Function.prototype[Symbol.hasInstance].call(r,i)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(r,i){return Object.defineProperties(r,i)},ObjectDefineProperty(r,i,o){return Object.defineProperty(r,i,o)},ObjectGetOwnPropertyDescriptor(r,i){return Object.getOwnPropertyDescriptor(r,i)},ObjectKeys(r){return Object.keys(r)},ObjectSetPrototypeOf(r,i){return Object.setPrototypeOf(r,i)},Promise,PromisePrototypeCatch(r,i){return r.catch(i)},PromisePrototypeThen(r,i,o){return r.then(i,o)},PromiseReject(r){return Promise.reject(r)},PromiseResolve(r){return Promise.resolve(r)},ReflectApply:Reflect.apply,RegExpPrototypeTest(r,i){return r.test(i)},SafeSet:Set,String,StringPrototypeSlice(r,i,o){return r.slice(i,o)},StringPrototypeToLowerCase(r){return r.toLowerCase()},StringPrototypeToUpperCase(r){return r.toUpperCase()},StringPrototypeTrim(r){return r.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(r,i,o){return r.set(i,o)},Boolean,Uint8Array}}),QZ=st((e,t)=>{tt(),rt(),nt(),t.exports={format(n,...r){return n.replace(/%([sdifj])/g,function(...[i,o]){let s=r.shift();return o==="f"?s.toFixed(6):o==="j"?JSON.stringify(s):o==="s"&&typeof s=="object"?`${s.constructor!==Object?s.constructor.name:""} {}`.trim():s.toString()})},inspect(n){switch(typeof n){case"string":if(n.includes("'"))if(n.includes('"')){if(!n.includes("`")&&!n.includes("${"))return`\`${n}\``}else return`"${n}"`;return`'${n}'`;case"number":return isNaN(n)?"NaN":Object.is(n,-0)?String(n):n;case"bigint":return`${String(n)}n`;case"boolean":case"undefined":return String(n);case"object":return"{}"}}}}),vs=st((e,t)=>{tt(),rt(),nt();var{format:n,inspect:r}=QZ(),{AggregateError:i}=yi(),o=globalThis.AggregateError||i,s=Symbol("kIsNodeError"),a=["string","function","number","object","Function","Object","boolean","bigint","symbol"],c=/^([A-Z][a-z0-9]*)+$/,l="__node_internal_",u={};function d(v,E){if(!v)throw new u.ERR_INTERNAL_ASSERTION(E)}function f(v){let E="",b=v.length,S=v[0]==="-"?1:0;for(;b>=S+4;b-=3)E=`_${v.slice(b-3,b)}${E}`;return`${v.slice(0,b)}${E}`}function h(v,E,b){if(typeof E=="function")return d(E.length<=b.length,`Code: ${v}; The provided arguments length (${b.length}) does not match the required ones (${E.length}).`),E(...b);let S=(E.match(/%[dfijoOs]/g)||[]).length;return d(S===b.length,`Code: ${v}; The provided arguments length (${b.length}) does not match the required ones (${S}).`),b.length===0?E:n(E,...b)}function p(v,E,b){b||(b=Error);class S extends b{constructor(...C){super(h(v,E,C))}toString(){return`${this.name} [${v}]: ${this.message}`}}Object.defineProperties(S.prototype,{name:{value:b.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${v}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),S.prototype.code=v,S.prototype[s]=!0,u[v]=S}function g(v){let E=l+v.name;return Object.defineProperty(v,"name",{value:E}),v}function m(v,E){if(v&&E&&v!==E){if(Array.isArray(E.errors))return E.errors.push(v),E;let b=new o([E,v],E.message);return b.code=E.code,b}return v||E}var y=class extends Error{constructor(v="The operation was aborted",E=void 0){if(E!==void 0&&typeof E!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",E);super(v,E),this.code="ABORT_ERR",this.name="AbortError"}};p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(v,E,b)=>{d(typeof v=="string","'name' must be a string"),Array.isArray(E)||(E=[E]);let S="The ";v.endsWith(" argument")?S+=`${v} `:S+=`"${v}" ${v.includes(".")?"property":"argument"} `,S+="must be ";let w=[],C=[],_=[];for(let O of E)d(typeof O=="string","All expected entries have to be of type string"),a.includes(O)?w.push(O.toLowerCase()):c.test(O)?C.push(O):(d(O!=="object",'The value "object" should be written as "Object"'),_.push(O));if(C.length>0){let O=w.indexOf("object");O!==-1&&(w.splice(w,O,1),C.push("Object"))}if(w.length>0){switch(w.length){case 1:S+=`of type ${w[0]}`;break;case 2:S+=`one of type ${w[0]} or ${w[1]}`;break;default:{let O=w.pop();S+=`one of type ${w.join(", ")}, or ${O}`}}(C.length>0||_.length>0)&&(S+=" or ")}if(C.length>0){switch(C.length){case 1:S+=`an instance of ${C[0]}`;break;case 2:S+=`an instance of ${C[0]} or ${C[1]}`;break;default:{let O=C.pop();S+=`an instance of ${C.join(", ")}, or ${O}`}}_.length>0&&(S+=" or ")}switch(_.length){case 0:break;case 1:_[0].toLowerCase()!==_[0]&&(S+="an "),S+=`${_[0]}`;break;case 2:S+=`one of ${_[0]} or ${_[1]}`;break;default:{let O=_.pop();S+=`one of ${_.join(", ")}, or ${O}`}}if(b==null)S+=`. Received ${b}`;else if(typeof b=="function"&&b.name)S+=`. Received function ${b.name}`;else if(typeof b=="object"){var I;if((I=b.constructor)!==null&&I!==void 0&&I.name)S+=`. Received an instance of ${b.constructor.name}`;else{let O=r(b,{depth:-1});S+=`. Received ${O}`}}else{let O=r(b,{colors:!1});O.length>25&&(O=`${O.slice(0,25)}...`),S+=`. Received type ${typeof b} (${O})`}return S},TypeError),p("ERR_INVALID_ARG_VALUE",(v,E,b="is invalid")=>{let S=r(E);return S.length>128&&(S=S.slice(0,128)+"..."),`The ${v.includes(".")?"property":"argument"} '${v}' ${b}. Received ${S}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(v,E,b)=>{var S;let w=b!=null&&(S=b.constructor)!==null&&S!==void 0&&S.name?`instance of ${b.constructor.name}`:`type ${typeof b}`;return`Expected ${v} to be returned from the "${E}" function but got ${w}.`},TypeError),p("ERR_MISSING_ARGS",(...v)=>{d(v.length>0,"At least one arg needs to be specified");let E,b=v.length;switch(v=(Array.isArray(v)?v:[v]).map(S=>`"${S}"`).join(" or "),b){case 1:E+=`The ${v[0]} argument`;break;case 2:E+=`The ${v[0]} and ${v[1]} arguments`;break;default:{let S=v.pop();E+=`The ${v.join(", ")}, and ${S} arguments`}break}return`${E} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(v,E,b)=>{d(E,'Missing "range" argument');let S;if(Number.isInteger(b)&&Math.abs(b)>2**32)S=f(String(b));else if(typeof b=="bigint"){S=String(b);let w=BigInt(2)**BigInt(32);(b>w||b<-w)&&(S=f(S)),S+="n"}else S=r(b);return`The value of "${v}" is out of range. It must be ${E}. Received ${S}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:y,aggregateTwoErrors:g(m),hideStackFrames:g,codes:u}}),$m=st((e,t)=>{tt(),rt(),nt();var{AbortController:n,AbortSignal:r}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=n,t.exports.AbortSignal=r,t.exports.default=n}),Kd={};jp(Kd,{EventEmitter:()=>KZ,default:()=>fh,defaultMaxListeners:()=>qZ,init:()=>$Z,listenerCount:()=>eY,on:()=>tY,once:()=>nY});function jbe(){if(hS)return L1;hS=!0;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(b,S,w){return Function.prototype.apply.call(b,S,w)},n;e&&typeof e.ownKeys=="function"?n=e.ownKeys:Object.getOwnPropertySymbols?n=function(b){return Object.getOwnPropertyNames(b).concat(Object.getOwnPropertySymbols(b))}:n=function(b){return Object.getOwnPropertyNames(b)};function r(b){console&&console.warn&&console.warn(b)}var i=Number.isNaN||function(b){return b!==b};function o(){o.init.call(this)}L1=o,L1.once=y,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(b){if(typeof b!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof b)}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(b){if(typeof b!="number"||b<0||i(b))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+b+".");s=b}}),o.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(b){if(typeof b!="number"||b<0||i(b))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+b+".");return this._maxListeners=b,this};function c(b){return b._maxListeners===void 0?o.defaultMaxListeners:b._maxListeners}o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(b){for(var S=[],w=1;w<arguments.length;w++)S.push(arguments[w]);var C=b==="error",_=this._events;if(_!==void 0)C=C&&_.error===void 0;else if(!C)return!1;if(C){var I;if(S.length>0&&(I=S[0]),I instanceof Error)throw I;var O=new Error("Unhandled error."+(I?" ("+I.message+")":""));throw O.context=I,O}var L=_[b];if(L===void 0)return!1;if(typeof L=="function")t(L,this,S);else for(var R=L.length,F=p(L,R),w=0;w<R;++w)t(F[w],this,S);return!0};function l(b,S,w,C){var _,I,O;if(a(w),I=b._events,I===void 0?(I=b._events=Object.create(null),b._eventsCount=0):(I.newListener!==void 0&&(b.emit("newListener",S,w.listener?w.listener:w),I=b._events),O=I[S]),O===void 0)O=I[S]=w,++b._eventsCount;else if(typeof O=="function"?O=I[S]=C?[w,O]:[O,w]:C?O.unshift(w):O.push(w),_=c(b),_>0&&O.length>_&&!O.warned){O.warned=!0;var L=new Error("Possible EventEmitter memory leak detected. "+O.length+" "+String(S)+" listeners added. Use emitter.setMaxListeners() to increase limit");L.name="MaxListenersExceededWarning",L.emitter=b,L.type=S,L.count=O.length,r(L)}return b}o.prototype.addListener=function(b,S){return l(this,b,S,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(b,S){return l(this,b,S,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(b,S,w){var C={fired:!1,wrapFn:void 0,target:b,type:S,listener:w},_=u.bind(C);return _.listener=w,C.wrapFn=_,_}o.prototype.once=function(b,S){return a(S),this.on(b,d(this,b,S)),this},o.prototype.prependOnceListener=function(b,S){return a(S),this.prependListener(b,d(this,b,S)),this},o.prototype.removeListener=function(b,S){var w,C,_,I,O;if(a(S),C=this._events,C===void 0)return this;if(w=C[b],w===void 0)return this;if(w===S||w.listener===S)--this._eventsCount===0?this._events=Object.create(null):(delete C[b],C.removeListener&&this.emit("removeListener",b,w.listener||S));else if(typeof w!="function"){for(_=-1,I=w.length-1;I>=0;I--)if(w[I]===S||w[I].listener===S){O=w[I].listener,_=I;break}if(_<0)return this;_===0?w.shift():g(w,_),w.length===1&&(C[b]=w[0]),C.removeListener!==void 0&&this.emit("removeListener",b,O||S)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(b){var S,w,C;if(w=this._events,w===void 0)return this;if(w.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):w[b]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete w[b]),this;if(arguments.length===0){var _=Object.keys(w),I;for(C=0;C<_.length;++C)I=_[C],I!=="removeListener"&&this.removeAllListeners(I);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(S=w[b],typeof S=="function")this.removeListener(b,S);else if(S!==void 0)for(C=S.length-1;C>=0;C--)this.removeListener(b,S[C]);return this};function f(b,S,w){var C=b._events;if(C===void 0)return[];var _=C[S];return _===void 0?[]:typeof _=="function"?w?[_.listener||_]:[_]:w?m(_):p(_,_.length)}o.prototype.listeners=function(b){return f(this,b,!0)},o.prototype.rawListeners=function(b){return f(this,b,!1)},o.listenerCount=function(b,S){return typeof b.listenerCount=="function"?b.listenerCount(S):h.call(b,S)},o.prototype.listenerCount=h;function h(b){var S=this._events;if(S!==void 0){var w=S[b];if(typeof w=="function")return 1;if(w!==void 0)return w.length}return 0}o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function p(b,S){for(var w=new Array(S),C=0;C<S;++C)w[C]=b[C];return w}function g(b,S){for(;S+1<b.length;S++)b[S]=b[S+1];b.pop()}function m(b){for(var S=new Array(b.length),w=0;w<S.length;++w)S[w]=b[w].listener||b[w];return S}function y(b,S){return new Promise(function(w,C){function _(O){b.removeListener(S,I),C(O)}function I(){typeof b.removeListener=="function"&&b.removeListener("error",_),w([].slice.call(arguments))}E(b,S,I,{once:!0}),S!=="error"&&v(b,_,{once:!0})})}function v(b,S,w){typeof b.on=="function"&&E(b,"error",S,w)}function E(b,S,w,C){if(typeof b.on=="function")C.once?b.once(S,w):b.on(S,w);else if(typeof b.addEventListener=="function")b.addEventListener(S,function _(I){C.once&&b.removeEventListener(S,_),w(I)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof b)}return L1}var L1,hS,fh,KZ,qZ,$Z,eY,tY,nY,Tf=Vs(()=>{tt(),rt(),nt(),L1={},hS=!1,fh=jbe(),fh.once,fh.once=function(e,t){return new Promise((n,r)=>{function i(...s){o!==void 0&&e.removeListener("error",o),n(s)}let o;t!=="error"&&(o=s=>{e.removeListener(name,i),r(s)},e.once("error",o)),e.once(t,i)})},fh.on=function(e,t){let n=[],r=[],i=null,o=!1,s={async next(){let l=n.shift();if(l)return createIterResult(l,!1);if(i){let u=Promise.reject(i);return i=null,u}return o?createIterResult(void 0,!0):new Promise((u,d)=>r.push({resolve:u,reject:d}))},async return(){e.removeListener(t,a),e.removeListener("error",c),o=!0;for(let l of r)l.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(l){i=l,e.removeListener(t,a),e.removeListener("error",c)},[Symbol.asyncIterator](){return this}};return e.on(t,a),e.on("error",c),s;function a(...l){let u=r.shift();u?u.resolve(createIterResult(l,!1)):n.push(l)}function c(l){o=!0;let u=r.shift();u?u.reject(l):i=l,s.return()}},{EventEmitter:KZ,defaultMaxListeners:qZ,init:$Z,listenerCount:eY,on:tY,once:nY}=fh}),Bs=st((e,t)=>{tt(),rt(),nt();var n=(Ao(),zr(So)),{format:r,inspect:i}=QZ(),{codes:{ERR_INVALID_ARG_TYPE:o}}=vs(),{kResistStopPropagation:s,AggregateError:a,SymbolDispose:c}=yi(),l=globalThis.AbortSignal||$m().AbortSignal,u=globalThis.AbortController||$m().AbortController,d=Object.getPrototypeOf(async function(){}).constructor,f=globalThis.Blob||n.Blob,h=typeof f<"u"?function(m){return m instanceof f}:function(m){return!1},p=(m,y)=>{if(m!==void 0&&(m===null||typeof m!="object"||!("aborted"in m)))throw new o(y,"AbortSignal",m)},g=(m,y)=>{if(typeof m!="function")throw new o(y,"Function",m)};t.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(m){let y=!1;return function(...v){y||(y=!0,m.apply(this,v))}},createDeferredPromise:function(){let m,y;return{promise:new Promise((v,E)=>{m=v,y=E}),resolve:m,reject:y}},promisify(m){return new Promise((y,v)=>{m((E,...b)=>E?v(E):y(...b))})},debuglog(){return function(){}},format:r,inspect:i,types:{isAsyncFunction(m){return m instanceof d},isArrayBufferView(m){return ArrayBuffer.isView(m)}},isBlob:h,deprecate(m,y){return m},addAbortListener:(Tf(),zr(Kd)).addAbortListener||function(m,y){if(m===void 0)throw new o("signal","AbortSignal",m);p(m,"signal"),g(y,"listener");let v;return m.aborted?queueMicrotask(()=>y()):(m.addEventListener("abort",y,{__proto__:null,once:!0,[s]:!0}),v=()=>{m.removeEventListener("abort",y)}),{__proto__:null,[c](){var E;(E=v)===null||E===void 0||E()}}},AbortSignalAny:l.any||function(m){if(m.length===1)return m[0];let y=new u,v=()=>y.abort();return m.forEach(E=>{p(E,"signals"),E.addEventListener("abort",v,{once:!0})}),y.signal.addEventListener("abort",()=>{m.forEach(E=>E.removeEventListener("abort",v))},{once:!0}),y.signal}},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),Gg=st((e,t)=>{tt(),rt(),nt();var{ArrayIsArray:n,ArrayPrototypeIncludes:r,ArrayPrototypeJoin:i,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:a,NumberMAX_SAFE_INTEGER:c,NumberMIN_SAFE_INTEGER:l,NumberParseInt:u,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:f,String:h,StringPrototypeToUpperCase:p,StringPrototypeTrim:g}=yi(),{hideStackFrames:m,codes:{ERR_SOCKET_BAD_PORT:y,ERR_INVALID_ARG_TYPE:v,ERR_INVALID_ARG_VALUE:E,ERR_OUT_OF_RANGE:b,ERR_UNKNOWN_SIGNAL:S}}=vs(),{normalizeEncoding:w}=Bs(),{isAsyncFunction:C,isArrayBufferView:_}=Bs().types,I={};function O(ie){return ie===(ie|0)}function L(ie){return ie===ie>>>0}var R=/^[0-7]+$/,F="must be a 32-bit unsigned integer or an octal string";function W(ie,Ie,Ce){if(typeof ie>"u"&&(ie=Ce),typeof ie=="string"){if(f(R,ie)===null)throw new E(Ie,ie,F);ie=u(ie,8)}return M(ie,Ie),ie}var J=m((ie,Ie,Ce=l,oe=c)=>{if(typeof ie!="number")throw new v(Ie,"number",ie);if(!s(ie))throw new b(Ie,"an integer",ie);if(ie<Ce||ie>oe)throw new b(Ie,`>= ${Ce} && <= ${oe}`,ie)}),Y=m((ie,Ie,Ce=-2147483648,oe=2147483647)=>{if(typeof ie!="number")throw new v(Ie,"number",ie);if(!s(ie))throw new b(Ie,"an integer",ie);if(ie<Ce||ie>oe)throw new b(Ie,`>= ${Ce} && <= ${oe}`,ie)}),M=m((ie,Ie,Ce=!1)=>{if(typeof ie!="number")throw new v(Ie,"number",ie);if(!s(ie))throw new b(Ie,"an integer",ie);let oe=Ce?1:0,Ne=4294967295;if(ie<oe||ie>Ne)throw new b(Ie,`>= ${oe} && <= ${Ne}`,ie)});function B(ie,Ie){if(typeof ie!="string")throw new v(Ie,"string",ie)}function q(ie,Ie,Ce=void 0,oe){if(typeof ie!="number")throw new v(Ie,"number",ie);if(Ce!=null&&ie<Ce||oe!=null&&ie>oe||(Ce!=null||oe!=null)&&a(ie))throw new b(Ie,`${Ce!=null?`>= ${Ce}`:""}${Ce!=null&&oe!=null?" && ":""}${oe!=null?`<= ${oe}`:""}`,ie)}var z=m((ie,Ie,Ce)=>{if(!r(Ce,ie)){let oe="must be one of: "+i(o(Ce,Ne=>typeof Ne=="string"?`'${Ne}'`:h(Ne)),", ");throw new E(Ie,ie,oe)}});function A(ie,Ie){if(typeof ie!="boolean")throw new v(Ie,"boolean",ie)}function T(ie,Ie,Ce){return ie==null||!d(ie,Ie)?Ce:ie[Ie]}var k=m((ie,Ie,Ce=null)=>{let oe=T(Ce,"allowArray",!1),Ne=T(Ce,"allowFunction",!1);if(!T(Ce,"nullable",!1)&&ie===null||!oe&&n(ie)||typeof ie!="object"&&(!Ne||typeof ie!="function"))throw new v(Ie,"Object",ie)}),j=m((ie,Ie)=>{if(ie!=null&&typeof ie!="object"&&typeof ie!="function")throw new v(Ie,"a dictionary",ie)}),re=m((ie,Ie,Ce=0)=>{if(!n(ie))throw new v(Ie,"Array",ie);if(ie.length<Ce){let oe=`must be longer than ${Ce}`;throw new E(Ie,ie,oe)}});function me(ie,Ie){re(ie,Ie);for(let Ce=0;Ce<ie.length;Ce++)B(ie[Ce],`${Ie}[${Ce}]`)}function te(ie,Ie){re(ie,Ie);for(let Ce=0;Ce<ie.length;Ce++)A(ie[Ce],`${Ie}[${Ce}]`)}function X(ie,Ie){re(ie,Ie);for(let Ce=0;Ce<ie.length;Ce++){let oe=ie[Ce],Ne=`${Ie}[${Ce}]`;if(oe==null)throw new v(Ne,"AbortSignal",oe);ae(oe,Ne)}}function fe(ie,Ie="signal"){if(B(ie,Ie),I[ie]===void 0)throw I[p(ie)]!==void 0?new S(ie+" (signals must use all capital letters)"):new S(ie)}var le=m((ie,Ie="buffer")=>{if(!_(ie))throw new v(Ie,["Buffer","TypedArray","DataView"],ie)});function ve(ie,Ie){let Ce=w(Ie),oe=ie.length;if(Ce==="hex"&&oe%2!==0)throw new E("encoding",Ie,`is invalid for data of length ${oe}`)}function Z(ie,Ie="Port",Ce=!0){if(typeof ie!="number"&&typeof ie!="string"||typeof ie=="string"&&g(ie).length===0||+ie!==+ie>>>0||ie>65535||ie===0&&!Ce)throw new y(Ie,ie,Ce);return ie|0}var ae=m((ie,Ie)=>{if(ie!==void 0&&(ie===null||typeof ie!="object"||!("aborted"in ie)))throw new v(Ie,"AbortSignal",ie)}),pe=m((ie,Ie)=>{if(typeof ie!="function")throw new v(Ie,"Function",ie)}),K=m((ie,Ie)=>{if(typeof ie!="function"||C(ie))throw new v(Ie,"Function",ie)}),ce=m((ie,Ie)=>{if(ie!==void 0)throw new v(Ie,"undefined",ie)});function ye(ie,Ie,Ce){if(!r(Ce,ie))throw new v(Ie,`('${i(Ce,"|")}')`,ie)}var ee=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function $(ie,Ie){if(typeof ie>"u"||!f(ee,ie))throw new E(Ie,ie,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function ge(ie){if(typeof ie=="string")return $(ie,"hints"),ie;if(n(ie)){let Ie=ie.length,Ce="";if(Ie===0)return Ce;for(let oe=0;oe<Ie;oe++){let Ne=ie[oe];$(Ne,"hints"),Ce+=Ne,oe!==Ie-1&&(Ce+=", ")}return Ce}throw new E("hints",ie,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}t.exports={isInt32:O,isUint32:L,parseFileMode:W,validateArray:re,validateStringArray:me,validateBooleanArray:te,validateAbortSignalArray:X,validateBoolean:A,validateBuffer:le,validateDictionary:j,validateEncoding:ve,validateFunction:pe,validateInt32:Y,validateInteger:J,validateNumber:q,validateObject:k,validateOneOf:z,validatePlainFunction:K,validatePort:Z,validateSignalName:fe,validateString:B,validateUint32:M,validateUndefined:ce,validateUnion:ye,validateAbortSignal:ae,validateLinkHeaderValue:ge}}),If=st((e,t)=>{tt(),rt(),nt();var n=t.exports={},r,i;function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?r=setTimeout:r=o}catch{r=o}try{typeof clearTimeout=="function"?i=clearTimeout:i=s}catch{i=s}})();function a(y){if(r===setTimeout)return setTimeout(y,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(y,0);try{return r(y,0)}catch{try{return r.call(null,y,0)}catch{return r.call(this,y,0)}}}function c(y){if(i===clearTimeout)return clearTimeout(y);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(y);try{return i(y)}catch{try{return i.call(null,y)}catch{return i.call(this,y)}}}var l=[],u=!1,d,f=-1;function h(){!u||!d||(u=!1,d.length?l=d.concat(l):f=-1,l.length&&p())}function p(){if(!u){var y=a(h);u=!0;for(var v=l.length;v;){for(d=l,l=[];++f<v;)d&&d[f].run();f=-1,v=l.length}d=null,u=!1,c(y)}}n.nextTick=function(y){var v=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)v[E-1]=arguments[E];l.push(new g(y,v)),l.length===1&&!u&&a(p)};function g(y,v){this.fun=y,this.array=v}g.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={};function m(){}n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(y){return[]},n.binding=function(y){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(y){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}),Pu=st((e,t)=>{tt(),rt(),nt();var{SymbolAsyncIterator:n,SymbolIterator:r,SymbolFor:i}=yi(),o=i("nodejs.stream.destroyed"),s=i("nodejs.stream.errored"),a=i("nodejs.stream.readable"),c=i("nodejs.stream.writable"),l=i("nodejs.stream.disturbed"),u=i("nodejs.webstream.isClosedPromise"),d=i("nodejs.webstream.controllerErrorFunction");function f(T,k=!1){var j;return!!(T&&typeof T.pipe=="function"&&typeof T.on=="function"&&(!k||typeof T.pause=="function"&&typeof T.resume=="function")&&(!T._writableState||((j=T._readableState)===null||j===void 0?void 0:j.readable)!==!1)&&(!T._writableState||T._readableState))}function h(T){var k;return!!(T&&typeof T.write=="function"&&typeof T.on=="function"&&(!T._readableState||((k=T._writableState)===null||k===void 0?void 0:k.writable)!==!1))}function p(T){return!!(T&&typeof T.pipe=="function"&&T._readableState&&typeof T.on=="function"&&typeof T.write=="function")}function g(T){return T&&(T._readableState||T._writableState||typeof T.write=="function"&&typeof T.on=="function"||typeof T.pipe=="function"&&typeof T.on=="function")}function m(T){return!!(T&&!g(T)&&typeof T.pipeThrough=="function"&&typeof T.getReader=="function"&&typeof T.cancel=="function")}function y(T){return!!(T&&!g(T)&&typeof T.getWriter=="function"&&typeof T.abort=="function")}function v(T){return!!(T&&!g(T)&&typeof T.readable=="object"&&typeof T.writable=="object")}function E(T){return m(T)||y(T)||v(T)}function b(T,k){return T==null?!1:k===!0?typeof T[n]=="function":k===!1?typeof T[r]=="function":typeof T[n]=="function"||typeof T[r]=="function"}function S(T){if(!g(T))return null;let k=T._writableState,j=T._readableState,re=k||j;return!!(T.destroyed||T[o]||re!=null&&re.destroyed)}function w(T){if(!h(T))return null;if(T.writableEnded===!0)return!0;let k=T._writableState;return k!=null&&k.errored?!1:typeof(k==null?void 0:k.ended)!="boolean"?null:k.ended}function C(T,k){if(!h(T))return null;if(T.writableFinished===!0)return!0;let j=T._writableState;return j!=null&&j.errored?!1:typeof(j==null?void 0:j.finished)!="boolean"?null:!!(j.finished||k===!1&&j.ended===!0&&j.length===0)}function _(T){if(!f(T))return null;if(T.readableEnded===!0)return!0;let k=T._readableState;return!k||k.errored?!1:typeof(k==null?void 0:k.ended)!="boolean"?null:k.ended}function I(T,k){if(!f(T))return null;let j=T._readableState;return j!=null&&j.errored?!1:typeof(j==null?void 0:j.endEmitted)!="boolean"?null:!!(j.endEmitted||k===!1&&j.ended===!0&&j.length===0)}function O(T){return T&&T[a]!=null?T[a]:typeof(T==null?void 0:T.readable)!="boolean"?null:S(T)?!1:f(T)&&T.readable&&!I(T)}function L(T){return T&&T[c]!=null?T[c]:typeof(T==null?void 0:T.writable)!="boolean"?null:S(T)?!1:h(T)&&T.writable&&!w(T)}function R(T,k){return g(T)?S(T)?!0:!((k==null?void 0:k.readable)!==!1&&O(T)||(k==null?void 0:k.writable)!==!1&&L(T)):null}function F(T){var k,j;return g(T)?T.writableErrored?T.writableErrored:(k=(j=T._writableState)===null||j===void 0?void 0:j.errored)!==null&&k!==void 0?k:null:null}function W(T){var k,j;return g(T)?T.readableErrored?T.readableErrored:(k=(j=T._readableState)===null||j===void 0?void 0:j.errored)!==null&&k!==void 0?k:null:null}function J(T){if(!g(T))return null;if(typeof T.closed=="boolean")return T.closed;let k=T._writableState,j=T._readableState;return typeof(k==null?void 0:k.closed)=="boolean"||typeof(j==null?void 0:j.closed)=="boolean"?(k==null?void 0:k.closed)||(j==null?void 0:j.closed):typeof T._closed=="boolean"&&Y(T)?T._closed:null}function Y(T){return typeof T._closed=="boolean"&&typeof T._defaultKeepAlive=="boolean"&&typeof T._removedConnection=="boolean"&&typeof T._removedContLen=="boolean"}function M(T){return typeof T._sent100=="boolean"&&Y(T)}function B(T){var k;return typeof T._consuming=="boolean"&&typeof T._dumped=="boolean"&&((k=T.req)===null||k===void 0?void 0:k.upgradeOrConnect)===void 0}function q(T){if(!g(T))return null;let k=T._writableState,j=T._readableState,re=k||j;return!re&&M(T)||!!(re&&re.autoDestroy&&re.emitClose&&re.closed===!1)}function z(T){var k;return!!(T&&((k=T[l])!==null&&k!==void 0?k:T.readableDidRead||T.readableAborted))}function A(T){var k,j,re,me,te,X,fe,le,ve,Z;return!!(T&&((k=(j=(re=(me=(te=(X=T[s])!==null&&X!==void 0?X:T.readableErrored)!==null&&te!==void 0?te:T.writableErrored)!==null&&me!==void 0?me:(fe=T._readableState)===null||fe===void 0?void 0:fe.errorEmitted)!==null&&re!==void 0?re:(le=T._writableState)===null||le===void 0?void 0:le.errorEmitted)!==null&&j!==void 0?j:(ve=T._readableState)===null||ve===void 0?void 0:ve.errored)!==null&&k!==void 0?k:!((Z=T._writableState)===null||Z===void 0)&&Z.errored))}t.exports={isDestroyed:S,kIsDestroyed:o,isDisturbed:z,kIsDisturbed:l,isErrored:A,kIsErrored:s,isReadable:O,kIsReadable:a,kIsClosedPromise:u,kControllerErrorFunction:d,kIsWritable:c,isClosed:J,isDuplexNodeStream:p,isFinished:R,isIterable:b,isReadableNodeStream:f,isReadableStream:m,isReadableEnded:_,isReadableFinished:I,isReadableErrored:W,isNodeStream:g,isWebStream:E,isWritable:L,isWritableNodeStream:h,isWritableStream:y,isWritableEnded:w,isWritableFinished:C,isWritableErrored:F,isServerRequest:B,isServerResponse:M,willEmitClose:q,isTransformStream:v}}),qd=st((e,t)=>{tt(),rt(),nt();var n=If(),{AbortError:r,codes:i}=vs(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=i,{kEmptyObject:a,once:c}=Bs(),{validateAbortSignal:l,validateFunction:u,validateObject:d,validateBoolean:f}=Gg(),{Promise:h,PromisePrototypeThen:p,SymbolDispose:g}=yi(),{isClosed:m,isReadable:y,isReadableNodeStream:v,isReadableStream:E,isReadableFinished:b,isReadableErrored:S,isWritable:w,isWritableNodeStream:C,isWritableStream:_,isWritableFinished:I,isWritableErrored:O,isNodeStream:L,willEmitClose:R,kIsClosedPromise:F}=Pu(),W;function J(z){return z.setHeader&&typeof z.abort=="function"}var Y=()=>{};function M(z,A,T){var k,j;if(arguments.length===2?(T=A,A=a):A==null?A=a:d(A,"options"),u(T,"callback"),l(A.signal,"options.signal"),T=c(T),E(z)||_(z))return B(z,A,T);if(!L(z))throw new o("stream",["ReadableStream","WritableStream","Stream"],z);let re=(k=A.readable)!==null&&k!==void 0?k:v(z),me=(j=A.writable)!==null&&j!==void 0?j:C(z),te=z._writableState,X=z._readableState,fe=()=>{z.writable||Z()},le=R(z)&&v(z)===re&&C(z)===me,ve=I(z,!1),Z=()=>{ve=!0,z.destroyed&&(le=!1),!(le&&(!z.readable||re))&&(!re||ae)&&T.call(z)},ae=b(z,!1),pe=()=>{ae=!0,z.destroyed&&(le=!1),!(le&&(!z.writable||me))&&(!me||ve)&&T.call(z)},K=ie=>{T.call(z,ie)},ce=m(z),ye=()=>{ce=!0;let ie=O(z)||S(z);if(ie&&typeof ie!="boolean")return T.call(z,ie);if(re&&!ae&&v(z,!0)&&!b(z,!1))return T.call(z,new s);if(me&&!ve&&!I(z,!1))return T.call(z,new s);T.call(z)},ee=()=>{ce=!0;let ie=O(z)||S(z);if(ie&&typeof ie!="boolean")return T.call(z,ie);T.call(z)},$=()=>{z.req.on("finish",Z)};J(z)?(z.on("complete",Z),le||z.on("abort",ye),z.req?$():z.on("request",$)):me&&!te&&(z.on("end",fe),z.on("close",fe)),!le&&typeof z.aborted=="boolean"&&z.on("aborted",ye),z.on("end",pe),z.on("finish",Z),A.error!==!1&&z.on("error",K),z.on("close",ye),ce?n.nextTick(ye):te!=null&&te.errorEmitted||X!=null&&X.errorEmitted?le||n.nextTick(ee):(!re&&(!le||y(z))&&(ve||w(z)===!1)||!me&&(!le||w(z))&&(ae||y(z)===!1)||X&&z.req&&z.aborted)&&n.nextTick(ee);let ge=()=>{T=Y,z.removeListener("aborted",ye),z.removeListener("complete",Z),z.removeListener("abort",ye),z.removeListener("request",$),z.req&&z.req.removeListener("finish",Z),z.removeListener("end",fe),z.removeListener("close",fe),z.removeListener("finish",Z),z.removeListener("end",pe),z.removeListener("error",K),z.removeListener("close",ye)};if(A.signal&&!ce){let ie=()=>{let Ie=T;ge(),Ie.call(z,new r(void 0,{cause:A.signal.reason}))};if(A.signal.aborted)n.nextTick(ie);else{W=W||Bs().addAbortListener;let Ie=W(A.signal,ie),Ce=T;T=c((...oe)=>{Ie[g](),Ce.apply(z,oe)})}}return ge}function B(z,A,T){let k=!1,j=Y;if(A.signal)if(j=()=>{k=!0,T.call(z,new r(void 0,{cause:A.signal.reason}))},A.signal.aborted)n.nextTick(j);else{W=W||Bs().addAbortListener;let me=W(A.signal,j),te=T;T=c((...X)=>{me[g](),te.apply(z,X)})}let re=(...me)=>{k||n.nextTick(()=>T.apply(z,me))};return p(z[F].promise,re,re),Y}function q(z,A){var T;let k=!1;return A===null&&(A=a),(T=A)!==null&&T!==void 0&&T.cleanup&&(f(A.cleanup,"cleanup"),k=A.cleanup),new h((j,re)=>{let me=M(z,A,te=>{k&&me(),te?re(te):j()})})}t.exports=M,t.exports.finished=q}),Hp=st((e,t)=>{tt(),rt(),nt();var n=If(),{aggregateTwoErrors:r,codes:{ERR_MULTIPLE_CALLBACK:i},AbortError:o}=vs(),{Symbol:s}=yi(),{kIsDestroyed:a,isDestroyed:c,isFinished:l,isServerRequest:u}=Pu(),d=s("kDestroy"),f=s("kConstruct");function h(R,F,W){R&&(R.stack,F&&!F.errored&&(F.errored=R),W&&!W.errored&&(W.errored=R))}function p(R,F){let W=this._readableState,J=this._writableState,Y=J||W;return J!=null&&J.destroyed||W!=null&&W.destroyed?(typeof F=="function"&&F(),this):(h(R,J,W),J&&(J.destroyed=!0),W&&(W.destroyed=!0),Y.constructed?g(this,R,F):this.once(d,function(M){g(this,r(M,R),F)}),this)}function g(R,F,W){let J=!1;function Y(M){if(J)return;J=!0;let B=R._readableState,q=R._writableState;h(M,q,B),q&&(q.closed=!0),B&&(B.closed=!0),typeof W=="function"&&W(M),M?n.nextTick(m,R,M):n.nextTick(y,R)}try{R._destroy(F||null,Y)}catch(M){Y(M)}}function m(R,F){v(R,F),y(R)}function y(R){let F=R._readableState,W=R._writableState;W&&(W.closeEmitted=!0),F&&(F.closeEmitted=!0),(W!=null&&W.emitClose||F!=null&&F.emitClose)&&R.emit("close")}function v(R,F){let W=R._readableState,J=R._writableState;J!=null&&J.errorEmitted||W!=null&&W.errorEmitted||(J&&(J.errorEmitted=!0),W&&(W.errorEmitted=!0),R.emit("error",F))}function E(){let R=this._readableState,F=this._writableState;R&&(R.constructed=!0,R.closed=!1,R.closeEmitted=!1,R.destroyed=!1,R.errored=null,R.errorEmitted=!1,R.reading=!1,R.ended=R.readable===!1,R.endEmitted=R.readable===!1),F&&(F.constructed=!0,F.destroyed=!1,F.closed=!1,F.closeEmitted=!1,F.errored=null,F.errorEmitted=!1,F.finalCalled=!1,F.prefinished=!1,F.ended=F.writable===!1,F.ending=F.writable===!1,F.finished=F.writable===!1)}function b(R,F,W){let J=R._readableState,Y=R._writableState;if(Y!=null&&Y.destroyed||J!=null&&J.destroyed)return this;J!=null&&J.autoDestroy||Y!=null&&Y.autoDestroy?R.destroy(F):F&&(F.stack,Y&&!Y.errored&&(Y.errored=F),J&&!J.errored&&(J.errored=F),W?n.nextTick(v,R,F):v(R,F))}function S(R,F){if(typeof R._construct!="function")return;let W=R._readableState,J=R._writableState;W&&(W.constructed=!1),J&&(J.constructed=!1),R.once(f,F),!(R.listenerCount(f)>1)&&n.nextTick(w,R)}function w(R){let F=!1;function W(J){if(F){b(R,J??new i);return}F=!0;let Y=R._readableState,M=R._writableState,B=M||Y;Y&&(Y.constructed=!0),M&&(M.constructed=!0),B.destroyed?R.emit(d,J):J?b(R,J,!0):n.nextTick(C,R)}try{R._construct(J=>{n.nextTick(W,J)})}catch(J){n.nextTick(W,J)}}function C(R){R.emit(f)}function _(R){return(R==null?void 0:R.setHeader)&&typeof R.abort=="function"}function I(R){R.emit("close")}function O(R,F){R.emit("error",F),n.nextTick(I,R)}function L(R,F){!R||c(R)||(!F&&!l(R)&&(F=new o),u(R)?(R.socket=null,R.destroy(F)):_(R)?R.abort():_(R.req)?R.req.abort():typeof R.destroy=="function"?R.destroy(F):typeof R.close=="function"?R.close():F?n.nextTick(O,R,F):n.nextTick(I,R),R.destroyed||(R[a]=!0))}t.exports={construct:S,destroyer:L,destroy:p,undestroy:E,errorOrDestroy:b}}),uT=st((e,t)=>{tt(),rt(),nt();var{ArrayIsArray:n,ObjectSetPrototypeOf:r}=yi(),{EventEmitter:i}=(Tf(),zr(Kd));function o(a){i.call(this,a)}r(o.prototype,i.prototype),r(o,i),o.prototype.pipe=function(a,c){let l=this;function u(y){a.writable&&a.write(y)===!1&&l.pause&&l.pause()}l.on("data",u);function d(){l.readable&&l.resume&&l.resume()}a.on("drain",d),!a._isStdio&&(!c||c.end!==!1)&&(l.on("end",h),l.on("close",p));let f=!1;function h(){f||(f=!0,a.end())}function p(){f||(f=!0,typeof a.destroy=="function"&&a.destroy())}function g(y){m(),i.listenerCount(this,"error")===0&&this.emit("error",y)}s(l,"error",g),s(a,"error",g);function m(){l.removeListener("data",u),a.removeListener("drain",d),l.removeListener("end",h),l.removeListener("close",p),l.removeListener("error",g),a.removeListener("error",g),l.removeListener("end",m),l.removeListener("close",m),a.removeListener("close",m)}return l.on("end",m),l.on("close",m),a.on("close",m),a.emit("pipe",l),a};function s(a,c,l){if(typeof a.prependListener=="function")return a.prependListener(c,l);!a._events||!a._events[c]?a.on(c,l):n(a._events[c])?a._events[c].unshift(l):a._events[c]=[l,a._events[c]]}t.exports={Stream:o,prependListener:s}}),Ny=st((e,t)=>{tt(),rt(),nt();var{SymbolDispose:n}=yi(),{AbortError:r,codes:i}=vs(),{isNodeStream:o,isWebStream:s,kControllerErrorFunction:a}=Pu(),c=qd(),{ERR_INVALID_ARG_TYPE:l}=i,u,d=(f,h)=>{if(typeof f!="object"||!("aborted"in f))throw new l(h,"AbortSignal",f)};t.exports.addAbortSignal=function(f,h){if(d(f,"signal"),!o(h)&&!s(h))throw new l("stream",["ReadableStream","WritableStream","Stream"],h);return t.exports.addAbortSignalNoValidate(f,h)},t.exports.addAbortSignalNoValidate=function(f,h){if(typeof f!="object"||!("aborted"in f))return h;let p=o(h)?()=>{h.destroy(new r(void 0,{cause:f.reason}))}:()=>{h[a](new r(void 0,{cause:f.reason}))};if(f.aborted)p();else{u=u||Bs().addAbortListener;let g=u(f,p);c(h,g[n])}return h}}),Hbe=st((e,t)=>{tt(),rt(),nt();var{StringPrototypeSlice:n,SymbolIterator:r,TypedArrayPrototypeSet:i,Uint8Array:o}=yi(),{Buffer:s}=(Ao(),zr(So)),{inspect:a}=Bs();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(c){let l={data:c,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length}unshift(c){let l={data:c,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length}shift(){if(this.length===0)return;let c=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,c}clear(){this.head=this.tail=null,this.length=0}join(c){if(this.length===0)return"";let l=this.head,u=""+l.data;for(;(l=l.next)!==null;)u+=c+l.data;return u}concat(c){if(this.length===0)return s.alloc(0);let l=s.allocUnsafe(c>>>0),u=this.head,d=0;for(;u;)i(l,u.data,d),d+=u.data.length,u=u.next;return l}consume(c,l){let u=this.head.data;if(c<u.length){let d=u.slice(0,c);return this.head.data=u.slice(c),d}return c===u.length?this.shift():l?this._getString(c):this._getBuffer(c)}first(){return this.head.data}*[r](){for(let c=this.head;c;c=c.next)yield c.data}_getString(c){let l="",u=this.head,d=0;do{let f=u.data;if(c>f.length)l+=f,c-=f.length;else{c===f.length?(l+=f,++d,u.next?this.head=u.next:this.head=this.tail=null):(l+=n(f,0,c),this.head=u,u.data=n(f,c));break}++d}while((u=u.next)!==null);return this.length-=d,l}_getBuffer(c){let l=s.allocUnsafe(c),u=c,d=this.head,f=0;do{let h=d.data;if(c>h.length)i(l,h,u-c),c-=h.length;else{c===h.length?(i(l,h,u-c),++f,d.next?this.head=d.next:this.head=this.tail=null):(i(l,new o(h.buffer,h.byteOffset,c),u-c),this.head=d,d.data=h.slice(c));break}++f}while((d=d.next)!==null);return this.length-=f,l}[Symbol.for("nodejs.util.inspect.custom")](c,l){return a(this,{...l,depth:0,customInspect:!1})}}}),My=st((e,t)=>{tt(),rt(),nt();var{MathFloor:n,NumberIsInteger:r}=yi(),{validateInteger:i}=Gg(),{ERR_INVALID_ARG_VALUE:o}=vs().codes,s=16*1024,a=16;function c(f,h,p){return f.highWaterMark!=null?f.highWaterMark:h?f[p]:null}function l(f){return f?a:s}function u(f,h){i(h,"value",0),f?a=h:s=h}function d(f,h,p,g){let m=c(h,g,p);if(m!=null){if(!r(m)||m<0){let y=g?`options.${p}`:"options.highWaterMark";throw new o(y,m)}return n(m)}return l(f.objectMode)}t.exports={getHighWaterMark:d,getDefaultHighWaterMark:l,setDefaultHighWaterMark:u}}),zbe=st((e,t)=>{tt(),rt(),nt();var n=(Ao(),zr(So)),r=n.Buffer;function i(s,a){for(var c in s)a[c]=s[c]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=o);function o(s,a,c){return r(s,a,c)}o.prototype=Object.create(r.prototype),i(r,o),o.from=function(s,a,c){if(typeof s=="number")throw new TypeError("Argument must not be a number");return r(s,a,c)},o.alloc=function(s,a,c){if(typeof s!="number")throw new TypeError("Argument must be a number");var l=r(s);return a!==void 0?typeof c=="string"?l.fill(a,c):l.fill(a):l.fill(0),l},o.allocUnsafe=function(s){if(typeof s!="number")throw new TypeError("Argument must be a number");return r(s)},o.allocUnsafeSlow=function(s){if(typeof s!="number")throw new TypeError("Argument must be a number");return n.SlowBuffer(s)}}),Wbe=st(e=>{tt(),rt(),nt();var t=zbe().Buffer,n=t.isEncoding||function(v){switch(v=""+v,v&&v.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(v){if(!v)return"utf8";for(var E;;)switch(v){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return v;default:if(E)return;v=(""+v).toLowerCase(),E=!0}}function i(v){var E=r(v);if(typeof E!="string"&&(t.isEncoding===n||!n(v)))throw new Error("Unknown encoding: "+v);return E||v}e.StringDecoder=o;function o(v){this.encoding=i(v);var E;switch(this.encoding){case"utf16le":this.text=f,this.end=h,E=4;break;case"utf8":this.fillLast=l,E=4;break;case"base64":this.text=p,this.end=g,E=3;break;default:this.write=m,this.end=y;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(E)}o.prototype.write=function(v){if(v.length===0)return"";var E,b;if(this.lastNeed){if(E=this.fillLast(v),E===void 0)return"";b=this.lastNeed,this.lastNeed=0}else b=0;return b<v.length?E?E+this.text(v,b):this.text(v,b):E||""},o.prototype.end=d,o.prototype.text=u,o.prototype.fillLast=function(v){if(this.lastNeed<=v.length)return v.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,this.lastTotal-this.lastNeed,0,v.length),this.lastNeed-=v.length};function s(v){return v<=127?0:v>>5===6?2:v>>4===14?3:v>>3===30?4:v>>6===2?-1:-2}function a(v,E,b){var S=E.length-1;if(S<b)return 0;var w=s(E[S]);return w>=0?(w>0&&(v.lastNeed=w-1),w):--S<b||w===-2?0:(w=s(E[S]),w>=0?(w>0&&(v.lastNeed=w-2),w):--S<b||w===-2?0:(w=s(E[S]),w>=0?(w>0&&(w===2?w=0:v.lastNeed=w-3),w):0))}function c(v,E,b){if((E[0]&192)!==128)return v.lastNeed=0,"<22>";if(v.lastNeed>1&&E.length>1){if((E[1]&192)!==128)return v.lastNeed=1,"<22>";if(v.lastNeed>2&&E.length>2&&(E[2]&192)!==128)return v.lastNeed=2,"<22>"}}function l(v){var E=this.lastTotal-this.lastNeed,b=c(this,v);if(b!==void 0)return b;if(this.lastNeed<=v.length)return v.copy(this.lastChar,E,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,E,0,v.length),this.lastNeed-=v.length}function u(v,E){var b=a(this,v,E);if(!this.lastNeed)return v.toString("utf8",E);this.lastTotal=b;var S=v.length-(b-this.lastNeed);return v.copy(this.lastChar,0,S),v.toString("utf8",E,S)}function d(v){var E=v&&v.length?this.write(v):"";return this.lastNeed?E+"<22>":E}function f(v,E){if((v.length-E)%2===0){var b=v.toString("utf16le",E);if(b){var S=b.charCodeAt(b.length-1);if(S>=55296&&S<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],b.slice(0,-1)}return b}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",E,v.length-1)}function h(v){var E=v&&v.length?this.write(v):"";if(this.lastNeed){var b=this.lastTotal-this.lastNeed;return E+this.lastChar.toString("utf16le",0,b)}return E}function p(v,E){var b=(v.length-E)%3;return b===0?v.toString("base64",E):(this.lastNeed=3-b,this.lastTotal=3,b===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",E,v.length-b))}function g(v){var E=v&&v.length?this.write(v):"";return this.lastNeed?E+this.lastChar.toString("base64",0,3-this.lastNeed):E}function m(v){return v.toString(this.encoding)}function y(v){return v&&v.length?this.write(v):""}}),rY=st((e,t)=>{tt(),rt(),nt();var n=If(),{PromisePrototypeThen:r,SymbolAsyncIterator:i,SymbolIterator:o}=yi(),{Buffer:s}=(Ao(),zr(So)),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_NULL_VALUES:c}=vs().codes;function l(u,d,f){let h;if(typeof d=="string"||d instanceof s)return new u({objectMode:!0,...f,read(){this.push(d),this.push(null)}});let p;if(d&&d[i])p=!0,h=d[i]();else if(d&&d[o])p=!1,h=d[o]();else throw new a("iterable",["Iterable"],d);let g=new u({objectMode:!0,highWaterMark:1,...f}),m=!1;g._read=function(){m||(m=!0,v())},g._destroy=function(E,b){r(y(E),()=>n.nextTick(b,E),S=>n.nextTick(b,S||E))};async function y(E){let b=E!=null,S=typeof h.throw=="function";if(b&&S){let{value:w,done:C}=await h.throw(E);if(await w,C)return}if(typeof h.return=="function"){let{value:w}=await h.return();await w}}async function v(){for(;;){try{let{value:E,done:b}=p?await h.next():h.next();if(b)g.push(null);else{let S=E&&typeof E.then=="function"?await E:E;if(S===null)throw m=!1,new c;if(g.push(S))continue;m=!1}}catch(E){g.destroy(E)}break}}return g}t.exports=l}),By=st((e,t)=>{tt(),rt(),nt();var n=If(),{ArrayPrototypeIndexOf:r,NumberIsInteger:i,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:a,ObjectKeys:c,ObjectSetPrototypeOf:l,Promise:u,SafeSet:d,SymbolAsyncDispose:f,SymbolAsyncIterator:h,Symbol:p}=yi();t.exports=oe,oe.ReadableState=Ce;var{EventEmitter:g}=(Tf(),zr(Kd)),{Stream:m,prependListener:y}=uT(),{Buffer:v}=(Ao(),zr(So)),{addAbortSignal:E}=Ny(),b=qd(),S=Bs().debuglog("stream",Se=>{S=Se}),w=Hbe(),C=Hp(),{getHighWaterMark:_,getDefaultHighWaterMark:I}=My(),{aggregateTwoErrors:O,codes:{ERR_INVALID_ARG_TYPE:L,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:F,ERR_STREAM_PUSH_AFTER_EOF:W,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:J},AbortError:Y}=vs(),{validateObject:M}=Gg(),B=p("kPaused"),{StringDecoder:q}=Wbe(),z=rY();l(oe.prototype,m.prototype),l(oe,m);var A=()=>{},{errorOrDestroy:T}=C,k=1,j=2,re=4,me=8,te=16,X=32,fe=64,le=128,ve=256,Z=512,ae=1024,pe=2048,K=4096,ce=8192,ye=16384,ee=32768,$=65536,ge=1<<17,ie=1<<18;function Ie(Se){return{enumerable:!1,get(){return(this.state&Se)!==0},set(Oe){Oe?this.state|=Se:this.state&=~Se}}}a(Ce.prototype,{objectMode:Ie(k),ended:Ie(j),endEmitted:Ie(re),reading:Ie(me),constructed:Ie(te),sync:Ie(X),needReadable:Ie(fe),emittedReadable:Ie(le),readableListening:Ie(ve),resumeScheduled:Ie(Z),errorEmitted:Ie(ae),emitClose:Ie(pe),autoDestroy:Ie(K),destroyed:Ie(ce),closed:Ie(ye),closeEmitted:Ie(ee),multiAwaitDrain:Ie($),readingMore:Ie(ge),dataEmitted:Ie(ie)});function Ce(Se,Oe,ct){typeof ct!="boolean"&&(ct=Oe instanceof Eu()),this.state=pe|K|te|X,Se&&Se.objectMode&&(this.state|=k),ct&&Se&&Se.readableObjectMode&&(this.state|=k),this.highWaterMark=Se?_(this,Se,"readableHighWaterMark",ct):I(!1),this.buffer=new w,this.length=0,this.pipes=[],this.flowing=null,this[B]=null,Se&&Se.emitClose===!1&&(this.state&=~pe),Se&&Se.autoDestroy===!1&&(this.state&=~K),this.errored=null,this.defaultEncoding=Se&&Se.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,Se&&Se.encoding&&(this.decoder=new q(Se.encoding),this.encoding=Se.encoding)}function oe(Se){if(!(this instanceof oe))return new oe(Se);let Oe=this instanceof Eu();this._readableState=new Ce(Se,this,Oe),Se&&(typeof Se.read=="function"&&(this._read=Se.read),typeof Se.destroy=="function"&&(this._destroy=Se.destroy),typeof Se.construct=="function"&&(this._construct=Se.construct),Se.signal&&!Oe&&E(Se.signal,this)),m.call(this,Se),C.construct(this,()=>{this._readableState.needReadable&&ue(this,this._readableState)})}oe.prototype.destroy=C.destroy,oe.prototype._undestroy=C.undestroy,oe.prototype._destroy=function(Se,Oe){Oe(Se)},oe.prototype[g.captureRejectionSymbol]=function(Se){this.destroy(Se)},oe.prototype[f]=function(){let Se;return this.destroyed||(Se=this.readableEnded?null:new Y,this.destroy(Se)),new u((Oe,ct)=>b(this,gt=>gt&&gt!==Se?ct(gt):Oe(null)))},oe.prototype.push=function(Se,Oe){return Ne(this,Se,Oe,!1)},oe.prototype.unshift=function(Se,Oe){return Ne(this,Se,Oe,!0)};function Ne(Se,Oe,ct,gt){S("readableAddChunk",Oe);let Et=Se._readableState,$n;if((Et.state&k)===0&&(typeof Oe=="string"?(ct=ct||Et.defaultEncoding,Et.encoding!==ct&&(gt&&Et.encoding?Oe=v.from(Oe,ct).toString(Et.encoding):(Oe=v.from(Oe,ct),ct=""))):Oe instanceof v?ct="":m._isUint8Array(Oe)?(Oe=m._uint8ArrayToBuffer(Oe),ct=""):Oe!=null&&($n=new L("chunk",["string","Buffer","Uint8Array"],Oe))),$n)T(Se,$n);else if(Oe===null)Et.state&=~me,we(Se,Et);else if((Et.state&k)!==0||Oe&&Oe.length>0)if(gt)if((Et.state&re)!==0)T(Se,new J);else{if(Et.destroyed||Et.errored)return!1;x(Se,Et,Oe,!0)}else if(Et.ended)T(Se,new W);else{if(Et.destroyed||Et.errored)return!1;Et.state&=~me,Et.decoder&&!ct?(Oe=Et.decoder.write(Oe),Et.objectMode||Oe.length!==0?x(Se,Et,Oe,!1):ue(Se,Et)):x(Se,Et,Oe,!1)}else gt||(Et.state&=~me,ue(Se,Et));return!Et.ended&&(Et.length<Et.highWaterMark||Et.length===0)}function x(Se,Oe,ct,gt){Oe.flowing&&Oe.length===0&&!Oe.sync&&Se.listenerCount("data")>0?((Oe.state&$)!==0?Oe.awaitDrainWriters.clear():Oe.awaitDrainWriters=null,Oe.dataEmitted=!0,Se.emit("data",ct)):(Oe.length+=Oe.objectMode?1:ct.length,gt?Oe.buffer.unshift(ct):Oe.buffer.push(ct),(Oe.state&fe)!==0&&Ae(Se)),ue(Se,Oe)}oe.prototype.isPaused=function(){let Se=this._readableState;return Se[B]===!0||Se.flowing===!1},oe.prototype.setEncoding=function(Se){let Oe=new q(Se);this._readableState.decoder=Oe,this._readableState.encoding=this._readableState.decoder.encoding;let ct=this._readableState.buffer,gt="";for(let Et of ct)gt+=Oe.write(Et);return ct.clear(),gt!==""&&ct.push(gt),this._readableState.length=gt.length,this};var N=1073741824;function U(Se){if(Se>N)throw new F("size","<= 1GiB",Se);return Se--,Se|=Se>>>1,Se|=Se>>>2,Se|=Se>>>4,Se|=Se>>>8,Se|=Se>>>16,Se++,Se}function de(Se,Oe){return Se<=0||Oe.length===0&&Oe.ended?0:(Oe.state&k)!==0?1:o(Se)?Oe.flowing&&Oe.length?Oe.buffer.first().length:Oe.length:Se<=Oe.length?Se:Oe.ended?Oe.length:0}oe.prototype.read=function(Se){S("read",Se),Se===void 0?Se=NaN:i(Se)||(Se=s(Se,10));let Oe=this._readableState,ct=Se;if(Se>Oe.highWaterMark&&(Oe.highWaterMark=U(Se)),Se!==0&&(Oe.state&=~le),Se===0&&Oe.needReadable&&((Oe.highWaterMark!==0?Oe.length>=Oe.highWaterMark:Oe.length>0)||Oe.ended))return S("read: emitReadable",Oe.length,Oe.ended),Oe.length===0&&Oe.ended?qt(this):Ae(this),null;if(Se=de(Se,Oe),Se===0&&Oe.ended)return Oe.length===0&&qt(this),null;let gt=(Oe.state&fe)!==0;if(S("need readable",gt),(Oe.length===0||Oe.length-Se<Oe.highWaterMark)&&(gt=!0,S("length less than watermark",gt)),Oe.ended||Oe.reading||Oe.destroyed||Oe.errored||!Oe.constructed)gt=!1,S("reading, ended or constructing",gt);else if(gt){S("do read"),Oe.state|=me|X,Oe.length===0&&(Oe.state|=fe);try{this._read(Oe.highWaterMark)}catch($n){T(this,$n)}Oe.state&=~X,Oe.reading||(Se=de(ct,Oe))}let Et;return Se>0?Et=_t(Se,Oe):Et=null,Et===null?(Oe.needReadable=Oe.length<=Oe.highWaterMark,Se=0):(Oe.length-=Se,Oe.multiAwaitDrain?Oe.awaitDrainWriters.clear():Oe.awaitDrainWriters=null),Oe.length===0&&(Oe.ended||(Oe.needReadable=!0),ct!==Se&&Oe.ended&&qt(this)),Et!==null&&!Oe.errorEmitted&&!Oe.closeEmitted&&(Oe.dataEmitted=!0,this.emit("data",Et)),Et};function we(Se,Oe){if(S("onEofChunk"),!Oe.ended){if(Oe.decoder){let ct=Oe.decoder.end();ct&&ct.length&&(Oe.buffer.push(ct),Oe.length+=Oe.objectMode?1:ct.length)}Oe.ended=!0,Oe.sync?Ae(Se):(Oe.needReadable=!1,Oe.emittedReadable=!0,Le(Se))}}function Ae(Se){let Oe=Se._readableState;S("emitReadable",Oe.needReadable,Oe.emittedReadable),Oe.needReadable=!1,Oe.emittedReadable||(S("emitReadable",Oe.flowing),Oe.emittedReadable=!0,n.nextTick(Le,Se))}function Le(Se){let Oe=Se._readableState;S("emitReadable_",Oe.destroyed,Oe.length,Oe.ended),!Oe.destroyed&&!Oe.errored&&(Oe.length||Oe.ended)&&(Se.emit("readable"),Oe.emittedReadable=!1),Oe.needReadable=!Oe.flowing&&!Oe.ended&&Oe.length<=Oe.highWaterMark,$e(Se)}function ue(Se,Oe){!Oe.readingMore&&Oe.constructed&&(Oe.readingMore=!0,n.nextTick(Ee,Se,Oe))}function Ee(Se,Oe){for(;!Oe.reading&&!Oe.ended&&(Oe.length<Oe.highWaterMark||Oe.flowing&&Oe.length===0);){let ct=Oe.length;if(S("maybeReadMore read 0"),Se.read(0),ct===Oe.length)break}Oe.readingMore=!1}oe.prototype._read=function(Se){throw new R("_read()")},oe.prototype.pipe=function(Se,Oe){let ct=this,gt=this._readableState;gt.pipes.length===1&&(gt.multiAwaitDrain||(gt.multiAwaitDrain=!0,gt.awaitDrainWriters=new d(gt.awaitDrainWriters?[gt.awaitDrainWriters]:[]))),gt.pipes.push(Se),S("pipe count=%d opts=%j",gt.pipes.length,Oe);let Et=(!Oe||Oe.end!==!1)&&Se!==n.stdout&&Se!==n.stderr?Mi:No;gt.endEmitted?n.nextTick(Et):ct.once("end",Et),Se.on("unpipe",$n);function $n(Bi,Mo){S("onunpipe"),Bi===ct&&Mo&&Mo.hasUnpiped===!1&&(Mo.hasUnpiped=!0,ua())}function Mi(){S("onend"),Se.end()}let $o,Tl=!1;function ua(){S("cleanup"),Se.removeListener("close",hr),Se.removeListener("finish",si),$o&&Se.removeListener("drain",$o),Se.removeListener("error",un),Se.removeListener("unpipe",$n),ct.removeListener("end",Mi),ct.removeListener("end",No),ct.removeListener("data",Ct),Tl=!0,$o&&gt.awaitDrainWriters&&(!Se._writableState||Se._writableState.needDrain)&&$o()}function Ve(){Tl||(gt.pipes.length===1&&gt.pipes[0]===Se?(S("false write response, pause",0),gt.awaitDrainWriters=Se,gt.multiAwaitDrain=!1):gt.pipes.length>1&&gt.pipes.includes(Se)&&(S("false write response, pause",gt.awaitDrainWriters.size),gt.awaitDrainWriters.add(Se)),ct.pause()),$o||($o=He(ct,Se),Se.on("drain",$o))}ct.on("data",Ct);function Ct(Bi){S("ondata");let Mo=Se.write(Bi);S("dest.write",Mo),Mo===!1&&Ve()}function un(Bi){if(S("onerror",Bi),No(),Se.removeListener("error",un),Se.listenerCount("error")===0){let Mo=Se._writableState||Se._readableState;Mo&&!Mo.errorEmitted?T(Se,Bi):Se.emit("error",Bi)}}y(Se,"error",un);function hr(){Se.removeListener("finish",si),No()}Se.once("close",hr);function si(){S("onfinish"),Se.removeListener("close",hr),No()}Se.once("finish",si);function No(){S("unpipe"),ct.unpipe(Se)}return Se.emit("pipe",ct),Se.writableNeedDrain===!0?Ve():gt.flowing||(S("pipe resume"),ct.resume()),Se};function He(Se,Oe){return function(){let ct=Se._readableState;ct.awaitDrainWriters===Oe?(S("pipeOnDrain",1),ct.awaitDrainWriters=null):ct.multiAwaitDrain&&(S("pipeOnDrain",ct.awaitDrainWriters.size),ct.awaitDrainWriters.delete(Oe)),(!ct.awaitDrainWriters||ct.awaitDrainWriters.size===0)&&Se.listenerCount("data")&&Se.resume()}}oe.prototype.unpipe=function(Se){let Oe=this._readableState,ct={hasUnpiped:!1};if(Oe.pipes.length===0)return this;if(!Se){let Et=Oe.pipes;Oe.pipes=[],this.pause();for(let $n=0;$n<Et.length;$n++)Et[$n].emit("unpipe",this,{hasUnpiped:!1});return this}let gt=r(Oe.pipes,Se);return gt===-1?this:(Oe.pipes.splice(gt,1),Oe.pipes.length===0&&this.pause(),Se.emit("unpipe",this,ct),this)},oe.prototype.on=function(Se,Oe){let ct=m.prototype.on.call(this,Se,Oe),gt=this._readableState;return Se==="data"?(gt.readableListening=this.listenerCount("readable")>0,gt.flowing!==!1&&this.resume()):Se==="readable"&&!gt.endEmitted&&!gt.readableListening&&(gt.readableListening=gt.needReadable=!0,gt.flowing=!1,gt.emittedReadable=!1,S("on readable",gt.length,gt.reading),gt.length?Ae(this):gt.reading||n.nextTick(qe,this)),ct},oe.prototype.addListener=oe.prototype.on,oe.prototype.removeListener=function(Se,Oe){let ct=m.prototype.removeListener.call(this,Se,Oe);return Se==="readable"&&n.nextTick(Xe,this),ct},oe.prototype.off=oe.prototype.removeListener,oe.prototype.removeAllListeners=function(Se){let Oe=m.prototype.removeAllListeners.apply(this,arguments);return(Se==="readable"||Se===void 0)&&n.nextTick(Xe,this),Oe};function Xe(Se){let Oe=Se._readableState;Oe.readableListening=Se.listenerCount("readable")>0,Oe.resumeScheduled&&Oe[B]===!1?Oe.flowing=!0:Se.listenerCount("data")>0?Se.resume():Oe.readableListening||(Oe.flowing=null)}function qe(Se){S("readable nexttick read 0"),Se.read(0)}oe.prototype.resume=function(){let Se=this._readableState;return Se.flowing||(S("resume"),Se.flowing=!Se.readableListening,It(this,Se)),Se[B]=!1,this};function It(Se,Oe){Oe.resumeScheduled||(Oe.resumeScheduled=!0,n.nextTick(We,Se,Oe))}function We(Se,Oe){S("resume",Oe.reading),Oe.reading||Se.read(0),Oe.resumeScheduled=!1,Se.emit("resume"),$e(Se),Oe.flowing&&!Oe.reading&&Se.read(0)}oe.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[B]=!0,this};function $e(Se){let Oe=Se._readableState;for(S("flow",Oe.flowing);Oe.flowing&&Se.read()!==null;);}oe.prototype.wrap=function(Se){let Oe=!1;Se.on("data",gt=>{!this.push(gt)&&Se.pause&&(Oe=!0,Se.pause())}),Se.on("end",()=>{this.push(null)}),Se.on("error",gt=>{T(this,gt)}),Se.on("close",()=>{this.destroy()}),Se.on("destroy",()=>{this.destroy()}),this._read=()=>{Oe&&Se.resume&&(Oe=!1,Se.resume())};let ct=c(Se);for(let gt=1;gt<ct.length;gt++){let Et=ct[gt];this[Et]===void 0&&typeof Se[Et]=="function"&&(this[Et]=Se[Et].bind(Se))}return this},oe.prototype[h]=function(){return ht(this)},oe.prototype.iterator=function(Se){return Se!==void 0&&M(Se,"options"),ht(this,Se)};function ht(Se,Oe){typeof Se.read!="function"&&(Se=oe.wrap(Se,{objectMode:!0}));let ct=Ht(Se,Oe);return ct.stream=Se,ct}async function*Ht(Se,Oe){let ct=A;function gt(Mi){this===Se?(ct(),ct=A):ct=Mi}Se.on("readable",gt);let Et,$n=b(Se,{writable:!1},Mi=>{Et=Mi?O(Et,Mi):null,ct(),ct=A});try{for(;;){let Mi=Se.destroyed?null:Se.read();if(Mi!==null)yield Mi;else{if(Et)throw Et;if(Et===null)return;await new u(gt)}}}catch(Mi){throw Et=O(Et,Mi),Et}finally{(Et||(Oe==null?void 0:Oe.destroyOnReturn)!==!1)&&(Et===void 0||Se._readableState.autoDestroy)?C.destroyer(Se,null):(Se.off("readable",gt),$n())}}a(oe.prototype,{readable:{__proto__:null,get(){let Se=this._readableState;return!!Se&&Se.readable!==!1&&!Se.destroyed&&!Se.errorEmitted&&!Se.endEmitted},set(Se){this._readableState&&(this._readableState.readable=!!Se)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(Se){this._readableState&&(this._readableState.flowing=Se)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(Se){this._readableState&&(this._readableState.destroyed=Se)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),a(Ce.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[B]!==!1},set(Se){this[B]=!!Se}}}),oe._fromList=_t;function _t(Se,Oe){if(Oe.length===0)return null;let ct;return Oe.objectMode?ct=Oe.buffer.shift():!Se||Se>=Oe.length?(Oe.decoder?ct=Oe.buffer.join(""):Oe.buffer.length===1?ct=Oe.buffer.first():ct=Oe.buffer.concat(Oe.length),Oe.buffer.clear()):ct=Oe.buffer.consume(Se,Oe.decoder),ct}function qt(Se){let Oe=Se._readableState;S("endReadable",Oe.endEmitted),Oe.endEmitted||(Oe.ended=!0,n.nextTick(nn,Oe,Se))}function nn(Se,Oe){if(S("endReadableNT",Se.endEmitted,Se.length),!Se.errored&&!Se.closeEmitted&&!Se.endEmitted&&Se.length===0){if(Se.endEmitted=!0,Oe.emit("end"),Oe.writable&&Oe.allowHalfOpen===!1)n.nextTick(kn,Oe);else if(Se.autoDestroy){let ct=Oe._writableState;(!ct||ct.autoDestroy&&(ct.finished||ct.writable===!1))&&Oe.destroy()}}}function kn(Se){Se.writable&&!Se.writableEnded&&!Se.destroyed&&Se.end()}oe.from=function(Se,Oe){return z(oe,Se,Oe)};var Jn;function oi(){return Jn===void 0&&(Jn={}),Jn}oe.fromWeb=function(Se,Oe){return oi().newStreamReadableFromReadableStream(Se,Oe)},oe.toWeb=function(Se,Oe){return oi().newReadableStreamFromStreamReadable(Se,Oe)},oe.wrap=function(Se,Oe){var ct,gt;return new oe({objectMode:(ct=(gt=Se.readableObjectMode)!==null&&gt!==void 0?gt:Se.objectMode)!==null&&ct!==void 0?ct:!0,...Oe,destroy(Et,$n){C.destroyer(Se,Et),$n(Et)}}).wrap(Se)}}),dT=st((e,t)=>{tt(),rt(),nt();var n=If(),{ArrayPrototypeSlice:r,Error:i,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:a,ObjectSetPrototypeOf:c,StringPrototypeToLowerCase:l,Symbol:u,SymbolHasInstance:d}=yi();t.exports=M,M.WritableState=J;var{EventEmitter:f}=(Tf(),zr(Kd)),h=uT().Stream,{Buffer:p}=(Ao(),zr(So)),g=Hp(),{addAbortSignal:m}=Ny(),{getHighWaterMark:y,getDefaultHighWaterMark:v}=My(),{ERR_INVALID_ARG_TYPE:E,ERR_METHOD_NOT_IMPLEMENTED:b,ERR_MULTIPLE_CALLBACK:S,ERR_STREAM_CANNOT_PIPE:w,ERR_STREAM_DESTROYED:C,ERR_STREAM_ALREADY_FINISHED:_,ERR_STREAM_NULL_VALUES:I,ERR_STREAM_WRITE_AFTER_END:O,ERR_UNKNOWN_ENCODING:L}=vs().codes,{errorOrDestroy:R}=g;c(M.prototype,h.prototype),c(M,h);function F(){}var W=u("kOnFinished");function J(K,ce,ye){typeof ye!="boolean"&&(ye=ce instanceof Eu()),this.objectMode=!!(K&&K.objectMode),ye&&(this.objectMode=this.objectMode||!!(K&&K.writableObjectMode)),this.highWaterMark=K?y(this,K,"writableHighWaterMark",ye):v(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let ee=!!(K&&K.decodeStrings===!1);this.decodeStrings=!ee,this.defaultEncoding=K&&K.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=T.bind(void 0,ce),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,Y(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!K||K.emitClose!==!1,this.autoDestroy=!K||K.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[W]=[]}function Y(K){K.buffered=[],K.bufferedIndex=0,K.allBuffers=!0,K.allNoop=!0}J.prototype.getBuffer=function(){return r(this.buffered,this.bufferedIndex)},s(J.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function M(K){let ce=this instanceof Eu();if(!ce&&!o(M,this))return new M(K);this._writableState=new J(K,this,ce),K&&(typeof K.write=="function"&&(this._write=K.write),typeof K.writev=="function"&&(this._writev=K.writev),typeof K.destroy=="function"&&(this._destroy=K.destroy),typeof K.final=="function"&&(this._final=K.final),typeof K.construct=="function"&&(this._construct=K.construct),K.signal&&m(K.signal,this)),h.call(this,K),g.construct(this,()=>{let ye=this._writableState;ye.writing||me(this,ye),le(this,ye)})}s(M,d,{__proto__:null,value:function(K){return o(this,K)?!0:this!==M?!1:K&&K._writableState instanceof J}}),M.prototype.pipe=function(){R(this,new w)};function B(K,ce,ye,ee){let $=K._writableState;if(typeof ye=="function")ee=ye,ye=$.defaultEncoding;else{if(!ye)ye=$.defaultEncoding;else if(ye!=="buffer"&&!p.isEncoding(ye))throw new L(ye);typeof ee!="function"&&(ee=F)}if(ce===null)throw new I;if(!$.objectMode)if(typeof ce=="string")$.decodeStrings!==!1&&(ce=p.from(ce,ye),ye="buffer");else if(ce instanceof p)ye="buffer";else if(h._isUint8Array(ce))ce=h._uint8ArrayToBuffer(ce),ye="buffer";else throw new E("chunk",["string","Buffer","Uint8Array"],ce);let ge;return $.ending?ge=new O:$.destroyed&&(ge=new C("write")),ge?(n.nextTick(ee,ge),R(K,ge,!0),ge):($.pendingcb++,q(K,$,ce,ye,ee))}M.prototype.write=function(K,ce,ye){return B(this,K,ce,ye)===!0},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){let K=this._writableState;K.corked&&(K.corked--,K.writing||me(this,K))},M.prototype.setDefaultEncoding=function(K){if(typeof K=="string"&&(K=l(K)),!p.isEncoding(K))throw new L(K);return this._writableState.defaultEncoding=K,this};function q(K,ce,ye,ee,$){let ge=ce.objectMode?1:ye.length;ce.length+=ge;let ie=ce.length<ce.highWaterMark;return ie||(ce.needDrain=!0),ce.writing||ce.corked||ce.errored||!ce.constructed?(ce.buffered.push({chunk:ye,encoding:ee,callback:$}),ce.allBuffers&&ee!=="buffer"&&(ce.allBuffers=!1),ce.allNoop&&$!==F&&(ce.allNoop=!1)):(ce.writelen=ge,ce.writecb=$,ce.writing=!0,ce.sync=!0,K._write(ye,ee,ce.onwrite),ce.sync=!1),ie&&!ce.errored&&!ce.destroyed}function z(K,ce,ye,ee,$,ge,ie){ce.writelen=ee,ce.writecb=ie,ce.writing=!0,ce.sync=!0,ce.destroyed?ce.onwrite(new C("write")):ye?K._writev($,ce.onwrite):K._write($,ge,ce.onwrite),ce.sync=!1}function A(K,ce,ye,ee){--ce.pendingcb,ee(ye),re(ce),R(K,ye)}function T(K,ce){let ye=K._writableState,ee=ye.sync,$=ye.writecb;if(typeof $!="function"){R(K,new S);return}ye.writing=!1,ye.writecb=null,ye.length-=ye.writelen,ye.writelen=0,ce?(ce.stack,ye.errored||(ye.errored=ce),K._readableState&&!K._readableState.errored&&(K._readableState.errored=ce),ee?n.nextTick(A,K,ye,ce,$):A(K,ye,ce,$)):(ye.buffered.length>ye.bufferedIndex&&me(K,ye),ee?ye.afterWriteTickInfo!==null&&ye.afterWriteTickInfo.cb===$?ye.afterWriteTickInfo.count++:(ye.afterWriteTickInfo={count:1,cb:$,stream:K,state:ye},n.nextTick(k,ye.afterWriteTickInfo)):j(K,ye,1,$))}function k({stream:K,state:ce,count:ye,cb:ee}){return ce.afterWriteTickInfo=null,j(K,ce,ye,ee)}function j(K,ce,ye,ee){for(!ce.ending&&!K.destroyed&&ce.length===0&&ce.needDrain&&(ce.needDrain=!1,K.emit("drain"));ye-- >0;)ce.pendingcb--,ee();ce.destroyed&&re(ce),le(K,ce)}function re(K){if(K.writing)return;for(let $=K.bufferedIndex;$<K.buffered.length;++$){var ce;let{chunk:ge,callback:ie}=K.buffered[$],Ie=K.objectMode?1:ge.length;K.length-=Ie,ie((ce=K.errored)!==null&&ce!==void 0?ce:new C("write"))}let ye=K[W].splice(0);for(let $=0;$<ye.length;$++){var ee;ye[$]((ee=K.errored)!==null&&ee!==void 0?ee:new C("end"))}Y(K)}function me(K,ce){if(ce.corked||ce.bufferProcessing||ce.destroyed||!ce.constructed)return;let{buffered:ye,bufferedIndex:ee,objectMode:$}=ce,ge=ye.length-ee;if(!ge)return;let ie=ee;if(ce.bufferProcessing=!0,ge>1&&K._writev){ce.pendingcb-=ge-1;let Ie=ce.allNoop?F:oe=>{for(let Ne=ie;Ne<ye.length;++Ne)ye[Ne].callback(oe)},Ce=ce.allNoop&&ie===0?ye:r(ye,ie);Ce.allBuffers=ce.allBuffers,z(K,ce,!0,ce.length,Ce,"",Ie),Y(ce)}else{do{let{chunk:Ie,encoding:Ce,callback:oe}=ye[ie];ye[ie++]=null;let Ne=$?1:Ie.length;z(K,ce,!1,Ne,Ie,Ce,oe)}while(ie<ye.length&&!ce.writing);ie===ye.length?Y(ce):ie>256?(ye.splice(0,ie),ce.bufferedIndex=0):ce.bufferedIndex=ie}ce.bufferProcessing=!1}M.prototype._write=function(K,ce,ye){if(this._writev)this._writev([{chunk:K,encoding:ce}],ye);else throw new b("_write()")},M.prototype._writev=null,M.prototype.end=function(K,ce,ye){let ee=this._writableState;typeof K=="function"?(ye=K,K=null,ce=null):typeof ce=="function"&&(ye=ce,ce=null);let $;if(K!=null){let ge=B(this,K,ce);ge instanceof i&&($=ge)}return ee.corked&&(ee.corked=1,this.uncork()),$||(!ee.errored&&!ee.ending?(ee.ending=!0,le(this,ee,!0),ee.ended=!0):ee.finished?$=new _("end"):ee.destroyed&&($=new C("end"))),typeof ye=="function"&&($||ee.finished?n.nextTick(ye,$):ee[W].push(ye)),this};function te(K){return K.ending&&!K.destroyed&&K.constructed&&K.length===0&&!K.errored&&K.buffered.length===0&&!K.finished&&!K.writing&&!K.errorEmitted&&!K.closeEmitted}function X(K,ce){let ye=!1;function ee($){if(ye){R(K,$??S());return}if(ye=!0,ce.pendingcb--,$){let ge=ce[W].splice(0);for(let ie=0;ie<ge.length;ie++)ge[ie]($);R(K,$,ce.sync)}else te(ce)&&(ce.prefinished=!0,K.emit("prefinish"),ce.pendingcb++,n.nextTick(ve,K,ce))}ce.sync=!0,ce.pendingcb++;try{K._final(ee)}catch($){ee($)}ce.sync=!1}function fe(K,ce){!ce.prefinished&&!ce.finalCalled&&(typeof K._final=="function"&&!ce.destroyed?(ce.finalCalled=!0,X(K,ce)):(ce.prefinished=!0,K.emit("prefinish")))}function le(K,ce,ye){te(ce)&&(fe(K,ce),ce.pendingcb===0&&(ye?(ce.pendingcb++,n.nextTick((ee,$)=>{te($)?ve(ee,$):$.pendingcb--},K,ce)):te(ce)&&(ce.pendingcb++,ve(K,ce))))}function ve(K,ce){ce.pendingcb--,ce.finished=!0;let ye=ce[W].splice(0);for(let ee=0;ee<ye.length;ee++)ye[ee]();if(K.emit("finish"),ce.autoDestroy){let ee=K._readableState;(!ee||ee.autoDestroy&&(ee.endEmitted||ee.readable===!1))&&K.destroy()}}a(M.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(K){this._writableState&&(this._writableState.destroyed=K)}},writable:{__proto__:null,get(){let K=this._writableState;return!!K&&K.writable!==!1&&!K.destroyed&&!K.errored&&!K.ending&&!K.ended},set(K){this._writableState&&(this._writableState.writable=!!K)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let K=this._writableState;return K?!K.destroyed&&!K.ending&&K.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var Z=g.destroy;M.prototype.destroy=function(K,ce){let ye=this._writableState;return!ye.destroyed&&(ye.bufferedIndex<ye.buffered.length||ye[W].length)&&n.nextTick(re,ye),Z.call(this,K,ce),this},M.prototype._undestroy=g.undestroy,M.prototype._destroy=function(K,ce){ce(K)},M.prototype[f.captureRejectionSymbol]=function(K){this.destroy(K)};var ae;function pe(){return ae===void 0&&(ae={}),ae}M.fromWeb=function(K,ce){return pe().newStreamWritableFromWritableStream(K,ce)},M.toWeb=function(K){return pe().newWritableStreamFromStreamWritable(K)}}),Vbe=st((e,t)=>{tt(),rt(),nt();var n=If(),r=(Ao(),zr(So)),{isReadable:i,isWritable:o,isIterable:s,isNodeStream:a,isReadableNodeStream:c,isWritableNodeStream:l,isDuplexNodeStream:u,isReadableStream:d,isWritableStream:f}=Pu(),h=qd(),{AbortError:p,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:m}}=vs(),{destroyer:y}=Hp(),v=Eu(),E=By(),b=dT(),{createDeferredPromise:S}=Bs(),w=rY(),C=globalThis.Blob||r.Blob,_=typeof C<"u"?function(W){return W instanceof C}:function(W){return!1},I=globalThis.AbortController||$m().AbortController,{FunctionPrototypeCall:O}=yi(),L=class extends v{constructor(W){super(W),(W==null?void 0:W.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(W==null?void 0:W.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function W(J,Y){if(u(J))return J;if(c(J))return F({readable:J});if(l(J))return F({writable:J});if(a(J))return F({writable:!1,readable:!1});if(d(J))return F({readable:E.fromWeb(J)});if(f(J))return F({writable:b.fromWeb(J)});if(typeof J=="function"){let{value:B,write:q,final:z,destroy:A}=R(J);if(s(B))return w(L,B,{objectMode:!0,write:q,final:z,destroy:A});let T=B==null?void 0:B.then;if(typeof T=="function"){let k,j=O(T,B,re=>{if(re!=null)throw new m("nully","body",re)},re=>{y(k,re)});return k=new L({objectMode:!0,readable:!1,write:q,final(re){z(async()=>{try{await j,n.nextTick(re,null)}catch(me){n.nextTick(re,me)}})},destroy:A})}throw new m("Iterable, AsyncIterable or AsyncFunction",Y,B)}if(_(J))return W(J.arrayBuffer());if(s(J))return w(L,J,{objectMode:!0,writable:!1});if(d(J==null?void 0:J.readable)&&f(J==null?void 0:J.writable))return L.fromWeb(J);if(typeof(J==null?void 0:J.writable)=="object"||typeof(J==null?void 0:J.readable)=="object"){let B=J!=null&&J.readable?c(J==null?void 0:J.readable)?J==null?void 0:J.readable:W(J.readable):void 0,q=J!=null&&J.writable?l(J==null?void 0:J.writable)?J==null?void 0:J.writable:W(J.writable):void 0;return F({readable:B,writable:q})}let M=J==null?void 0:J.then;if(typeof M=="function"){let B;return O(M,J,q=>{q!=null&&B.push(q),B.push(null)},q=>{y(B,q)}),B=new L({objectMode:!0,writable:!1,read(){}})}throw new g(Y,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],J)};function R(W){let{promise:J,resolve:Y}=S(),M=new I,B=M.signal;return{value:W((async function*(){for(;;){let q=J;J=null;let{chunk:z,done:A,cb:T}=await q;if(n.nextTick(T),A)return;if(B.aborted)throw new p(void 0,{cause:B.reason});({promise:J,resolve:Y}=S()),yield z}})(),{signal:B}),write(q,z,A){let T=Y;Y=null,T({chunk:q,done:!1,cb:A})},final(q){let z=Y;Y=null,z({done:!0,cb:q})},destroy(q,z){M.abort(),z(q)}}}function F(W){let J=W.readable&&typeof W.readable.read!="function"?E.wrap(W.readable):W.readable,Y=W.writable,M=!!i(J),B=!!o(Y),q,z,A,T,k;function j(re){let me=T;T=null,me?me(re):re&&k.destroy(re)}return k=new L({readableObjectMode:!!(J!=null&&J.readableObjectMode),writableObjectMode:!!(Y!=null&&Y.writableObjectMode),readable:M,writable:B}),B&&(h(Y,re=>{B=!1,re&&y(J,re),j(re)}),k._write=function(re,me,te){Y.write(re,me)?te():q=te},k._final=function(re){Y.end(),z=re},Y.on("drain",function(){if(q){let re=q;q=null,re()}}),Y.on("finish",function(){if(z){let re=z;z=null,re()}})),M&&(h(J,re=>{M=!1,re&&y(J,re),j(re)}),J.on("readable",function(){if(A){let re=A;A=null,re()}}),J.on("end",function(){k.push(null)}),k._read=function(){for(;;){let re=J.read();if(re===null){A=k._read;return}if(!k.push(re))return}}),k._destroy=function(re,me){!re&&T!==null&&(re=new p),A=null,q=null,z=null,T===null?me(re):(T=me,y(Y,re),y(J,re))},k}}),Eu=st((e,t)=>{tt(),rt(),nt();var{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:r,ObjectKeys:i,ObjectSetPrototypeOf:o}=yi();t.exports=c;var s=By(),a=dT();o(c.prototype,s.prototype),o(c,s);{let f=i(a.prototype);for(let h=0;h<f.length;h++){let p=f[h];c.prototype[p]||(c.prototype[p]=a.prototype[p])}}function c(f){if(!(this instanceof c))return new c(f);s.call(this,f),a.call(this,f),f?(this.allowHalfOpen=f.allowHalfOpen!==!1,f.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),f.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}n(c.prototype,{writable:{__proto__:null,...r(a.prototype,"writable")},writableHighWaterMark:{__proto__:null,...r(a.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...r(a.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...r(a.prototype,"writableBuffer")},writableLength:{__proto__:null,...r(a.prototype,"writableLength")},writableFinished:{__proto__:null,...r(a.prototype,"writableFinished")},writableCorked:{__proto__:null,...r(a.prototype,"writableCorked")},writableEnded:{__proto__:null,...r(a.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...r(a.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(f){this._readableState&&this._writableState&&(this._readableState.destroyed=f,this._writableState.destroyed=f)}}});var l;function u(){return l===void 0&&(l={}),l}c.fromWeb=function(f,h){return u().newStreamDuplexFromReadableWritablePair(f,h)},c.toWeb=function(f){return u().newReadableWritablePairFromDuplex(f)};var d;c.from=function(f){return d||(d=Vbe()),d(f,"body")}}),iY=st((e,t)=>{tt(),rt(),nt();var{ObjectSetPrototypeOf:n,Symbol:r}=yi();t.exports=c;var{ERR_METHOD_NOT_IMPLEMENTED:i}=vs().codes,o=Eu(),{getHighWaterMark:s}=My();n(c.prototype,o.prototype),n(c,o);var a=r("kCallback");function c(d){if(!(this instanceof c))return new c(d);let f=d?s(this,d,"readableHighWaterMark",!0):null;f===0&&(d={...d,highWaterMark:null,readableHighWaterMark:f,writableHighWaterMark:d.writableHighWaterMark||0}),o.call(this,d),this._readableState.sync=!1,this[a]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",u)}function l(d){typeof this._flush=="function"&&!this.destroyed?this._flush((f,h)=>{if(f){d?d(f):this.destroy(f);return}h!=null&&this.push(h),this.push(null),d&&d()}):(this.push(null),d&&d())}function u(){this._final!==l&&l.call(this)}c.prototype._final=l,c.prototype._transform=function(d,f,h){throw new i("_transform()")},c.prototype._write=function(d,f,h){let p=this._readableState,g=this._writableState,m=p.length;this._transform(d,f,(y,v)=>{if(y){h(y);return}v!=null&&this.push(v),g.ended||m===p.length||p.length<p.highWaterMark?h():this[a]=h})},c.prototype._read=function(){if(this[a]){let d=this[a];this[a]=null,d()}}}),oY=st((e,t)=>{tt(),rt(),nt();var{ObjectSetPrototypeOf:n}=yi();t.exports=i;var r=iY();n(i.prototype,r.prototype),n(i,r);function i(o){if(!(this instanceof i))return new i(o);r.call(this,o)}i.prototype._transform=function(o,s,a){a(null,o)}}),fT=st((e,t)=>{tt(),rt(),nt();var n=If(),{ArrayIsArray:r,Promise:i,SymbolAsyncIterator:o,SymbolDispose:s}=yi(),a=qd(),{once:c}=Bs(),l=Hp(),u=Eu(),{aggregateTwoErrors:d,codes:{ERR_INVALID_ARG_TYPE:f,ERR_INVALID_RETURN_VALUE:h,ERR_MISSING_ARGS:p,ERR_STREAM_DESTROYED:g,ERR_STREAM_PREMATURE_CLOSE:m},AbortError:y}=vs(),{validateFunction:v,validateAbortSignal:E}=Gg(),{isIterable:b,isReadable:S,isReadableNodeStream:w,isNodeStream:C,isTransformStream:_,isWebStream:I,isReadableStream:O,isReadableFinished:L}=Pu(),R=globalThis.AbortController||$m().AbortController,F,W,J;function Y(re,me,te){let X=!1;re.on("close",()=>{X=!0});let fe=a(re,{readable:me,writable:te},le=>{X=!le});return{destroy:le=>{X||(X=!0,l.destroyer(re,le||new g("pipe")))},cleanup:fe}}function M(re){return v(re[re.length-1],"streams[stream.length - 1]"),re.pop()}function B(re){if(b(re))return re;if(w(re))return q(re);throw new f("val",["Readable","Iterable","AsyncIterable"],re)}async function*q(re){W||(W=By()),yield*W.prototype[o].call(re)}async function z(re,me,te,{end:X}){let fe,le=null,ve=pe=>{if(pe&&(fe=pe),le){let K=le;le=null,K()}},Z=()=>new i((pe,K)=>{fe?K(fe):le=()=>{fe?K(fe):pe()}});me.on("drain",ve);let ae=a(me,{readable:!1},ve);try{me.writableNeedDrain&&await Z();for await(let pe of re)me.write(pe)||await Z();X&&(me.end(),await Z()),te()}catch(pe){te(fe!==pe?d(fe,pe):pe)}finally{ae(),me.off("drain",ve)}}async function A(re,me,te,{end:X}){_(me)&&(me=me.writable);let fe=me.getWriter();try{for await(let le of re)await fe.ready,fe.write(le).catch(()=>{});await fe.ready,X&&await fe.close(),te()}catch(le){try{await fe.abort(le),te(le)}catch(ve){te(ve)}}}function T(...re){return k(re,c(M(re)))}function k(re,me,te){if(re.length===1&&r(re[0])&&(re=re[0]),re.length<2)throw new p("streams");let X=new R,fe=X.signal,le=te==null?void 0:te.signal,ve=[];E(le,"options.signal");function Z(){$(new y)}J=J||Bs().addAbortListener;let ae;le&&(ae=J(le,Z));let pe,K,ce=[],ye=0;function ee(Ce){$(Ce,--ye===0)}function $(Ce,oe){var Ne;if(Ce&&(!pe||pe.code==="ERR_STREAM_PREMATURE_CLOSE")&&(pe=Ce),!(!pe&&!oe)){for(;ce.length;)ce.shift()(pe);(Ne=ae)===null||Ne===void 0||Ne[s](),X.abort(),oe&&(pe||ve.forEach(x=>x()),n.nextTick(me,pe,K))}}let ge;for(let Ce=0;Ce<re.length;Ce++){let oe=re[Ce],Ne=Ce<re.length-1,x=Ce>0,N=Ne||(te==null?void 0:te.end)!==!1,U=Ce===re.length-1;if(C(oe)){let de=function(we){we&&we.name!=="AbortError"&&we.code!=="ERR_STREAM_PREMATURE_CLOSE"&&ee(we)};if(N){let{destroy:we,cleanup:Ae}=Y(oe,Ne,x);ce.push(we),S(oe)&&U&&ve.push(Ae)}oe.on("error",de),S(oe)&&U&&ve.push(()=>{oe.removeListener("error",de)})}if(Ce===0)if(typeof oe=="function"){if(ge=oe({signal:fe}),!b(ge))throw new h("Iterable, AsyncIterable or Stream","source",ge)}else b(oe)||w(oe)||_(oe)?ge=oe:ge=u.from(oe);else if(typeof oe=="function"){if(_(ge)){var ie;ge=B((ie=ge)===null||ie===void 0?void 0:ie.readable)}else ge=B(ge);if(ge=oe(ge,{signal:fe}),Ne){if(!b(ge,!0))throw new h("AsyncIterable",`transform[${Ce-1}]`,ge)}else{var Ie;F||(F=oY());let de=new F({objectMode:!0}),we=(Ie=ge)===null||Ie===void 0?void 0:Ie.then;if(typeof we=="function")ye++,we.call(ge,ue=>{K=ue,ue!=null&&de.write(ue),N&&de.end(),n.nextTick(ee)},ue=>{de.destroy(ue),n.nextTick(ee,ue)});else if(b(ge,!0))ye++,z(ge,de,ee,{end:N});else if(O(ge)||_(ge)){let ue=ge.readable||ge;ye++,z(ue,de,ee,{end:N})}else throw new h("AsyncIterable or Promise","destination",ge);ge=de;let{destroy:Ae,cleanup:Le}=Y(ge,!1,!0);ce.push(Ae),U&&ve.push(Le)}}else if(C(oe)){if(w(ge)){ye+=2;let de=j(ge,oe,ee,{end:N});S(oe)&&U&&ve.push(de)}else if(_(ge)||O(ge)){let de=ge.readable||ge;ye++,z(de,oe,ee,{end:N})}else if(b(ge))ye++,z(ge,oe,ee,{end:N});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=oe}else if(I(oe)){if(w(ge))ye++,A(B(ge),oe,ee,{end:N});else if(O(ge)||b(ge))ye++,A(ge,oe,ee,{end:N});else if(_(ge))ye++,A(ge.readable,oe,ee,{end:N});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=oe}else ge=u.from(oe)}return(fe!=null&&fe.aborted||le!=null&&le.aborted)&&n.nextTick(Z),ge}function j(re,me,te,{end:X}){let fe=!1;if(me.on("close",()=>{fe||te(new m)}),re.pipe(me,{end:!1}),X){let le=function(){fe=!0,me.end()};L(re)?n.nextTick(le):re.once("end",le)}else te();return a(re,{readable:!0,writable:!1},le=>{let ve=re._readableState;le&&le.code==="ERR_STREAM_PREMATURE_CLOSE"&&ve&&ve.ended&&!ve.errored&&!ve.errorEmitted?re.once("end",te).once("error",te):te(le)}),a(me,{readable:!1,writable:!0},te)}t.exports={pipelineImpl:k,pipeline:T}}),sY=st((e,t)=>{tt(),rt(),nt();var{pipeline:n}=fT(),r=Eu(),{destroyer:i}=Hp(),{isNodeStream:o,isReadable:s,isWritable:a,isWebStream:c,isTransformStream:l,isWritableStream:u,isReadableStream:d}=Pu(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:h,ERR_MISSING_ARGS:p}}=vs(),g=qd();t.exports=function(...m){if(m.length===0)throw new p("streams");if(m.length===1)return r.from(m[0]);let y=[...m];if(typeof m[0]=="function"&&(m[0]=r.from(m[0])),typeof m[m.length-1]=="function"){let R=m.length-1;m[R]=r.from(m[R])}for(let R=0;R<m.length;++R)if(!(!o(m[R])&&!c(m[R]))){if(R<m.length-1&&!(s(m[R])||d(m[R])||l(m[R])))throw new h(`streams[${R}]`,y[R],"must be readable");if(R>0&&!(a(m[R])||u(m[R])||l(m[R])))throw new h(`streams[${R}]`,y[R],"must be writable")}let v,E,b,S,w;function C(R){let F=S;S=null,F?F(R):R?w.destroy(R):!L&&!O&&w.destroy()}let _=m[0],I=n(m,C),O=!!(a(_)||u(_)||l(_)),L=!!(s(I)||d(I)||l(I));if(w=new r({writableObjectMode:!!(_!=null&&_.writableObjectMode),readableObjectMode:!!(I!=null&&I.readableObjectMode),writable:O,readable:L}),O){if(o(_))w._write=function(F,W,J){_.write(F,W)?J():v=J},w._final=function(F){_.end(),E=F},_.on("drain",function(){if(v){let F=v;v=null,F()}});else if(c(_)){let F=(l(_)?_.writable:_).getWriter();w._write=async function(W,J,Y){try{await F.ready,F.write(W).catch(()=>{}),Y()}catch(M){Y(M)}},w._final=async function(W){try{await F.ready,F.close().catch(()=>{}),E=W}catch(J){W(J)}}}let R=l(I)?I.readable:I;g(R,()=>{if(E){let F=E;E=null,F()}})}if(L){if(o(I))I.on("readable",function(){if(b){let R=b;b=null,R()}}),I.on("end",function(){w.push(null)}),w._read=function(){for(;;){let R=I.read();if(R===null){b=w._read;return}if(!w.push(R))return}};else if(c(I)){let R=(l(I)?I.readable:I).getReader();w._read=async function(){for(;;)try{let{value:F,done:W}=await R.read();if(!w.push(F))return;if(W){w.push(null);return}}catch{return}}}}return w._destroy=function(R,F){!R&&S!==null&&(R=new f),b=null,v=null,E=null,S===null?F(R):(S=F,o(I)&&i(I,R))},w}}),Gbe=st((e,t)=>{tt(),rt(),nt();var n=globalThis.AbortController||$m().AbortController,{codes:{ERR_INVALID_ARG_VALUE:r,ERR_INVALID_ARG_TYPE:i,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:a}=vs(),{validateAbortSignal:c,validateInteger:l,validateObject:u}=Gg(),d=yi().Symbol("kWeak"),f=yi().Symbol("kResistStopPropagation"),{finished:h}=qd(),p=sY(),{addAbortSignalNoValidate:g}=Ny(),{isWritable:m,isNodeStream:y}=Pu(),{deprecate:v}=Bs(),{ArrayPrototypePush:E,Boolean:b,MathFloor:S,Number:w,NumberIsNaN:C,Promise:_,PromiseReject:I,PromiseResolve:O,PromisePrototypeThen:L,Symbol:R}=yi(),F=R("kEmpty"),W=R("kEof");function J(le,ve){if(ve!=null&&u(ve,"options"),(ve==null?void 0:ve.signal)!=null&&c(ve.signal,"options.signal"),y(le)&&!m(le))throw new r("stream",le,"must be writable");let Z=p(this,le);return ve!=null&&ve.signal&&g(ve.signal,Z),Z}function Y(le,ve){if(typeof le!="function")throw new i("fn",["Function","AsyncFunction"],le);ve!=null&&u(ve,"options"),(ve==null?void 0:ve.signal)!=null&&c(ve.signal,"options.signal");let Z=1;(ve==null?void 0:ve.concurrency)!=null&&(Z=S(ve.concurrency));let ae=Z-1;return(ve==null?void 0:ve.highWaterMark)!=null&&(ae=S(ve.highWaterMark)),l(Z,"options.concurrency",1),l(ae,"options.highWaterMark",0),ae+=Z,(async function*(){let pe=Bs().AbortSignalAny([ve==null?void 0:ve.signal].filter(b)),K=this,ce=[],ye={signal:pe},ee,$,ge=!1,ie=0;function Ie(){ge=!0,Ce()}function Ce(){ie-=1,oe()}function oe(){$&&!ge&&ie<Z&&ce.length<ae&&($(),$=null)}async function Ne(){try{for await(let x of K){if(ge)return;if(pe.aborted)throw new a;try{if(x=le(x,ye),x===F)continue;x=O(x)}catch(N){x=I(N)}ie+=1,L(x,Ce,Ie),ce.push(x),ee&&(ee(),ee=null),!ge&&(ce.length>=ae||ie>=Z)&&await new _(N=>{$=N})}ce.push(W)}catch(x){let N=I(x);L(N,Ce,Ie),ce.push(N)}finally{ge=!0,ee&&(ee(),ee=null)}}Ne();try{for(;;){for(;ce.length>0;){let x=await ce[0];if(x===W)return;if(pe.aborted)throw new a;x!==F&&(yield x),ce.shift(),oe()}await new _(x=>{ee=x})}}finally{ge=!0,$&&($(),$=null)}}).call(this)}function M(le=void 0){return le!=null&&u(le,"options"),(le==null?void 0:le.signal)!=null&&c(le.signal,"options.signal"),(async function*(){let ve=0;for await(let ae of this){var Z;if(le!=null&&(Z=le.signal)!==null&&Z!==void 0&&Z.aborted)throw new a({cause:le.signal.reason});yield[ve++,ae]}}).call(this)}async function B(le,ve=void 0){for await(let Z of T.call(this,le,ve))return!0;return!1}async function q(le,ve=void 0){if(typeof le!="function")throw new i("fn",["Function","AsyncFunction"],le);return!await B.call(this,async(...Z)=>!await le(...Z),ve)}async function z(le,ve){for await(let Z of T.call(this,le,ve))return Z}async function A(le,ve){if(typeof le!="function")throw new i("fn",["Function","AsyncFunction"],le);async function Z(ae,pe){return await le(ae,pe),F}for await(let ae of Y.call(this,Z,ve));}function T(le,ve){if(typeof le!="function")throw new i("fn",["Function","AsyncFunction"],le);async function Z(ae,pe){return await le(ae,pe)?ae:F}return Y.call(this,Z,ve)}var k=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function j(le,ve,Z){var ae;if(typeof le!="function")throw new i("reducer",["Function","AsyncFunction"],le);Z!=null&&u(Z,"options"),(Z==null?void 0:Z.signal)!=null&&c(Z.signal,"options.signal");let pe=arguments.length>1;if(Z!=null&&(ae=Z.signal)!==null&&ae!==void 0&&ae.aborted){let $=new a(void 0,{cause:Z.signal.reason});throw this.once("error",()=>{}),await h(this.destroy($)),$}let K=new n,ce=K.signal;if(Z!=null&&Z.signal){let $={once:!0,[d]:this,[f]:!0};Z.signal.addEventListener("abort",()=>K.abort(),$)}let ye=!1;try{for await(let $ of this){var ee;if(ye=!0,Z!=null&&(ee=Z.signal)!==null&&ee!==void 0&&ee.aborted)throw new a;pe?ve=await le(ve,$,{signal:ce}):(ve=$,pe=!0)}if(!ye&&!pe)throw new k}finally{K.abort()}return ve}async function re(le){le!=null&&u(le,"options"),(le==null?void 0:le.signal)!=null&&c(le.signal,"options.signal");let ve=[];for await(let ae of this){var Z;if(le!=null&&(Z=le.signal)!==null&&Z!==void 0&&Z.aborted)throw new a(void 0,{cause:le.signal.reason});E(ve,ae)}return ve}function me(le,ve){let Z=Y.call(this,le,ve);return(async function*(){for await(let ae of Z)yield*ae}).call(this)}function te(le){if(le=w(le),C(le))return 0;if(le<0)throw new s("number",">= 0",le);return le}function X(le,ve=void 0){return ve!=null&&u(ve,"options"),(ve==null?void 0:ve.signal)!=null&&c(ve.signal,"options.signal"),le=te(le),(async function*(){var Z;if(ve!=null&&(Z=ve.signal)!==null&&Z!==void 0&&Z.aborted)throw new a;for await(let pe of this){var ae;if(ve!=null&&(ae=ve.signal)!==null&&ae!==void 0&&ae.aborted)throw new a;le--<=0&&(yield pe)}}).call(this)}function fe(le,ve=void 0){return ve!=null&&u(ve,"options"),(ve==null?void 0:ve.signal)!=null&&c(ve.signal,"options.signal"),le=te(le),(async function*(){var Z;if(ve!=null&&(Z=ve.signal)!==null&&Z!==void 0&&Z.aborted)throw new a;for await(let pe of this){var ae;if(ve!=null&&(ae=ve.signal)!==null&&ae!==void 0&&ae.aborted)throw new a;if(le-- >0&&(yield pe),le<=0)return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:v(M,"readable.asIndexedPairs will be removed in a future version."),drop:X,filter:T,flatMap:me,map:Y,take:fe,compose:J},t.exports.promiseReturningOperators={every:q,forEach:A,reduce:j,toArray:re,some:B,find:z}}),aY=st((e,t)=>{tt(),rt(),nt();var{ArrayPrototypePop:n,Promise:r}=yi(),{isIterable:i,isNodeStream:o,isWebStream:s}=Pu(),{pipelineImpl:a}=fT(),{finished:c}=qd();cY();function l(...u){return new r((d,f)=>{let h,p,g=u[u.length-1];if(g&&typeof g=="object"&&!o(g)&&!i(g)&&!s(g)){let m=n(u);h=m.signal,p=m.end}a(u,(m,y)=>{m?f(m):d(y)},{signal:h,end:p})})}t.exports={finished:c,pipeline:l}}),cY=st((e,t)=>{tt(),rt(),nt();var{Buffer:n}=(Ao(),zr(So)),{ObjectDefineProperty:r,ObjectKeys:i,ReflectApply:o}=yi(),{promisify:{custom:s}}=Bs(),{streamReturningOperators:a,promiseReturningOperators:c}=Gbe(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:l}}=vs(),u=sY(),{setDefaultHighWaterMark:d,getDefaultHighWaterMark:f}=My(),{pipeline:h}=fT(),{destroyer:p}=Hp(),g=qd(),m=aY(),y=Pu(),v=t.exports=uT().Stream;v.isDestroyed=y.isDestroyed,v.isDisturbed=y.isDisturbed,v.isErrored=y.isErrored,v.isReadable=y.isReadable,v.isWritable=y.isWritable,v.Readable=By();for(let b of i(a)){let S=function(...C){if(new.target)throw l();return v.Readable.from(o(w,this,C))},w=a[b];r(S,"name",{__proto__:null,value:w.name}),r(S,"length",{__proto__:null,value:w.length}),r(v.Readable.prototype,b,{__proto__:null,value:S,enumerable:!1,configurable:!0,writable:!0})}for(let b of i(c)){let S=function(...C){if(new.target)throw l();return o(w,this,C)},w=c[b];r(S,"name",{__proto__:null,value:w.name}),r(S,"length",{__proto__:null,value:w.length}),r(v.Readable.prototype,b,{__proto__:null,value:S,enumerable:!1,configurable:!0,writable:!0})}v.Writable=dT(),v.Duplex=Eu(),v.Transform=iY(),v.PassThrough=oY(),v.pipeline=h;var{addAbortSignal:E}=Ny();v.addAbortSignal=E,v.finished=g,v.destroy=p,v.compose=u,v.setDefaultHighWaterMark=d,v.getDefaultHighWaterMark=f,r(v,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return m}}),r(h,s,{__proto__:null,enumerable:!0,get(){return m.pipeline}}),r(g,s,{__proto__:null,enumerable:!0,get(){return m.finished}}),v.Stream=v,v._isUint8Array=function(b){return b instanceof Uint8Array},v._uint8ArrayToBuffer=function(b){return n.from(b.buffer,b.byteOffset,b.byteLength)}}),Pf=st((e,t)=>{tt(),rt(),nt();var n=cY(),r=aY(),i=n.Readable.destroy;t.exports=n.Readable,t.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,t.exports._isUint8Array=n._isUint8Array,t.exports.isDisturbed=n.isDisturbed,t.exports.isErrored=n.isErrored,t.exports.isReadable=n.isReadable,t.exports.Readable=n.Readable,t.exports.Writable=n.Writable,t.exports.Duplex=n.Duplex,t.exports.Transform=n.Transform,t.exports.PassThrough=n.PassThrough,t.exports.addAbortSignal=n.addAbortSignal,t.exports.finished=n.finished,t.exports.destroy=n.destroy,t.exports.destroy=i,t.exports.pipeline=n.pipeline,t.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return r}}),t.exports.Stream=n.Stream,t.exports.default=t.exports}),Jbe=st((e,t)=>{tt(),rt(),nt(),typeof Object.create=="function"?t.exports=function(n,r){r&&(n.super_=r,n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(n,r){if(r){n.super_=r;var i=function(){};i.prototype=r.prototype,n.prototype=new i,n.prototype.constructor=n}}}),Zbe=st((e,t)=>{tt(),rt(),nt();var{Buffer:n}=(Ao(),zr(So)),r=Symbol.for("BufferList");function i(o){if(!(this instanceof i))return new i(o);i._init.call(this,o)}i._init=function(o){Object.defineProperty(this,r,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},i.prototype._new=function(o){return new i(o)},i.prototype._offset=function(o){if(o===0)return[0,0];let s=0;for(let a=0;a<this._bufs.length;a++){let c=s+this._bufs[a].length;if(o<c||a===this._bufs.length-1)return[a,o-s];s=c}},i.prototype._reverseOffset=function(o){let s=o[0],a=o[1];for(let c=0;c<s;c++)a+=this._bufs[c].length;return a},i.prototype.getBuffers=function(){return this._bufs},i.prototype.get=function(o){if(o>this.length||o<0)return;let s=this._offset(o);return this._bufs[s[0]][s[1]]},i.prototype.slice=function(o,s){return typeof o=="number"&&o<0&&(o+=this.length),typeof s=="number"&&s<0&&(s+=this.length),this.copy(null,0,o,s)},i.prototype.copy=function(o,s,a,c){if((typeof a!="number"||a<0)&&(a=0),(typeof c!="number"||c>this.length)&&(c=this.length),a>=this.length||c<=0)return o||n.alloc(0);let l=!!o,u=this._offset(a),d=c-a,f=d,h=l&&s||0,p=u[1];if(a===0&&c===this.length){if(!l)return this._bufs.length===1?this._bufs[0]:n.concat(this._bufs,this.length);for(let g=0;g<this._bufs.length;g++)this._bufs[g].copy(o,h),h+=this._bufs[g].length;return o}if(f<=this._bufs[u[0]].length-p)return l?this._bufs[u[0]].copy(o,s,p,p+f):this._bufs[u[0]].slice(p,p+f);l||(o=n.allocUnsafe(d));for(let g=u[0];g<this._bufs.length;g++){let m=this._bufs[g].length-p;if(f>m)this._bufs[g].copy(o,h,p),h+=m;else{this._bufs[g].copy(o,h,p,p+f),h+=m;break}f-=m,p&&(p=0)}return o.length>h?o.slice(0,h):o},i.prototype.shallowSlice=function(o,s){if(o=o||0,s=typeof s!="number"?this.length:s,o<0&&(o+=this.length),s<0&&(s+=this.length),o===s)return this._new();let a=this._offset(o),c=this._offset(s),l=this._bufs.slice(a[0],c[0]+1);return c[1]===0?l.pop():l[l.length-1]=l[l.length-1].slice(0,c[1]),a[1]!==0&&(l[0]=l[0].slice(a[1])),this._new(l)},i.prototype.toString=function(o,s,a){return this.slice(s,a).toString(o)},i.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;)if(o>=this._bufs[0].length)o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}return this},i.prototype.duplicate=function(){let o=this._new();for(let s=0;s<this._bufs.length;s++)o.append(this._bufs[s]);return o},i.prototype.append=function(o){return this._attach(o,i.prototype._appendBuffer)},i.prototype.prepend=function(o){return this._attach(o,i.prototype._prependBuffer,!0)},i.prototype._attach=function(o,s,a){if(o==null)return this;if(o.buffer)s.call(this,n.from(o.buffer,o.byteOffset,o.byteLength));else if(Array.isArray(o)){let[c,l]=a?[o.length-1,-1]:[0,1];for(let u=c;u>=0&&u<o.length;u+=l)this._attach(o[u],s,a)}else if(this._isBufferList(o)){let[c,l]=a?[o._bufs.length-1,-1]:[0,1];for(let u=c;u>=0&&u<o._bufs.length;u+=l)this._attach(o._bufs[u],s,a)}else typeof o=="number"&&(o=o.toString()),s.call(this,n.from(o));return this},i.prototype._appendBuffer=function(o){this._bufs.push(o),this.length+=o.length},i.prototype._prependBuffer=function(o){this._bufs.unshift(o),this.length+=o.length},i.prototype.indexOf=function(o,s,a){if(a===void 0&&typeof s=="string"&&(a=s,s=void 0),typeof o=="function"||Array.isArray(o))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof o=="number"?o=n.from([o]):typeof o=="string"?o=n.from(o,a):this._isBufferList(o)?o=o.slice():Array.isArray(o.buffer)?o=n.from(o.buffer,o.byteOffset,o.byteLength):n.isBuffer(o)||(o=n.from(o)),s=Number(s||0),isNaN(s)&&(s=0),s<0&&(s=this.length+s),s<0&&(s=0),o.length===0)return s>this.length?this.length:s;let c=this._offset(s),l=c[0],u=c[1];for(;l<this._bufs.length;l++){let d=this._bufs[l];for(;u<d.length;)if(d.length-u>=o.length){let f=d.indexOf(o,u);if(f!==-1)return this._reverseOffset([l,f]);u=d.length-o.length+1}else{let f=this._reverseOffset([l,u]);if(this._match(f,o))return f;u++}u=0}return-1},i.prototype._match=function(o,s){if(this.length-o<s.length)return!1;for(let a=0;a<s.length;a++)if(this.get(o+a)!==s[a])return!1;return!0},(function(){let o={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readBigInt64BE:8,readBigInt64LE:8,readBigUInt64BE:8,readBigUInt64LE:8,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let s in o)(function(a){o[a]===null?i.prototype[a]=function(c,l){return this.slice(c,c+l)[a](0,l)}:i.prototype[a]=function(c=0){return this.slice(c,c+o[a])[a](0)}})(s)})(),i.prototype._isBufferList=function(o){return o instanceof i||i.isBufferList(o)},i.isBufferList=function(o){return o!=null&&o[r]},t.exports=i}),Ybe=st((e,t)=>{tt(),rt(),nt();var n=Pf().Duplex,r=Jbe(),i=Zbe();function o(s){if(!(this instanceof o))return new o(s);if(typeof s=="function"){this._callback=s;let a=(function(c){this._callback&&(this._callback(c),this._callback=null)}).bind(this);this.on("pipe",function(c){c.on("error",a)}),this.on("unpipe",function(c){c.removeListener("error",a)}),s=null}i._init.call(this,s),n.call(this)}r(o,n),Object.assign(o.prototype,i.prototype),o.prototype._new=function(s){return new o(s)},o.prototype._write=function(s,a,c){this._appendBuffer(s),typeof c=="function"&&c()},o.prototype._read=function(s){if(!this.length)return this.push(null);s=Math.min(s,this.length),this.push(this.slice(0,s)),this.consume(s)},o.prototype.end=function(s){n.prototype.end.call(this,s),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(s,a){this._bufs.length=0,this.length=0,a(s)},o.prototype._isBufferList=function(s){return s instanceof o||s instanceof i||o.isBufferList(s)},o.isBufferList=i.isBufferList,t.exports=o,t.exports.BufferListStream=o,t.exports.BufferList=i}),Xbe=st((e,t)=>{tt(),rt(),nt();var n=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=n}),lY=st((e,t)=>{tt(),rt(),nt();var n=t.exports,{Buffer:r}=(Ao(),zr(So));n.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},n.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},n.requiredHeaderFlagsErrors={};for(let o in n.requiredHeaderFlags){let s=n.requiredHeaderFlags[o];n.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+s.toString(16)+" for "+n.types[o]+" packet"}n.codes={};for(let o in n.types){let s=n.types[o];n.codes[s]=o}n.CMD_SHIFT=4,n.CMD_MASK=240,n.DUP_MASK=8,n.QOS_MASK=3,n.QOS_SHIFT=1,n.RETAIN_MASK=1,n.VARBYTEINT_MASK=127,n.VARBYTEINT_FIN_MASK=128,n.VARBYTEINT_MAX=268435455,n.SESSIONPRESENT_MASK=1,n.SESSIONPRESENT_HEADER=r.from([n.SESSIONPRESENT_MASK]),n.CONNACK_HEADER=r.from([n.codes.connack<<n.CMD_SHIFT]),n.USERNAME_MASK=128,n.PASSWORD_MASK=64,n.WILL_RETAIN_MASK=32,n.WILL_QOS_MASK=24,n.WILL_QOS_SHIFT=3,n.WILL_FLAG_MASK=4,n.CLEAN_SESSION_MASK=2,n.CONNECT_HEADER=r.from([n.codes.connect<<n.CMD_SHIFT]),n.properties={sessionExpiryInterval:17,willDelayInterval:24,receiveMaximum:33,maximumPacketSize:39,topicAliasMaximum:34,requestResponseInformation:25,requestProblemInformation:23,userProperties:38,authenticationMethod:21,authenticationData:22,payloadFormatIndicator:1,messageExpiryInterval:2,contentType:3,responseTopic:8,correlationData:9,maximumQoS:36,retainAvailable:37,assignedClientIdentifier:18,reasonString:31,wildcardSubscriptionAvailable:40,subscriptionIdentifiersAvailable:41,sharedSubscriptionAvailable:42,serverKeepAlive:19,responseInformation:26,serverReference:28,topicAlias:35,subscriptionIdentifier:11},n.propertiesCodes={};for(let o in n.properties){let s=n.properties[o];n.propertiesCodes[s]=o}n.propertiesTypes={sessionExpiryInterval:"int32",willDelayInterval:"int32",receiveMaximum:"int16",maximumPacketSize:"int32",topicAliasMaximum:"int16",requestResponseInformation:"byte",requestProblemInformation:"byte",userProperties:"pair",authenticationMethod:"string",authenticationData:"binary",payloadFormatIndicator:"byte",messageExpiryInterval:"int32",contentType:"string",responseTopic:"string",correlationData:"binary",maximumQoS:"int8",retainAvailable:"byte",assignedClientIdentifier:"string",reasonString:"string",wildcardSubscriptionAvailable:"byte",subscriptionIdentifiersAvailable:"byte",sharedSubscriptionAvailable:"byte",serverKeepAlive:"int16",responseInformation:"string",serverReference:"string",topicAlias:"int16",subscriptionIdentifier:"var"};function i(o){return[0,1,2].map(s=>[0,1].map(a=>[0,1].map(c=>{let l=r.alloc(1);return l.writeUInt8(n.codes[o]<<n.CMD_SHIFT|(a?n.DUP_MASK:0)|s<<n.QOS_SHIFT|c,0,!0),l})))}n.PUBLISH_HEADER=i("publish"),n.SUBSCRIBE_HEADER=i("subscribe"),n.SUBSCRIBE_OPTIONS_QOS_MASK=3,n.SUBSCRIBE_OPTIONS_NL_MASK=1,n.SUBSCRIBE_OPTIONS_NL_SHIFT=2,n.SUBSCRIBE_OPTIONS_RAP_MASK=1,n.SUBSCRIBE_OPTIONS_RAP_SHIFT=3,n.SUBSCRIBE_OPTIONS_RH_MASK=3,n.SUBSCRIBE_OPTIONS_RH_SHIFT=4,n.SUBSCRIBE_OPTIONS_RH=[0,16,32],n.SUBSCRIBE_OPTIONS_NL=4,n.SUBSCRIBE_OPTIONS_RAP=8,n.SUBSCRIBE_OPTIONS_QOS=[0,1,2],n.UNSUBSCRIBE_HEADER=i("unsubscribe"),n.ACKS={unsuback:i("unsuback"),puback:i("puback"),pubcomp:i("pubcomp"),pubrel:i("pubrel"),pubrec:i("pubrec")},n.SUBACK_HEADER=r.from([n.codes.suback<<n.CMD_SHIFT]),n.VERSION3=r.from([3]),n.VERSION4=r.from([4]),n.VERSION5=r.from([5]),n.VERSION131=r.from([131]),n.VERSION132=r.from([132]),n.QOS=[0,1,2].map(o=>r.from([o])),n.EMPTY={pingreq:r.from([n.codes.pingreq<<4,0]),pingresp:r.from([n.codes.pingresp<<4,0]),disconnect:r.from([n.codes.disconnect<<4,0])},n.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},n.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},n.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},n.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},n.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},n.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),Qbe=st((e,t)=>{tt(),rt(),nt();var n=1e3,r=n*60,i=r*60,o=i*24,s=o*7,a=o*365.25;t.exports=function(f,h){h=h||{};var p=typeof f;if(p==="string"&&f.length>0)return c(f);if(p==="number"&&isFinite(f))return h.long?u(f):l(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f))};function c(f){if(f=String(f),!(f.length>100)){var h=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(h){var p=parseFloat(h[1]),g=(h[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*a;case"weeks":case"week":case"w":return p*s;case"days":case"day":case"d":return p*o;case"hours":case"hour":case"hrs":case"hr":case"h":return p*i;case"minutes":case"minute":case"mins":case"min":case"m":return p*r;case"seconds":case"second":case"secs":case"sec":case"s":return p*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function l(f){var h=Math.abs(f);return h>=o?Math.round(f/o)+"d":h>=i?Math.round(f/i)+"h":h>=r?Math.round(f/r)+"m":h>=n?Math.round(f/n)+"s":f+"ms"}function u(f){var h=Math.abs(f);return h>=o?d(f,h,o,"day"):h>=i?d(f,h,i,"hour"):h>=r?d(f,h,r,"minute"):h>=n?d(f,h,n,"second"):f+" ms"}function d(f,h,p,g){var m=h>=p*1.5;return Math.round(f/p)+" "+g+(m?"s":"")}}),Kbe=st((e,t)=>{tt(),rt(),nt();function n(r){o.debug=o,o.default=o,o.coerce=d,o.disable=l,o.enable=a,o.enabled=u,o.humanize=Qbe(),o.destroy=f,Object.keys(r).forEach(h=>{o[h]=r[h]}),o.names=[],o.skips=[],o.formatters={};function i(h){let p=0;for(let g=0;g<h.length;g++)p=(p<<5)-p+h.charCodeAt(g),p|=0;return o.colors[Math.abs(p)%o.colors.length]}o.selectColor=i;function o(h){let p,g=null,m,y;function v(...E){if(!v.enabled)return;let b=v,S=Number(new Date),w=S-(p||S);b.diff=w,b.prev=p,b.curr=S,p=S,E[0]=o.coerce(E[0]),typeof E[0]!="string"&&E.unshift("%O");let C=0;E[0]=E[0].replace(/%([a-zA-Z%])/g,(_,I)=>{if(_==="%%")return"%";C++;let O=o.formatters[I];if(typeof O=="function"){let L=E[C];_=O.call(b,L),E.splice(C,1),C--}return _}),o.formatArgs.call(b,E),(b.log||o.log).apply(b,E)}return v.namespace=h,v.useColors=o.useColors(),v.color=o.selectColor(h),v.extend=s,v.destroy=o.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(m!==o.namespaces&&(m=o.namespaces,y=o.enabled(h)),y),set:E=>{g=E}}),typeof o.init=="function"&&o.init(v),v}function s(h,p){let g=o(this.namespace+(typeof p>"u"?":":p)+h);return g.log=this.log,g}function a(h){o.save(h),o.namespaces=h,o.names=[],o.skips=[];let p=(typeof h=="string"?h:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?o.skips.push(g.slice(1)):o.names.push(g)}function c(h,p){let g=0,m=0,y=-1,v=0;for(;g<h.length;)if(m<p.length&&(p[m]===h[g]||p[m]==="*"))p[m]==="*"?(y=m,v=g,m++):(g++,m++);else if(y!==-1)m=y+1,v++,g=v;else return!1;for(;m<p.length&&p[m]==="*";)m++;return m===p.length}function l(){let h=[...o.names,...o.skips.map(p=>"-"+p)].join(",");return o.enable(""),h}function u(h){for(let p of o.skips)if(c(h,p))return!1;for(let p of o.names)if(c(h,p))return!0;return!1}function d(h){return h instanceof Error?h.stack||h.message:h}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}t.exports=n}),bu=st((e,t)=>{tt(),rt(),nt(),e.formatArgs=r,e.save=i,e.load=o,e.useColors=n,e.storage=s(),e.destroy=(()=>{let c=!1;return()=>{c||(c=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let c;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(c[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(c){if(c[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+c[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let l="color: "+this.color;c.splice(1,0,l,"color: inherit");let u=0,d=0;c[0].replace(/%[a-zA-Z%]/g,f=>{f!=="%%"&&(u++,f==="%c"&&(d=u))}),c.splice(d,0,l)}e.log=console.debug||console.log||(()=>{});function i(c){try{c?e.storage.setItem("debug",c):e.storage.removeItem("debug")}catch{}}function o(){let c;try{c=e.storage.getItem("debug")||e.storage.getItem("DEBUG")}catch{}return!c&&typeof gr<"u"&&"env"in gr&&(c=gr.env.DEBUG),c}function s(){try{return localStorage}catch{}}t.exports=Kbe()(e);var{formatters:a}=t.exports;a.j=function(c){try{return JSON.stringify(c)}catch(l){return"[UnexpectedJSONParseError]: "+l.message}}}),qbe=st((e,t)=>{tt(),rt(),nt();var n=Ybe(),{EventEmitter:r}=(Tf(),zr(Kd)),i=Xbe(),o=lY(),s=bu()("mqtt-packet:parser"),a=class pS extends r{constructor(){super(),this.parser=this.constructor.parser}static parser(l){return this instanceof pS?(this.settings=l||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new pS().parser(l)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new i,this.error=null,this._list=n(),this._stateCounter=0}parse(l){for(this.error&&this._resetState(),this._list.append(l),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let l=this._list.readUInt8(0),u=l>>o.CMD_SHIFT;this.packet.cmd=o.types[u];let d=l&15,f=o.requiredHeaderFlags[u];return f!=null&&d!==f?this._emitError(new Error(o.requiredHeaderFlagsErrors[u])):(this.packet.retain=(l&o.RETAIN_MASK)!==0,this.packet.qos=l>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(l&o.DUP_MASK)!==0,s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let l=this._parseVarByteNum(!0);return l&&(this.packet.length=l.value,this._list.consume(l.bytes)),s("_parseLength %d",l.value),!!l}_parsePayload(){s("_parsePayload: payload %O",this._list);let l=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}l=!0}return s("_parsePayload complete result: %s",l),l}_parseConnect(){s("_parseConnect");let l,u,d,f,h={},p=this.packet,g=this._parseString();if(g===null)return this._emitError(new Error("Cannot parse protocolId"));if(g!=="MQTT"&&g!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=g,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));h.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,h.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,h.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let m=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),y=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(h.will)p.will={},p.will.retain=m,p.will.qos=y;else{if(m)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(y)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(p.properties=E)}let v=this._parseString();if(v===null)return this._emitError(new Error("Packet too short"));if(p.clientId=v,s("_parseConnect: packet.clientId: %s",p.clientId),h.will){if(p.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(p.will.properties=E)}if(l=this._parseString(),l===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=l,s("_parseConnect: packet.will.topic: %s",p.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=u,s("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(h.username){if(f=this._parseString(),f===null)return this._emitError(new Error("Cannot parse username"));p.username=f,s("_parseConnect: packet.username: %s",p.username)}if(h.password){if(d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse password"));p.password=d}return this.settings=p,s("_parseConnect: complete"),p}_parseConnack(){s("_parseConnack");let l=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(l.sessionPresent=!!(u&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?l.reasonCode=this._list.readUInt8(this._pos++):l.reasonCode=0;else{if(this._list.length<2)return null;l.returnCode=this._list.readUInt8(this._pos++)}if(l.returnCode===-1||l.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(l.properties=d)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");let l=this.packet;if(l.topic=this._parseString(),l.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(l.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(l.properties=u)}l.payload=this._list.slice(this._pos,l.length),s("_parsePublish: payload from buffer list: %o",l.payload)}}_parseSubscribe(){s("_parseSubscribe");let l=this.packet,u,d,f,h,p,g,m;if(l.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let y=this._parseProperties();Object.getOwnPropertyNames(y).length&&(l.properties=y)}if(l.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<l.length;){if(u=this._parseString(),u===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=l.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(d=this._parseByte(),this.settings.protocolVersion===5){if(d&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(d&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(f=d&o.SUBSCRIBE_OPTIONS_QOS_MASK,f>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=(d>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(d>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,h=d>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,h>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));m={topic:u,qos:f},this.settings.protocolVersion===5?(m.nl=g,m.rap=p,m.rh=h):this.settings.bridgeMode&&(m.rh=0,m.rap=!0,m.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",m),l.subscriptions.push(m)}}}_parseSuback(){s("_parseSuback");let l=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(l.properties=u)}if(l.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos<this.packet.length;){let u=this._list.readUInt8(this._pos++);if(this.settings.protocolVersion===5){if(!o.MQTT5_SUBACK_CODES[u])return this._emitError(new Error("Invalid suback code"))}else if(u>2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){s("_parseUnsubscribe");let l=this.packet;if(l.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(l.properties=u)}if(l.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos<l.length;){let u=this._parseString();if(u===null)return this._emitError(new Error("Cannot parse topic"));s("_parseUnsubscribe: push topic `%s` to unsubscriptions",u),l.unsubscriptions.push(u)}}}_parseUnsuback(){s("_parseUnsuback");let l=this.packet;if(!this._parseMessageId())return this._emitError(new Error("Cannot parse messageId"));if((this.settings.protocolVersion===3||this.settings.protocolVersion===4)&&l.length!==2)return this._emitError(new Error("Malformed unsuback, payload length must be 2"));if(l.length<=0)return this._emitError(new Error("Malformed unsuback, no payload specified"));if(this.settings.protocolVersion===5){let u=this._parseProperties();for(Object.getOwnPropertyNames(u).length&&(l.properties=u),l.granted=[];this._pos<this.packet.length;){let d=this._list.readUInt8(this._pos++);if(!o.MQTT5_UNSUBACK_CODES[d])return this._emitError(new Error("Invalid unsuback code"));this.packet.granted.push(d)}}}_parseConfirmation(){s("_parseConfirmation: packet.cmd: `%s`",this.packet.cmd);let l=this.packet;if(this._parseMessageId(),this.settings.protocolVersion===5){if(l.length>2){switch(l.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[l.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[l.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}s("_parseConfirmation: packet.reasonCode `%d`",l.reasonCode)}else l.reasonCode=0;if(l.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(l.properties=u)}}return!0}_parseDisconnect(){let l=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(l.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[l.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):l.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(l.properties=u)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");let l=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(l.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[l.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(l.properties=u),s("_parseAuth: result: true"),!0}_parseMessageId(){let l=this.packet;return l.messageId=this._parseNum(),l.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",l.messageId),!0)}_parseString(l){let u=this._parseNum(),d=u+this._pos;if(u===-1||d>this._list.length||d>this.packet.length)return null;let f=this._list.toString("utf8",this._pos,d);return this._pos+=u,s("_parseString: result: %s",f),f}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let l=this._parseNum(),u=l+this._pos;if(l===-1||u>this._list.length||u>this.packet.length)return null;let d=this._list.slice(this._pos,u);return this._pos+=l,s("_parseBuffer: result: %o",d),d}_parseNum(){if(this._list.length-this._pos<2)return-1;let l=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",l),l}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let l=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",l),l}_parseVarByteNum(l){s("_parseVarByteNum");let u=4,d=0,f=1,h=0,p=!1,g,m=this._pos?this._pos:0;for(;d<u&&m+d<this._list.length;){if(g=this._list.readUInt8(m+d++),h+=f*(g&o.VARBYTEINT_MASK),f*=128,(g&o.VARBYTEINT_FIN_MASK)===0){p=!0;break}if(this._list.length<=d)break}return!p&&d===u&&this._list.length>=d&&this._emitError(new Error("Invalid variable byte integer")),m&&(this._pos+=d),p?l?p={bytes:d,value:h}:p=h:p=!1,s("_parseVarByteNum: result: %o",p),p}_parseByte(){let l;return this._pos<this._list.length&&(l=this._list.readUInt8(this._pos),this._pos++),s("_parseByte: result: %o",l),l}_parseByType(l){switch(s("_parseByType: type: %s",l),l){case"byte":return this._parseByte()!==0;case"int8":return this._parseByte();case"int16":return this._parseNum();case"int32":return this._parse4ByteNum();case"var":return this._parseVarByteNum();case"string":return this._parseString();case"pair":return this._parseStringPair();case"binary":return this._parseBuffer()}}_parseProperties(){s("_parseProperties");let l=this._parseVarByteNum(),u=this._pos+l,d={};for(;this._pos<u;){let f=this._parseByte();if(!f)return this._emitError(new Error("Cannot parse property code type")),!1;let h=o.propertiesCodes[f];if(!h)return this._emitError(new Error("Unknown property")),!1;if(h==="userProperties"){d[h]||(d[h]=Object.create(null));let p=this._parseByType(o.propertiesTypes[h]);if(d[h][p.name])if(Array.isArray(d[h][p.name]))d[h][p.name].push(p.value);else{let g=d[h][p.name];d[h][p.name]=[g],d[h][p.name].push(p.value)}else d[h][p.name]=p.value;continue}d[h]?Array.isArray(d[h])?d[h].push(this._parseByType(o.propertiesTypes[h])):(d[h]=[d[h]],d[h].push(this._parseByType(o.propertiesTypes[h]))):d[h]=this._parseByType(o.propertiesTypes[h])}return d}_newPacket(){return s("_newPacket"),this.packet&&(this._list.consume(this.packet.length),s("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d",this.packet.cmd,this.packet.payload,this.packet.length),this.emit("packet",this.packet)),s("_newPacket: new packet"),this.packet=new i,this._pos=0,!0}_emitError(l){s("_emitError",l),this.error=l,this.emit("error",l)}};t.exports=a}),$be=st((e,t)=>{tt(),rt(),nt();var{Buffer:n}=(Ao(),zr(So)),r=65536,i={},o=n.isBuffer(n.from([1,2]).subarray(0,1));function s(u){let d=n.allocUnsafe(2);return d.writeUInt8(u>>8,0),d.writeUInt8(u&255,1),d}function a(){for(let u=0;u<r;u++)i[u]=s(u)}function c(u){let d=0,f=0,h=n.allocUnsafe(4);do d=u%128|0,u=u/128|0,u>0&&(d=d|128),h.writeUInt8(d,f++);while(u>0&&f<4);return u>0&&(f=0),o?h.subarray(0,f):h.slice(0,f)}function l(u){let d=n.allocUnsafe(4);return d.writeUInt32BE(u,0),d}t.exports={cache:i,generateCache:a,generateNumber:s,genBufVariableByteInt:c,generate4ByteBuffer:l}}),eSe=st((e,t)=>{tt(),rt(),nt(),typeof gr>"u"||!gr.version||gr.version.indexOf("v0.")===0||gr.version.indexOf("v1.")===0&&gr.version.indexOf("v1.8.")!==0?t.exports={nextTick:n}:t.exports=gr;function n(r,i,o,s){if(typeof r!="function")throw new TypeError('"callback" argument must be a function');var a=arguments.length,c,l;switch(a){case 0:case 1:return gr.nextTick(r);case 2:return gr.nextTick(function(){r.call(null,i)});case 3:return gr.nextTick(function(){r.call(null,i,o)});case 4:return gr.nextTick(function(){r.call(null,i,o,s)});default:for(c=new Array(a-1),l=0;l<c.length;)c[l++]=arguments[l];return gr.nextTick(function(){r.apply(null,c)})}}}),uY=st((e,t)=>{tt(),rt(),nt();var n=lY(),{Buffer:r}=(Ao(),zr(So)),i=r.allocUnsafe(0),o=r.from([0]),s=$be(),a=eSe().nextTick,c=bu()("mqtt-packet:writeToStream"),l=s.cache,u=s.generateNumber,d=s.generateCache,f=s.genBufVariableByteInt,h=s.generate4ByteBuffer,p=M,g=!0;function m(te,X,fe){switch(c("generate called"),X.cork&&(X.cork(),a(y,X)),g&&(g=!1,d()),c("generate: packet.cmd: %s",te.cmd),te.cmd){case"connect":return v(te,X);case"connack":return E(te,X,fe);case"publish":return b(te,X,fe);case"puback":case"pubrec":case"pubrel":case"pubcomp":return S(te,X,fe);case"subscribe":return w(te,X,fe);case"suback":return C(te,X,fe);case"unsubscribe":return _(te,X,fe);case"unsuback":return I(te,X,fe);case"pingreq":case"pingresp":return O(te,X);case"disconnect":return L(te,X,fe);case"auth":return R(te,X,fe);default:return X.destroy(new Error("Unknown command")),!1}}Object.defineProperty(m,"cacheNumbers",{get(){return p===M},set(te){te?((!l||Object.keys(l).length===0)&&(g=!0),p=M):(g=!1,p=B)}});function y(te){te.uncork()}function v(te,X,fe){let le=te||{},ve=le.protocolId||"MQTT",Z=le.protocolVersion||4,ae=le.will,pe=le.clean,K=le.keepalive||0,ce=le.clientId||"",ye=le.username,ee=le.password,$=le.properties;pe===void 0&&(pe=!0);let ge=0;if(typeof ve!="string"&&!r.isBuffer(ve))return X.destroy(new Error("Invalid protocolId")),!1;if(ge+=ve.length+2,Z!==3&&Z!==4&&Z!==5)return X.destroy(new Error("Invalid protocol version")),!1;if(ge+=1,(typeof ce=="string"||r.isBuffer(ce))&&(ce||Z>=4)&&(ce||pe))ge+=r.byteLength(ce)+2;else{if(Z<4)return X.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(pe*1===0)return X.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof K!="number"||K<0||K>65535||K%1!==0)return X.destroy(new Error("Invalid keepalive")),!1;ge+=2,ge+=1;let ie,Ie;if(Z===5){if(ie=A(X,$),!ie)return!1;ge+=ie.length}if(ae){if(typeof ae!="object")return X.destroy(new Error("Invalid will")),!1;if(!ae.topic||typeof ae.topic!="string")return X.destroy(new Error("Invalid will topic")),!1;if(ge+=r.byteLength(ae.topic)+2,ge+=2,ae.payload)if(ae.payload.length>=0)typeof ae.payload=="string"?ge+=r.byteLength(ae.payload):ge+=ae.payload.length;else return X.destroy(new Error("Invalid will payload")),!1;if(Ie={},Z===5){if(Ie=A(X,ae.properties),!Ie)return!1;ge+=Ie.length}}let Ce=!1;if(ye!=null)if(me(ye))Ce=!0,ge+=r.byteLength(ye)+2;else return X.destroy(new Error("Invalid username")),!1;if(ee!=null){if(!Ce)return X.destroy(new Error("Username is required to use password")),!1;if(me(ee))ge+=re(ee)+2;else return X.destroy(new Error("Invalid password")),!1}X.write(n.CONNECT_HEADER),W(X,ge),z(X,ve),le.bridgeMode&&(Z+=128),X.write(Z===131?n.VERSION131:Z===132?n.VERSION132:Z===4?n.VERSION4:Z===5?n.VERSION5:n.VERSION3);let oe=0;return oe|=ye!=null?n.USERNAME_MASK:0,oe|=ee!=null?n.PASSWORD_MASK:0,oe|=ae&&ae.retain?n.WILL_RETAIN_MASK:0,oe|=ae&&ae.qos?ae.qos<<n.WILL_QOS_SHIFT:0,oe|=ae?n.WILL_FLAG_MASK:0,oe|=pe?n.CLEAN_SESSION_MASK:0,X.write(r.from([oe])),p(X,K),Z===5&&ie.write(),z(X,ce),ae&&(Z===5&&Ie.write(),J(X,ae.topic),z(X,ae.payload)),ye!=null&&z(X,ye),ee!=null&&z(X,ee),!0}function E(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=le===5?ve.reasonCode:ve.returnCode,ae=ve.properties,pe=2;if(typeof Z!="number")return X.destroy(new Error("Invalid return code")),!1;let K=null;if(le===5){if(K=A(X,ae),!K)return!1;pe+=K.length}return X.write(n.CONNACK_HEADER),W(X,pe),X.write(ve.sessionPresent?n.SESSIONPRESENT_HEADER:o),X.write(r.from([Z])),K==null||K.write(),!0}function b(te,X,fe){c("publish: packet: %o",te);let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.qos||0,ae=ve.retain?n.RETAIN_MASK:0,pe=ve.topic,K=ve.payload||i,ce=ve.messageId,ye=ve.properties,ee=0;if(typeof pe=="string")ee+=r.byteLength(pe)+2;else if(r.isBuffer(pe))ee+=pe.length+2;else return X.destroy(new Error("Invalid topic")),!1;if(r.isBuffer(K)?ee+=K.length:ee+=r.byteLength(K),Z&&typeof ce!="number")return X.destroy(new Error("Invalid messageId")),!1;Z&&(ee+=2);let $=null;if(le===5){if($=A(X,ye),!$)return!1;ee+=$.length}return X.write(n.PUBLISH_HEADER[Z][ve.dup?1:0][ae?1:0]),W(X,ee),p(X,re(pe)),X.write(pe),Z>0&&p(X,ce),$==null||$.write(),c("publish: payload: %o",K),X.write(K)}function S(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.cmd||"puback",ae=ve.messageId,pe=ve.dup&&Z==="pubrel"?n.DUP_MASK:0,K=0,ce=ve.reasonCode,ye=ve.properties,ee=le===5?3:2;if(Z==="pubrel"&&(K=1),typeof ae!="number")return X.destroy(new Error("Invalid messageId")),!1;let $=null;if(le===5&&typeof ye=="object"){if($=T(X,ye,fe,ee),!$)return!1;ee+=$.length}return X.write(n.ACKS[Z][K][pe][0]),ee===3&&(ee+=ce!==0?1:-1),W(X,ee),p(X,ae),le===5&&ee!==2&&X.write(r.from([ce])),$!==null?$.write():ee===4&&X.write(r.from([0])),!0}function w(te,X,fe){c("subscribe: packet: ");let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.dup?n.DUP_MASK:0,ae=ve.messageId,pe=ve.subscriptions,K=ve.properties,ce=0;if(typeof ae!="number")return X.destroy(new Error("Invalid messageId")),!1;ce+=2;let ye=null;if(le===5){if(ye=A(X,K),!ye)return!1;ce+=ye.length}if(typeof pe=="object"&&pe.length)for(let $=0;$<pe.length;$+=1){let ge=pe[$].topic,ie=pe[$].qos;if(typeof ge!="string")return X.destroy(new Error("Invalid subscriptions - invalid topic")),!1;if(typeof ie!="number")return X.destroy(new Error("Invalid subscriptions - invalid qos")),!1;if(le===5){if(typeof(pe[$].nl||!1)!="boolean")return X.destroy(new Error("Invalid subscriptions - invalid No Local")),!1;if(typeof(pe[$].rap||!1)!="boolean")return X.destroy(new Error("Invalid subscriptions - invalid Retain as Published")),!1;let Ie=pe[$].rh||0;if(typeof Ie!="number"||Ie>2)return X.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}ce+=r.byteLength(ge)+2+1}else return X.destroy(new Error("Invalid subscriptions")),!1;c("subscribe: writing to stream: %o",n.SUBSCRIBE_HEADER),X.write(n.SUBSCRIBE_HEADER[1][Z?1:0][0]),W(X,ce),p(X,ae),ye!==null&&ye.write();let ee=!0;for(let $ of pe){let ge=$.topic,ie=$.qos,Ie=+$.nl,Ce=+$.rap,oe=$.rh,Ne;J(X,ge),Ne=n.SUBSCRIBE_OPTIONS_QOS[ie],le===5&&(Ne|=Ie?n.SUBSCRIBE_OPTIONS_NL:0,Ne|=Ce?n.SUBSCRIBE_OPTIONS_RAP:0,Ne|=oe?n.SUBSCRIBE_OPTIONS_RH[oe]:0),ee=X.write(r.from([Ne]))}return ee}function C(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.messageId,ae=ve.granted,pe=ve.properties,K=0;if(typeof Z!="number")return X.destroy(new Error("Invalid messageId")),!1;if(K+=2,typeof ae=="object"&&ae.length)for(let ye=0;ye<ae.length;ye+=1){if(typeof ae[ye]!="number")return X.destroy(new Error("Invalid qos vector")),!1;K+=1}else return X.destroy(new Error("Invalid qos vector")),!1;let ce=null;if(le===5){if(ce=T(X,pe,fe,K),!ce)return!1;K+=ce.length}return X.write(n.SUBACK_HEADER),W(X,K),p(X,Z),ce!==null&&ce.write(),X.write(r.from(ae))}function _(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.messageId,ae=ve.dup?n.DUP_MASK:0,pe=ve.unsubscriptions,K=ve.properties,ce=0;if(typeof Z!="number")return X.destroy(new Error("Invalid messageId")),!1;if(ce+=2,typeof pe=="object"&&pe.length)for(let $=0;$<pe.length;$+=1){if(typeof pe[$]!="string")return X.destroy(new Error("Invalid unsubscriptions")),!1;ce+=r.byteLength(pe[$])+2}else return X.destroy(new Error("Invalid unsubscriptions")),!1;let ye=null;if(le===5){if(ye=A(X,K),!ye)return!1;ce+=ye.length}X.write(n.UNSUBSCRIBE_HEADER[1][ae?1:0][0]),W(X,ce),p(X,Z),ye!==null&&ye.write();let ee=!0;for(let $=0;$<pe.length;$++)ee=J(X,pe[$]);return ee}function I(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.messageId,ae=ve.dup?n.DUP_MASK:0,pe=ve.granted,K=ve.properties,ce=ve.cmd,ye=0,ee=2;if(typeof Z!="number")return X.destroy(new Error("Invalid messageId")),!1;if(le===5)if(typeof pe=="object"&&pe.length)for(let ge=0;ge<pe.length;ge+=1){if(typeof pe[ge]!="number")return X.destroy(new Error("Invalid qos vector")),!1;ee+=1}else return X.destroy(new Error("Invalid qos vector")),!1;let $=null;if(le===5){if($=T(X,K,fe,ee),!$)return!1;ee+=$.length}return X.write(n.ACKS[ce][ye][ae][0]),W(X,ee),p(X,Z),$!==null&&$.write(),le===5&&X.write(r.from(pe)),!0}function O(te,X,fe){return X.write(n.EMPTY[te.cmd])}function L(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.reasonCode,ae=ve.properties,pe=le===5?1:0,K=null;if(le===5){if(K=T(X,ae,fe,pe),!K)return!1;pe+=K.length}return X.write(r.from([n.codes.disconnect<<4])),W(X,pe),le===5&&X.write(r.from([Z])),K!==null&&K.write(),!0}function R(te,X,fe){let le=fe?fe.protocolVersion:4,ve=te||{},Z=ve.reasonCode,ae=ve.properties,pe=le===5?1:0;le!==5&&X.destroy(new Error("Invalid mqtt version for auth packet"));let K=T(X,ae,fe,pe);return K?(pe+=K.length,X.write(r.from([n.codes.auth<<4])),W(X,pe),X.write(r.from([Z])),K!==null&&K.write(),!0):!1}var F={};function W(te,X){if(X>n.VARBYTEINT_MAX)return te.destroy(new Error(`Invalid variable byte integer: ${X}`)),!1;let fe=F[X];return fe||(fe=f(X),X<16384&&(F[X]=fe)),c("writeVarByteInt: writing to stream: %o",fe),te.write(fe)}function J(te,X){let fe=r.byteLength(X);return p(te,fe),c("writeString: %s",X),te.write(X,"utf8")}function Y(te,X,fe){J(te,X),J(te,fe)}function M(te,X){return c("writeNumberCached: number: %d",X),c("writeNumberCached: %o",l[X]),te.write(l[X])}function B(te,X){let fe=u(X);return c("writeNumberGenerated: %o",fe),te.write(fe)}function q(te,X){let fe=h(X);return c("write4ByteNumber: %o",fe),te.write(fe)}function z(te,X){typeof X=="string"?J(te,X):X?(p(te,X.length),te.write(X)):p(te,0)}function A(te,X){if(typeof X!="object"||X.length!=null)return{length:1,write(){j(te,{},0)}};let fe=0;function le(ve,Z){let ae=n.propertiesTypes[ve],pe=0;switch(ae){case"byte":{if(typeof Z!="boolean")return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=2;break}case"int8":{if(typeof Z!="number"||Z<0||Z>255)return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=2;break}case"binary":{if(Z&&Z===null)return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=1+r.byteLength(Z)+2;break}case"int16":{if(typeof Z!="number"||Z<0||Z>65535)return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=3;break}case"int32":{if(typeof Z!="number"||Z<0||Z>4294967295)return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=5;break}case"var":{if(typeof Z!="number"||Z<0||Z>268435455)return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=1+r.byteLength(f(Z));break}case"string":{if(typeof Z!="string")return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=3+r.byteLength(Z.toString());break}case"pair":{if(typeof Z!="object")return te.destroy(new Error(`Invalid ${ve}: ${Z}`)),!1;pe+=Object.getOwnPropertyNames(Z).reduce((K,ce)=>{let ye=Z[ce];return Array.isArray(ye)?K+=ye.reduce((ee,$)=>(ee+=3+r.byteLength(ce.toString())+2+r.byteLength($.toString()),ee),0):K+=3+r.byteLength(ce.toString())+2+r.byteLength(Z[ce].toString()),K},0);break}default:return te.destroy(new Error(`Invalid property ${ve}: ${Z}`)),!1}return pe}if(X)for(let ve in X){let Z=0,ae=0,pe=X[ve];if(pe!==void 0){if(Array.isArray(pe))for(let K=0;K<pe.length;K++){if(ae=le(ve,pe[K]),!ae)return!1;Z+=ae}else{if(ae=le(ve,pe),!ae)return!1;Z=ae}if(!Z)return!1;fe+=Z}}return{length:r.byteLength(f(fe))+fe,write(){j(te,X,fe)}}}function T(te,X,fe,le){let ve=["reasonString","userProperties"],Z=fe&&fe.properties&&fe.properties.maximumPacketSize?fe.properties.maximumPacketSize:0,ae=A(te,X);if(Z)for(;le+ae.length>Z;){let pe=ve.shift();if(pe&&X[pe])delete X[pe],ae=A(te,X);else return!1}return ae}function k(te,X,fe){switch(n.propertiesTypes[X]){case"byte":{te.write(r.from([n.properties[X]])),te.write(r.from([+fe]));break}case"int8":{te.write(r.from([n.properties[X]])),te.write(r.from([fe]));break}case"binary":{te.write(r.from([n.properties[X]])),z(te,fe);break}case"int16":{te.write(r.from([n.properties[X]])),p(te,fe);break}case"int32":{te.write(r.from([n.properties[X]])),q(te,fe);break}case"var":{te.write(r.from([n.properties[X]])),W(te,fe);break}case"string":{te.write(r.from([n.properties[X]])),J(te,fe);break}case"pair":{Object.getOwnPropertyNames(fe).forEach(le=>{let ve=fe[le];Array.isArray(ve)?ve.forEach(Z=>{te.write(r.from([n.properties[X]])),Y(te,le.toString(),Z.toString())}):(te.write(r.from([n.properties[X]])),Y(te,le.toString(),ve.toString()))});break}default:return te.destroy(new Error(`Invalid property ${X} value: ${fe}`)),!1}}function j(te,X,fe){W(te,fe);for(let le in X)if(Object.prototype.hasOwnProperty.call(X,le)&&X[le]!=null){let ve=X[le];if(Array.isArray(ve))for(let Z=0;Z<ve.length;Z++)k(te,le,ve[Z]);else k(te,le,ve)}}function re(te){return te?te instanceof r?te.length:r.byteLength(te):0}function me(te){return typeof te=="string"||te instanceof r}t.exports=m}),tSe=st((e,t)=>{tt(),rt(),nt();var n=uY(),{EventEmitter:r}=(Tf(),zr(Kd)),{Buffer:i}=(Ao(),zr(So));function o(a,c){let l=new s;return n(a,l,c),l.concat()}var s=class extends r{constructor(){super(),this._array=new Array(20),this._i=0}write(a){return this._array[this._i++]=a,!0}concat(){let a=0,c=new Array(this._array.length),l=this._array,u=0,d;for(d=0;d<l.length&&l[d]!==void 0;d++)typeof l[d]!="string"?c[d]=l[d].length:c[d]=i.byteLength(l[d]),a+=c[d];let f=i.allocUnsafe(a);for(d=0;d<l.length&&l[d]!==void 0;d++)typeof l[d]!="string"?(l[d].copy(f,u),u+=c[d]):(f.write(l[d],u),u+=c[d]);return f}destroy(a){a&&this.emit("error",a)}};t.exports=o}),nSe=st(e=>{tt(),rt(),nt(),e.parser=qbe().parser,e.generate=tSe(),e.writeToStream=uY()}),rSe=st((e,t)=>{tt(),rt(),nt(),t.exports=r;function n(o){return o instanceof u4?u4.from(o):new o.constructor(o.buffer.slice(),o.byteOffset,o.length)}function r(o){if(o=o||{},o.circles)return i(o);let s=new Map;if(s.set(Date,d=>new Date(d)),s.set(Map,(d,f)=>new Map(c(Array.from(d),f))),s.set(Set,(d,f)=>new Set(c(Array.from(d),f))),o.constructorHandlers)for(let d of o.constructorHandlers)s.set(d[0],d[1]);let a=null;return o.proto?u:l;function c(d,f){let h=Object.keys(d),p=new Array(h.length);for(let g=0;g<h.length;g++){let m=h[g],y=d[m];typeof y!="object"||y===null?p[m]=y:y.constructor!==Object&&(a=s.get(y.constructor))?p[m]=a(y,f):ArrayBuffer.isView(y)?p[m]=n(y):p[m]=f(y)}return p}function l(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return c(d,l);if(d.constructor!==Object&&(a=s.get(d.constructor)))return a(d,l);let f={};for(let h in d){if(Object.hasOwnProperty.call(d,h)===!1)continue;let p=d[h];typeof p!="object"||p===null?f[h]=p:p.constructor!==Object&&(a=s.get(p.constructor))?f[h]=a(p,l):ArrayBuffer.isView(p)?f[h]=n(p):f[h]=l(p)}return f}function u(d){if(typeof d!="object"||d===null)return d;if(Array.isArray(d))return c(d,u);if(d.constructor!==Object&&(a=s.get(d.constructor)))return a(d,u);let f={};for(let h in d){let p=d[h];typeof p!="object"||p===null?f[h]=p:p.constructor!==Object&&(a=s.get(p.constructor))?f[h]=a(p,u):ArrayBuffer.isView(p)?f[h]=n(p):f[h]=u(p)}return f}}function i(o){let s=[],a=[],c=new Map;if(c.set(Date,h=>new Date(h)),c.set(Map,(h,p)=>new Map(u(Array.from(h),p))),c.set(Set,(h,p)=>new Set(u(Array.from(h),p))),o.constructorHandlers)for(let h of o.constructorHandlers)c.set(h[0],h[1]);let l=null;return o.proto?f:d;function u(h,p){let g=Object.keys(h),m=new Array(g.length);for(let y=0;y<g.length;y++){let v=g[y],E=h[v];if(typeof E!="object"||E===null)m[v]=E;else if(E.constructor!==Object&&(l=c.get(E.constructor)))m[v]=l(E,p);else if(ArrayBuffer.isView(E))m[v]=n(E);else{let b=s.indexOf(E);b!==-1?m[v]=a[b]:m[v]=p(E)}}return m}function d(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return u(h,d);if(h.constructor!==Object&&(l=c.get(h.constructor)))return l(h,d);let p={};s.push(h),a.push(p);for(let g in h){if(Object.hasOwnProperty.call(h,g)===!1)continue;let m=h[g];if(typeof m!="object"||m===null)p[g]=m;else if(m.constructor!==Object&&(l=c.get(m.constructor)))p[g]=l(m,d);else if(ArrayBuffer.isView(m))p[g]=n(m);else{let y=s.indexOf(m);y!==-1?p[g]=a[y]:p[g]=d(m)}}return s.pop(),a.pop(),p}function f(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return u(h,f);if(h.constructor!==Object&&(l=c.get(h.constructor)))return l(h,f);let p={};s.push(h),a.push(p);for(let g in h){let m=h[g];if(typeof m!="object"||m===null)p[g]=m;else if(m.constructor!==Object&&(l=c.get(m.constructor)))p[g]=l(m,f);else if(ArrayBuffer.isView(m))p[g]=n(m);else{let y=s.indexOf(m);y!==-1?p[g]=a[y]:p[g]=f(m)}}return s.pop(),a.pop(),p}}}),iSe=st((e,t)=>{tt(),rt(),nt(),t.exports=rSe()()}),oSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.validateTopic=t,e.validateTopics=n;function t(r){let i=r.split("/");for(let o=0;o<i.length;o++)if(i[o]!=="+"){if(i[o]==="#")return o===i.length-1;if(i[o].indexOf("+")!==-1||i[o].indexOf("#")!==-1)return!1}return!0}function n(r){if(r.length===0)return"empty_topic_list";for(let i=0;i<r.length;i++)if(!t(r[i]))return r[i];return null}}),dY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=Pf(),n={objectMode:!0},r={clean:!0},i=class{constructor(o){et(this,"options");et(this,"_inflights");this.options=o||{},this.options={...r,...o},this._inflights=new Map}put(o,s){return this._inflights.set(o.messageId,o),s&&s(),this}createStream(){let o=new t.Readable(n),s=[],a=!1,c=0;return this._inflights.forEach((l,u)=>{s.push(l)}),o._read=()=>{!a&&c<s.length?o.push(s[c++]):o.push(null)},o.destroy=l=>{if(!a)return a=!0,setTimeout(()=>{o.emit("close")},0),o},o}del(o,s){let a=this._inflights.get(o.messageId);return a?(this._inflights.delete(o.messageId),s(null,a)):s&&s(new Error("missing packet")),this}get(o,s){let a=this._inflights.get(o.messageId);return a?s(null,a):s&&s(new Error("missing packet")),this}close(o){this.options.clean&&(this._inflights=null),o&&o()}};e.default=i}),sSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],n=(r,i,o)=>{r.log("handlePublish: packet %o",i),o=typeof o<"u"?o:r.noop;let s=i.topic.toString(),a=i.payload,{qos:c}=i,{messageId:l}=i,{options:u}=r;if(r.options.protocolVersion===5){let d;if(i.properties&&(d=i.properties.topicAlias),typeof d<"u")if(s.length===0)if(d>0&&d<=65535){let f=r.topicAliasRecv.getTopicByAlias(d);if(f)s=f,r.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",s,d);else{r.log("handlePublish :: unregistered topic alias. alias: %d",d),r.emit("error",new Error("Received unregistered Topic Alias"));return}}else{r.log("handlePublish :: topic alias out of range. alias: %d",d),r.emit("error",new Error("Received Topic Alias is out of range"));return}else if(r.topicAliasRecv.put(s,d))r.log("handlePublish :: registered topic: %s - alias: %d",s,d);else{r.log("handlePublish :: topic alias out of range. alias: %d",d),r.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(r.log("handlePublish: qos %d",c),c){case 2:{u.customHandleAcks(s,a,i,(d,f)=>{if(typeof d=="number"&&(f=d,d=null),d)return r.emit("error",d);if(t.indexOf(f)===-1)return r.emit("error",new Error("Wrong reason code for pubrec"));f?r._sendPacket({cmd:"pubrec",messageId:l,reasonCode:f},o):r.incomingStore.put(i,()=>{r._sendPacket({cmd:"pubrec",messageId:l},o)})});break}case 1:{u.customHandleAcks(s,a,i,(d,f)=>{if(typeof d=="number"&&(f=d,d=null),d)return r.emit("error",d);if(t.indexOf(f)===-1)return r.emit("error",new Error("Wrong reason code for puback"));f||r.emit("message",s,a,i),r.handleMessage(i,h=>{if(h)return o&&o(h);r._sendPacket({cmd:"puback",messageId:l,reasonCode:f},o)})});break}case 0:r.emit("message",s,a,i),r.handleMessage(i,o);break;default:r.log("handlePublish: unknown QoS. Doing nothing.");break}};e.default=n}),aSe=st((e,t)=>{t.exports={version:"5.14.0"}}),zp=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.MQTTJS_VERSION=e.nextTick=e.ErrorWithSubackPacket=e.ErrorWithReasonCode=void 0,e.applyMixin=r;var t=class fY extends Error{constructor(s,a){super(s);et(this,"code");this.code=a,Object.setPrototypeOf(this,fY.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};e.ErrorWithReasonCode=t;var n=class hY extends Error{constructor(s,a){super(s);et(this,"packet");this.packet=a,Object.setPrototypeOf(this,hY.prototype),Object.getPrototypeOf(this).name="ErrorWithSubackPacket"}};e.ErrorWithSubackPacket=n;function r(i,o,s=!1){let a=[o];for(;;){let c=a[0],l=Object.getPrototypeOf(c);if(l!=null&&l.prototype)a.unshift(l);else break}for(let c of a)for(let l of Object.getOwnPropertyNames(c.prototype))(s||l!=="constructor")&&Object.defineProperty(i.prototype,l,Object.getOwnPropertyDescriptor(c.prototype,l)??Object.create(null))}e.nextTick=typeof(gr==null?void 0:gr.nextTick)=="function"?gr.nextTick:i=>{setTimeout(i,0)},e.MQTTJS_VERSION=aSe().version}),Fy=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=void 0;var t=zp();e.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var n=(r,i)=>{let{messageId:o}=i,s=i.cmd,a=null,c=r.outgoing[o]?r.outgoing[o].cb:null,l=null;if(!c){r.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(r.log("_handleAck :: packet type",s),s){case"pubcomp":case"puback":{let u=i.reasonCode;u&&u>0&&u!==16?(l=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(o,()=>{c(l,i)})):r._removeOutgoingAndStoreMessage(o,c);break}case"pubrec":{a={cmd:"pubrel",qos:2,messageId:o};let u=i.reasonCode;u&&u>0&&u!==16?(l=new t.ErrorWithReasonCode(`Publish error: ${e.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(o,()=>{c(l,i)})):r._sendPacket(a);break}case"suback":{delete r.outgoing[o],r.messageIdProvider.deallocate(o);let u=i.granted;for(let d=0;d<u.length;d++){let f=u[d];if((f&128)!==0){l=new Error(`Subscribe error: ${e.ReasonCodes[f]}`),l.code=f;let h=r.messageIdToTopic[o];h&&h.forEach(p=>{delete r._resubscribeTopics[p]})}}delete r.messageIdToTopic[o],r._invokeStoreProcessingQueue(),c(l,i);break}case"unsuback":{delete r.outgoing[o],r.messageIdProvider.deallocate(o),r._invokeStoreProcessingQueue(),c(null,i);break}default:r.emit("error",new Error("unrecognized packet type"))}r.disconnecting&&Object.keys(r.outgoing).length===0&&r.emit("outgoingEmpty")};e.default=n}),cSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=zp(),n=Fy(),r=(i,o)=>{let{options:s}=i,a=s.protocolVersion,c=a===5?o.reasonCode:o.returnCode;if(a!==5){let l=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${a}`,c);i.emit("error",l);return}i.handleAuth(o,(l,u)=>{if(l){i.emit("error",l);return}if(c===24)i.reconnecting=!1,i._sendPacket(u);else{let d=new t.ErrorWithReasonCode(`Connection refused: ${n.ReasonCodes[c]}`,c);i.emit("error",d)}})};e.default=r}),lSe=st(e=>{var h,p,g,m,y,v,E,b,S,w,C,_,I,O,L,R,F,W,J,Y,M,B,q,z,A,T,k,j,re,mS,te,X,fe,le,pY,Z,ae,pe,td,nd,gS,Dv,Lv,$r,vS,N1,rd,yS,Ne;tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,n=new Set,r=typeof gr=="object"&&gr?gr:{},i=(x,N,U,de)=>{typeof r.emitWarning=="function"?r.emitWarning(x,N,U,de):console.error(`[${U}] ${N}: ${x}`)},o=globalThis.AbortController,s=globalThis.AbortSignal;if(typeof o>"u"){s=class{constructor(){et(this,"onabort");et(this,"_onabort",[]);et(this,"reason");et(this,"aborted",!1)}addEventListener(U,de){this._onabort.push(de)}},o=class{constructor(){et(this,"signal",new s);N()}abort(U){var de,we;if(!this.signal.aborted){this.signal.reason=U,this.signal.aborted=!0;for(let Ae of this.signal._onabort)Ae(U);(we=(de=this.signal).onabort)==null||we.call(de,U)}}};let x=((h=r.env)==null?void 0:h.LRU_CACHE_IGNORE_AC_WARNING)!=="1",N=()=>{x&&(x=!1,i("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",N))}}var a=x=>!n.has(x),c=x=>x&&x===Math.floor(x)&&x>0&&isFinite(x),l=x=>c(x)?x<=Math.pow(2,8)?Uint8Array:x<=Math.pow(2,16)?Uint16Array:x<=Math.pow(2,32)?Uint32Array:x<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(x){super(x),this.fill(0)}},d=(p=class{constructor(N,U){et(this,"heap");et(this,"length");if(!ke(p,g))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new U(N),this.length=0}static create(N){let U=l(N);if(!U)return[];sn(p,g,!0);let de=new p(N,U);return sn(p,g,!1),de}push(N){this.heap[this.length++]=N}pop(){return this.heap[--this.length]}},g=new WeakMap,lr(p,g,!1),p),f=(Ne=class{constructor(N){lr(this,re);lr(this,v);lr(this,E);lr(this,b);lr(this,S);lr(this,w);lr(this,C);et(this,"ttl");et(this,"ttlResolution");et(this,"ttlAutopurge");et(this,"updateAgeOnGet");et(this,"updateAgeOnHas");et(this,"allowStale");et(this,"noDisposeOnSet");et(this,"noUpdateTTL");et(this,"maxEntrySize");et(this,"sizeCalculation");et(this,"noDeleteOnFetchRejection");et(this,"noDeleteOnStaleGet");et(this,"allowStaleOnFetchAbort");et(this,"allowStaleOnFetchRejection");et(this,"ignoreFetchAbort");lr(this,_);lr(this,I);lr(this,O);lr(this,L);lr(this,R);lr(this,F);lr(this,W);lr(this,J);lr(this,Y);lr(this,M);lr(this,B);lr(this,q);lr(this,z);lr(this,A);lr(this,T);lr(this,k);lr(this,j);lr(this,te,()=>{});lr(this,X,()=>{});lr(this,fe,()=>{});lr(this,le,()=>!1);lr(this,Z,N=>{});lr(this,ae,(N,U,de)=>{});lr(this,pe,(N,U,de,we)=>{if(de||we)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});et(this,m,"LRUCache");let{max:U=0,ttl:de,ttlResolution:we=1,ttlAutopurge:Ae,updateAgeOnGet:Le,updateAgeOnHas:ue,allowStale:Ee,dispose:He,disposeAfter:Xe,noDisposeOnSet:qe,noUpdateTTL:It,maxSize:We=0,maxEntrySize:$e=0,sizeCalculation:ht,fetchMethod:Ht,memoMethod:_t,noDeleteOnFetchRejection:qt,noDeleteOnStaleGet:nn,allowStaleOnFetchRejection:kn,allowStaleOnFetchAbort:Jn,ignoreFetchAbort:oi}=N;if(U!==0&&!c(U))throw new TypeError("max option must be a nonnegative integer");let Se=U?l(U):Array;if(!Se)throw new Error("invalid max value: "+U);if(sn(this,v,U),sn(this,E,We),this.maxEntrySize=$e||ke(this,E),this.sizeCalculation=ht,this.sizeCalculation){if(!ke(this,E)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(_t!==void 0&&typeof _t!="function")throw new TypeError("memoMethod must be a function if defined");if(sn(this,C,_t),Ht!==void 0&&typeof Ht!="function")throw new TypeError("fetchMethod must be a function if specified");if(sn(this,w,Ht),sn(this,k,!!Ht),sn(this,O,new Map),sn(this,L,new Array(U).fill(void 0)),sn(this,R,new Array(U).fill(void 0)),sn(this,F,new Se(U)),sn(this,W,new Se(U)),sn(this,J,0),sn(this,Y,0),sn(this,M,d.create(U)),sn(this,_,0),sn(this,I,0),typeof He=="function"&&sn(this,b,He),typeof Xe=="function"?(sn(this,S,Xe),sn(this,B,[])):(sn(this,S,void 0),sn(this,B,void 0)),sn(this,T,!!ke(this,b)),sn(this,j,!!ke(this,S)),this.noDisposeOnSet=!!qe,this.noUpdateTTL=!!It,this.noDeleteOnFetchRejection=!!qt,this.allowStaleOnFetchRejection=!!kn,this.allowStaleOnFetchAbort=!!Jn,this.ignoreFetchAbort=!!oi,this.maxEntrySize!==0){if(ke(this,E)!==0&&!c(ke(this,E)))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Wt(this,re,pY).call(this)}if(this.allowStale=!!Ee,this.noDeleteOnStaleGet=!!nn,this.updateAgeOnGet=!!Le,this.updateAgeOnHas=!!ue,this.ttlResolution=c(we)||we===0?we:1,this.ttlAutopurge=!!Ae,this.ttl=de||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Wt(this,re,mS).call(this)}if(ke(this,v)===0&&this.ttl===0&&ke(this,E)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!ke(this,v)&&!ke(this,E)){let Oe="LRU_CACHE_UNBOUNDED";a(Oe)&&(n.add(Oe),i("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Oe,Ne))}}static unsafeExposeInternals(N){return{starts:ke(N,z),ttls:ke(N,A),sizes:ke(N,q),keyMap:ke(N,O),keyList:ke(N,L),valList:ke(N,R),next:ke(N,F),prev:ke(N,W),get head(){return ke(N,J)},get tail(){return ke(N,Y)},free:ke(N,M),isBackgroundFetch:U=>{var de;return Wt(de=N,re,$r).call(de,U)},backgroundFetch:(U,de,we,Ae)=>{var Le;return Wt(Le=N,re,Lv).call(Le,U,de,we,Ae)},moveToTail:U=>{var de;return Wt(de=N,re,N1).call(de,U)},indexes:U=>{var de;return Wt(de=N,re,td).call(de,U)},rindexes:U=>{var de;return Wt(de=N,re,nd).call(de,U)},isStale:U=>{var de;return ke(de=N,le).call(de,U)}}}get max(){return ke(this,v)}get maxSize(){return ke(this,E)}get calculatedSize(){return ke(this,I)}get size(){return ke(this,_)}get fetchMethod(){return ke(this,w)}get memoMethod(){return ke(this,C)}get dispose(){return ke(this,b)}get disposeAfter(){return ke(this,S)}getRemainingTTL(N){return ke(this,O).has(N)?1/0:0}*entries(){for(let N of Wt(this,re,td).call(this))ke(this,R)[N]!==void 0&&ke(this,L)[N]!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield[ke(this,L)[N],ke(this,R)[N]])}*rentries(){for(let N of Wt(this,re,nd).call(this))ke(this,R)[N]!==void 0&&ke(this,L)[N]!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield[ke(this,L)[N],ke(this,R)[N]])}*keys(){for(let N of Wt(this,re,td).call(this)){let U=ke(this,L)[N];U!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield U)}}*rkeys(){for(let N of Wt(this,re,nd).call(this)){let U=ke(this,L)[N];U!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield U)}}*values(){for(let N of Wt(this,re,td).call(this))ke(this,R)[N]!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield ke(this,R)[N])}*rvalues(){for(let N of Wt(this,re,nd).call(this))ke(this,R)[N]!==void 0&&!Wt(this,re,$r).call(this,ke(this,R)[N])&&(yield ke(this,R)[N])}[(y=Symbol.iterator,m=Symbol.toStringTag,y)](){return this.entries()}find(N,U={}){for(let de of Wt(this,re,td).call(this)){let we=ke(this,R)[de],Ae=Wt(this,re,$r).call(this,we)?we.__staleWhileFetching:we;if(Ae!==void 0&&N(Ae,ke(this,L)[de],this))return this.get(ke(this,L)[de],U)}}forEach(N,U=this){for(let de of Wt(this,re,td).call(this)){let we=ke(this,R)[de],Ae=Wt(this,re,$r).call(this,we)?we.__staleWhileFetching:we;Ae!==void 0&&N.call(U,Ae,ke(this,L)[de],this)}}rforEach(N,U=this){for(let de of Wt(this,re,nd).call(this)){let we=ke(this,R)[de],Ae=Wt(this,re,$r).call(this,we)?we.__staleWhileFetching:we;Ae!==void 0&&N.call(U,Ae,ke(this,L)[de],this)}}purgeStale(){let N=!1;for(let U of Wt(this,re,nd).call(this,{allowStale:!0}))ke(this,le).call(this,U)&&(Wt(this,re,rd).call(this,ke(this,L)[U],"expire"),N=!0);return N}info(N){let U=ke(this,O).get(N);if(U===void 0)return;let de=ke(this,R)[U],we=Wt(this,re,$r).call(this,de)?de.__staleWhileFetching:de;if(we===void 0)return;let Ae={value:we};if(ke(this,A)&&ke(this,z)){let Le=ke(this,A)[U],ue=ke(this,z)[U];if(Le&&ue){let Ee=Le-(t.now()-ue);Ae.ttl=Ee,Ae.start=Date.now()}}return ke(this,q)&&(Ae.size=ke(this,q)[U]),Ae}dump(){let N=[];for(let U of Wt(this,re,td).call(this,{allowStale:!0})){let de=ke(this,L)[U],we=ke(this,R)[U],Ae=Wt(this,re,$r).call(this,we)?we.__staleWhileFetching:we;if(Ae===void 0||de===void 0)continue;let Le={value:Ae};if(ke(this,A)&&ke(this,z)){Le.ttl=ke(this,A)[U];let ue=t.now()-ke(this,z)[U];Le.start=Math.floor(Date.now()-ue)}ke(this,q)&&(Le.size=ke(this,q)[U]),N.unshift([de,Le])}return N}load(N){this.clear();for(let[U,de]of N){if(de.start){let we=Date.now()-de.start;de.start=t.now()-we}this.set(U,de.value,de)}}set(N,U,de={}){var It,We,$e,ht,Ht;if(U===void 0)return this.delete(N),this;let{ttl:we=this.ttl,start:Ae,noDisposeOnSet:Le=this.noDisposeOnSet,sizeCalculation:ue=this.sizeCalculation,status:Ee}=de,{noUpdateTTL:He=this.noUpdateTTL}=de,Xe=ke(this,pe).call(this,N,U,de.size||0,ue);if(this.maxEntrySize&&Xe>this.maxEntrySize)return Ee&&(Ee.set="miss",Ee.maxEntrySizeExceeded=!0),Wt(this,re,rd).call(this,N,"set"),this;let qe=ke(this,_)===0?void 0:ke(this,O).get(N);if(qe===void 0)qe=ke(this,_)===0?ke(this,Y):ke(this,M).length!==0?ke(this,M).pop():ke(this,_)===ke(this,v)?Wt(this,re,Dv).call(this,!1):ke(this,_),ke(this,L)[qe]=N,ke(this,R)[qe]=U,ke(this,O).set(N,qe),ke(this,F)[ke(this,Y)]=qe,ke(this,W)[qe]=ke(this,Y),sn(this,Y,qe),d2(this,_)._++,ke(this,ae).call(this,qe,Xe,Ee),Ee&&(Ee.set="add"),He=!1;else{Wt(this,re,N1).call(this,qe);let _t=ke(this,R)[qe];if(U!==_t){if(ke(this,k)&&Wt(this,re,$r).call(this,_t)){_t.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:qt}=_t;qt!==void 0&&!Le&&(ke(this,T)&&((It=ke(this,b))==null||It.call(this,qt,N,"set")),ke(this,j)&&((We=ke(this,B))==null||We.push([qt,N,"set"])))}else Le||(ke(this,T)&&(($e=ke(this,b))==null||$e.call(this,_t,N,"set")),ke(this,j)&&((ht=ke(this,B))==null||ht.push([_t,N,"set"])));if(ke(this,Z).call(this,qe),ke(this,ae).call(this,qe,Xe,Ee),ke(this,R)[qe]=U,Ee){Ee.set="replace";let qt=_t&&Wt(this,re,$r).call(this,_t)?_t.__staleWhileFetching:_t;qt!==void 0&&(Ee.oldValue=qt)}}else Ee&&(Ee.set="update")}if(we!==0&&!ke(this,A)&&Wt(this,re,mS).call(this),ke(this,A)&&(He||ke(this,fe).call(this,qe,we,Ae),Ee&&ke(this,X).call(this,Ee,qe)),!Le&&ke(this,j)&&ke(this,B)){let _t=ke(this,B),qt;for(;qt=_t==null?void 0:_t.shift();)(Ht=ke(this,S))==null||Ht.call(this,...qt)}return this}pop(){var N;try{for(;ke(this,_);){let U=ke(this,R)[ke(this,J)];if(Wt(this,re,Dv).call(this,!0),Wt(this,re,$r).call(this,U)){if(U.__staleWhileFetching)return U.__staleWhileFetching}else if(U!==void 0)return U}}finally{if(ke(this,j)&&ke(this,B)){let U=ke(this,B),de;for(;de=U==null?void 0:U.shift();)(N=ke(this,S))==null||N.call(this,...de)}}}has(N,U={}){let{updateAgeOnHas:de=this.updateAgeOnHas,status:we}=U,Ae=ke(this,O).get(N);if(Ae!==void 0){let Le=ke(this,R)[Ae];if(Wt(this,re,$r).call(this,Le)&&Le.__staleWhileFetching===void 0)return!1;if(ke(this,le).call(this,Ae))we&&(we.has="stale",ke(this,X).call(this,we,Ae));else return de&&ke(this,te).call(this,Ae),we&&(we.has="hit",ke(this,X).call(this,we,Ae)),!0}else we&&(we.has="miss");return!1}peek(N,U={}){let{allowStale:de=this.allowStale}=U,we=ke(this,O).get(N);if(we===void 0||!de&&ke(this,le).call(this,we))return;let Ae=ke(this,R)[we];return Wt(this,re,$r).call(this,Ae)?Ae.__staleWhileFetching:Ae}async fetch(N,U={}){let{allowStale:de=this.allowStale,updateAgeOnGet:we=this.updateAgeOnGet,noDeleteOnStaleGet:Ae=this.noDeleteOnStaleGet,ttl:Le=this.ttl,noDisposeOnSet:ue=this.noDisposeOnSet,size:Ee=0,sizeCalculation:He=this.sizeCalculation,noUpdateTTL:Xe=this.noUpdateTTL,noDeleteOnFetchRejection:qe=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:It=this.allowStaleOnFetchRejection,ignoreFetchAbort:We=this.ignoreFetchAbort,allowStaleOnFetchAbort:$e=this.allowStaleOnFetchAbort,context:ht,forceRefresh:Ht=!1,status:_t,signal:qt}=U;if(!ke(this,k))return _t&&(_t.fetch="get"),this.get(N,{allowStale:de,updateAgeOnGet:we,noDeleteOnStaleGet:Ae,status:_t});let nn={allowStale:de,updateAgeOnGet:we,noDeleteOnStaleGet:Ae,ttl:Le,noDisposeOnSet:ue,size:Ee,sizeCalculation:He,noUpdateTTL:Xe,noDeleteOnFetchRejection:qe,allowStaleOnFetchRejection:It,allowStaleOnFetchAbort:$e,ignoreFetchAbort:We,status:_t,signal:qt},kn=ke(this,O).get(N);if(kn===void 0){_t&&(_t.fetch="miss");let Jn=Wt(this,re,Lv).call(this,N,kn,nn,ht);return Jn.__returned=Jn}else{let Jn=ke(this,R)[kn];if(Wt(this,re,$r).call(this,Jn)){let ct=de&&Jn.__staleWhileFetching!==void 0;return _t&&(_t.fetch="inflight",ct&&(_t.returnedStale=!0)),ct?Jn.__staleWhileFetching:Jn.__returned=Jn}let oi=ke(this,le).call(this,kn);if(!Ht&&!oi)return _t&&(_t.fetch="hit"),Wt(this,re,N1).call(this,kn),we&&ke(this,te).call(this,kn),_t&&ke(this,X).call(this,_t,kn),Jn;let Se=Wt(this,re,Lv).call(this,N,kn,nn,ht),Oe=Se.__staleWhileFetching!==void 0&&de;return _t&&(_t.fetch=oi?"stale":"refresh",Oe&&oi&&(_t.returnedStale=!0)),Oe?Se.__staleWhileFetching:Se.__returned=Se}}async forceFetch(N,U={}){let de=await this.fetch(N,U);if(de===void 0)throw new Error("fetch() returned undefined");return de}memo(N,U={}){let de=ke(this,C);if(!de)throw new Error("no memoMethod provided to constructor");let{context:we,forceRefresh:Ae,...Le}=U,ue=this.get(N,Le);if(!Ae&&ue!==void 0)return ue;let Ee=de(N,ue,{options:Le,context:we});return this.set(N,Ee,Le),Ee}get(N,U={}){let{allowStale:de=this.allowStale,updateAgeOnGet:we=this.updateAgeOnGet,noDeleteOnStaleGet:Ae=this.noDeleteOnStaleGet,status:Le}=U,ue=ke(this,O).get(N);if(ue!==void 0){let Ee=ke(this,R)[ue],He=Wt(this,re,$r).call(this,Ee);return Le&&ke(this,X).call(this,Le,ue),ke(this,le).call(this,ue)?(Le&&(Le.get="stale"),He?(Le&&de&&Ee.__staleWhileFetching!==void 0&&(Le.returnedStale=!0),de?Ee.__staleWhileFetching:void 0):(Ae||Wt(this,re,rd).call(this,N,"expire"),Le&&de&&(Le.returnedStale=!0),de?Ee:void 0)):(Le&&(Le.get="hit"),He?Ee.__staleWhileFetching:(Wt(this,re,N1).call(this,ue),we&&ke(this,te).call(this,ue),Ee))}else Le&&(Le.get="miss")}delete(N){return Wt(this,re,rd).call(this,N,"delete")}clear(){return Wt(this,re,yS).call(this,"delete")}},v=new WeakMap,E=new WeakMap,b=new WeakMap,S=new WeakMap,w=new WeakMap,C=new WeakMap,_=new WeakMap,I=new WeakMap,O=new WeakMap,L=new WeakMap,R=new WeakMap,F=new WeakMap,W=new WeakMap,J=new WeakMap,Y=new WeakMap,M=new WeakMap,B=new WeakMap,q=new WeakMap,z=new WeakMap,A=new WeakMap,T=new WeakMap,k=new WeakMap,j=new WeakMap,re=new WeakSet,mS=function(){let N=new u(ke(this,v)),U=new u(ke(this,v));sn(this,A,N),sn(this,z,U),sn(this,fe,(Ae,Le,ue=t.now())=>{if(U[Ae]=Le!==0?ue:0,N[Ae]=Le,Le!==0&&this.ttlAutopurge){let Ee=setTimeout(()=>{ke(this,le).call(this,Ae)&&Wt(this,re,rd).call(this,ke(this,L)[Ae],"expire")},Le+1);Ee.unref&&Ee.unref()}}),sn(this,te,Ae=>{U[Ae]=N[Ae]!==0?t.now():0}),sn(this,X,(Ae,Le)=>{if(N[Le]){let ue=N[Le],Ee=U[Le];if(!ue||!Ee)return;Ae.ttl=ue,Ae.start=Ee,Ae.now=de||we();let He=Ae.now-Ee;Ae.remainingTTL=ue-He}});let de=0,we=()=>{let Ae=t.now();if(this.ttlResolution>0){de=Ae;let Le=setTimeout(()=>de=0,this.ttlResolution);Le.unref&&Le.unref()}return Ae};this.getRemainingTTL=Ae=>{let Le=ke(this,O).get(Ae);if(Le===void 0)return 0;let ue=N[Le],Ee=U[Le];if(!ue||!Ee)return 1/0;let He=(de||we())-Ee;return ue-He},sn(this,le,Ae=>{let Le=U[Ae],ue=N[Ae];return!!ue&&!!Le&&(de||we())-Le>ue})},te=new WeakMap,X=new WeakMap,fe=new WeakMap,le=new WeakMap,pY=function(){let N=new u(ke(this,v));sn(this,I,0),sn(this,q,N),sn(this,Z,U=>{sn(this,I,ke(this,I)-N[U]),N[U]=0}),sn(this,pe,(U,de,we,Ae)=>{if(Wt(this,re,$r).call(this,de))return 0;if(!c(we))if(Ae){if(typeof Ae!="function")throw new TypeError("sizeCalculation must be a function");if(we=Ae(de,U),!c(we))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return we}),sn(this,ae,(U,de,we)=>{if(N[U]=de,ke(this,E)){let Ae=ke(this,E)-N[U];for(;ke(this,I)>Ae;)Wt(this,re,Dv).call(this,!0)}sn(this,I,ke(this,I)+N[U]),we&&(we.entrySize=de,we.totalCalculatedSize=ke(this,I))})},Z=new WeakMap,ae=new WeakMap,pe=new WeakMap,td=function*({allowStale:N=this.allowStale}={}){if(ke(this,_))for(let U=ke(this,Y);!(!Wt(this,re,gS).call(this,U)||((N||!ke(this,le).call(this,U))&&(yield U),U===ke(this,J)));)U=ke(this,W)[U]},nd=function*({allowStale:N=this.allowStale}={}){if(ke(this,_))for(let U=ke(this,J);!(!Wt(this,re,gS).call(this,U)||((N||!ke(this,le).call(this,U))&&(yield U),U===ke(this,Y)));)U=ke(this,F)[U]},gS=function(N){return N!==void 0&&ke(this,O).get(ke(this,L)[N])===N},Dv=function(N){var Ae,Le;let U=ke(this,J),de=ke(this,L)[U],we=ke(this,R)[U];return ke(this,k)&&Wt(this,re,$r).call(this,we)?we.__abortController.abort(new Error("evicted")):(ke(this,T)||ke(this,j))&&(ke(this,T)&&((Ae=ke(this,b))==null||Ae.call(this,we,de,"evict")),ke(this,j)&&((Le=ke(this,B))==null||Le.push([we,de,"evict"]))),ke(this,Z).call(this,U),N&&(ke(this,L)[U]=void 0,ke(this,R)[U]=void 0,ke(this,M).push(U)),ke(this,_)===1?(sn(this,J,sn(this,Y,0)),ke(this,M).length=0):sn(this,J,ke(this,F)[U]),ke(this,O).delete(de),d2(this,_)._--,U},Lv=function(N,U,de,we){let Ae=U===void 0?void 0:ke(this,R)[U];if(Wt(this,re,$r).call(this,Ae))return Ae;let Le=new o,{signal:ue}=de;ue==null||ue.addEventListener("abort",()=>Le.abort(ue.reason),{signal:Le.signal});let Ee={signal:Le.signal,options:de,context:we},He=(ht,Ht=!1)=>{let{aborted:_t}=Le.signal,qt=de.ignoreFetchAbort&&ht!==void 0;if(de.status&&(_t&&!Ht?(de.status.fetchAborted=!0,de.status.fetchError=Le.signal.reason,qt&&(de.status.fetchAbortIgnored=!0)):de.status.fetchResolved=!0),_t&&!qt&&!Ht)return qe(Le.signal.reason);let nn=We;return ke(this,R)[U]===We&&(ht===void 0?nn.__staleWhileFetching?ke(this,R)[U]=nn.__staleWhileFetching:Wt(this,re,rd).call(this,N,"fetch"):(de.status&&(de.status.fetchUpdated=!0),this.set(N,ht,Ee.options))),ht},Xe=ht=>(de.status&&(de.status.fetchRejected=!0,de.status.fetchError=ht),qe(ht)),qe=ht=>{let{aborted:Ht}=Le.signal,_t=Ht&&de.allowStaleOnFetchAbort,qt=_t||de.allowStaleOnFetchRejection,nn=qt||de.noDeleteOnFetchRejection,kn=We;if(ke(this,R)[U]===We&&(!nn||kn.__staleWhileFetching===void 0?Wt(this,re,rd).call(this,N,"fetch"):_t||(ke(this,R)[U]=kn.__staleWhileFetching)),qt)return de.status&&kn.__staleWhileFetching!==void 0&&(de.status.returnedStale=!0),kn.__staleWhileFetching;if(kn.__returned===kn)throw ht},It=(ht,Ht)=>{var qt;let _t=(qt=ke(this,w))==null?void 0:qt.call(this,N,Ae,Ee);_t&&_t instanceof Promise&&_t.then(nn=>ht(nn===void 0?void 0:nn),Ht),Le.signal.addEventListener("abort",()=>{(!de.ignoreFetchAbort||de.allowStaleOnFetchAbort)&&(ht(void 0),de.allowStaleOnFetchAbort&&(ht=nn=>He(nn,!0)))})};de.status&&(de.status.fetchDispatched=!0);let We=new Promise(It).then(He,Xe),$e=Object.assign(We,{__abortController:Le,__staleWhileFetching:Ae,__returned:void 0});return U===void 0?(this.set(N,$e,{...Ee.options,status:void 0}),U=ke(this,O).get(N)):ke(this,R)[U]=$e,$e},$r=function(N){if(!ke(this,k))return!1;let U=N;return!!U&&U instanceof Promise&&U.hasOwnProperty("__staleWhileFetching")&&U.__abortController instanceof o},vS=function(N,U){ke(this,W)[U]=N,ke(this,F)[N]=U},N1=function(N){N!==ke(this,Y)&&(N===ke(this,J)?sn(this,J,ke(this,F)[N]):Wt(this,re,vS).call(this,ke(this,W)[N],ke(this,F)[N]),Wt(this,re,vS).call(this,ke(this,Y),N),sn(this,Y,N))},rd=function(N,U){var we,Ae,Le,ue;let de=!1;if(ke(this,_)!==0){let Ee=ke(this,O).get(N);if(Ee!==void 0)if(de=!0,ke(this,_)===1)Wt(this,re,yS).call(this,U);else{ke(this,Z).call(this,Ee);let He=ke(this,R)[Ee];if(Wt(this,re,$r).call(this,He)?He.__abortController.abort(new Error("deleted")):(ke(this,T)||ke(this,j))&&(ke(this,T)&&((we=ke(this,b))==null||we.call(this,He,N,U)),ke(this,j)&&((Ae=ke(this,B))==null||Ae.push([He,N,U]))),ke(this,O).delete(N),ke(this,L)[Ee]=void 0,ke(this,R)[Ee]=void 0,Ee===ke(this,Y))sn(this,Y,ke(this,W)[Ee]);else if(Ee===ke(this,J))sn(this,J,ke(this,F)[Ee]);else{let Xe=ke(this,W)[Ee];ke(this,F)[Xe]=ke(this,F)[Ee];let qe=ke(this,F)[Ee];ke(this,W)[qe]=ke(this,W)[Ee]}d2(this,_)._--,ke(this,M).push(Ee)}}if(ke(this,j)&&((Le=ke(this,B))!=null&&Le.length)){let Ee=ke(this,B),He;for(;He=Ee==null?void 0:Ee.shift();)(ue=ke(this,S))==null||ue.call(this,...He)}return de},yS=function(N){var U,de,we;for(let Ae of Wt(this,re,nd).call(this,{allowStale:!0})){let Le=ke(this,R)[Ae];if(Wt(this,re,$r).call(this,Le))Le.__abortController.abort(new Error("deleted"));else{let ue=ke(this,L)[Ae];ke(this,T)&&((U=ke(this,b))==null||U.call(this,Le,ue,N)),ke(this,j)&&((de=ke(this,B))==null||de.push([Le,ue,N]))}}if(ke(this,O).clear(),ke(this,R).fill(void 0),ke(this,L).fill(void 0),ke(this,A)&&ke(this,z)&&(ke(this,A).fill(0),ke(this,z).fill(0)),ke(this,q)&&ke(this,q).fill(0),sn(this,J,0),sn(this,Y,0),ke(this,M).length=0,sn(this,I,0),sn(this,_,0),ke(this,j)&&ke(this,B)){let Ae=ke(this,B),Le;for(;Le=Ae==null?void 0:Ae.shift();)(we=ke(this,S))==null||we.call(this,...Le)}},Ne);e.LRUCache=f}),Ou=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.ContainerIterator=e.Container=e.Base=void 0;var t=class{constructor(i=0){this.iteratorType=i}equals(i){return this.o===i.o}};e.ContainerIterator=t;var n=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};e.Base=n;var r=class extends n{};e.Container=r}),uSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=Ou(),n=class extends t.Base{constructor(i=[]){super(),this.S=[];let o=this;i.forEach(function(s){o.push(s)})}clear(){this.i=0,this.S=[]}push(i){return this.S.push(i),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},r=n;e.default=r}),dSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=Ou(),n=class extends t.Base{constructor(i=[]){super(),this.j=0,this.q=[];let o=this;i.forEach(function(s){o.push(s)})}clear(){this.q=[],this.i=this.j=0}push(i){let o=this.q.length;if(this.j/o>.5&&this.j+this.i>=o&&o>4096){let s=this.i;for(let a=0;a<s;++a)this.q[a]=this.q[this.j+a];this.j=0,this.q[this.i]=i}else this.q[this.j+this.i]=i;return++this.i}pop(){if(this.i===0)return;let i=this.q[this.j++];return this.i-=1,i}front(){if(this.i!==0)return this.q[this.j]}},r=n;e.default=r}),fSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=Ou(),n=class extends t.Base{constructor(i=[],o=function(a,c){return a>c?-1:a<c?1:0},s=!0){if(super(),this.v=o,Array.isArray(i))this.C=s?[...i]:i;else{this.C=[];let c=this;i.forEach(function(l){c.C.push(l)})}this.i=this.C.length;let a=this.i>>1;for(let c=this.i-1>>1;c>=0;--c)this.k(c,a)}m(i){let o=this.C[i];for(;i>0;){let s=i-1>>1,a=this.C[s];if(this.v(a,o)<=0)break;this.C[i]=a,i=s}this.C[i]=o}k(i,o){let s=this.C[i];for(;i<o;){let a=i<<1|1,c=a+1,l=this.C[a];if(c<this.i&&this.v(l,this.C[c])>0&&(a=c,l=this.C[c]),this.v(l,s)>=0)break;this.C[i]=l,i=a}this.C[i]=s}clear(){this.i=0,this.C.length=0}push(i){this.C.push(i),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let i=this.C[0],o=this.C.pop();return this.i-=1,this.i&&(this.C[0]=o,this.k(0,this.i>>1)),i}top(){return this.C[0]}find(i){return this.C.indexOf(i)>=0}remove(i){let o=this.C.indexOf(i);return o<0?!1:(o===0?this.pop():o===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(o,1,this.C.pop()),this.i-=1,this.m(o),this.k(o,this.i>>1)),!0)}updateItem(i){let o=this.C.indexOf(i);return o<0?!1:(this.m(o),this.k(o,this.i>>1),!0)}toArray(){return[...this.C]}},r=n;e.default=r}),hT=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=Ou(),n=class extends t.Container{},r=n;e.default=r}),_u=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),mY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.RandomIterator=void 0;var t=Ou(),n=_u(),r=class extends t.ContainerIterator{constructor(i,o){super(o),this.o=i,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,n.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,n.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,n.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,n.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(i){this.container.setElementByPos(this.o,i)}};e.RandomIterator=r}),hSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=r(hT()),n=mY();function r(a){return a&&a.t?a:{default:a}}var i=class gY extends n.RandomIterator{constructor(c,l,u){super(c,u),this.container=l}copy(){return new gY(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(a=[],c=!0){if(super(),Array.isArray(a))this.J=c?[...a]:a,this.i=a.length;else{this.J=[];let l=this;a.forEach(function(u){l.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new i(0,this)}end(){return new i(this.i,this)}rBegin(){return new i(this.i-1,this,1)}rEnd(){return new i(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;return this.J[a]}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;return this.J.splice(a,1),this.i-=1,this.i}eraseElementByValue(a){let c=0;for(let l=0;l<this.i;++l)this.J[l]!==a&&(this.J[c++]=this.J[l]);return this.i=this.J.length=c,this.i}eraseElementByIterator(a){let c=a.o;return a=a.next(),this.eraseElementByPos(c),a}pushBack(a){return this.J.push(a),this.i+=1,this.i}popBack(){if(this.i!==0)return this.i-=1,this.J.pop()}setElementByPos(a,c){if(a<0||a>this.i-1)throw new RangeError;this.J[a]=c}insert(a,c,l=1){if(a<0||a>this.i)throw new RangeError;return this.J.splice(a,0,...new Array(l).fill(c)),this.i+=l,this.i}find(a){for(let c=0;c<this.i;++c)if(this.J[c]===a)return new i(c,this);return this.end()}reverse(){this.J.reverse()}unique(){let a=1;for(let c=1;c<this.i;++c)this.J[c]!==this.J[c-1]&&(this.J[a++]=this.J[c]);return this.i=this.J.length=a,this.i}sort(a){this.J.sort(a)}forEach(a){for(let c=0;c<this.i;++c)a(this.J[c],c,this)}[Symbol.iterator](){return(function*(){yield*this.J}).bind(this)()}},s=o;e.default=s}),pSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=i(hT()),n=Ou(),r=_u();function i(c){return c&&c.t?c:{default:c}}var o=class vY extends n.ContainerIterator{constructor(l,u,d,f){super(f),this.o=l,this.h=u,this.container=d,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.l}set pointer(l){this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.l=l}copy(){return new vY(this.o,this.h,this.container,this.iteratorType)}},s=class extends t.default{constructor(c=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let l=this;c.forEach(function(u){l.pushBack(u)})}V(c){let{L:l,B:u}=c;l.B=u,u.L=l,c===this.p&&(this.p=u),c===this._&&(this._=l),this.i-=1}G(c,l){let u=l.B,d={l:c,L:l,B:u};l.B=d,u.L=d,l===this.h&&(this.p=d),u===this.h&&(this._=d),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(c){if(c<0||c>this.i-1)throw new RangeError;let l=this.p;for(;c--;)l=l.B;return l.l}eraseElementByPos(c){if(c<0||c>this.i-1)throw new RangeError;let l=this.p;for(;c--;)l=l.B;return this.V(l),this.i}eraseElementByValue(c){let l=this.p;for(;l!==this.h;)l.l===c&&this.V(l),l=l.B;return this.i}eraseElementByIterator(c){let l=c.o;return l===this.h&&(0,r.throwIteratorAccessError)(),c=c.next(),this.V(l),c}pushBack(c){return this.G(c,this._),this.i}popBack(){if(this.i===0)return;let c=this._.l;return this.V(this._),c}pushFront(c){return this.G(c,this.h),this.i}popFront(){if(this.i===0)return;let c=this.p.l;return this.V(this.p),c}setElementByPos(c,l){if(c<0||c>this.i-1)throw new RangeError;let u=this.p;for(;c--;)u=u.B;u.l=l}insert(c,l,u=1){if(c<0||c>this.i)throw new RangeError;if(u<=0)return this.i;if(c===0)for(;u--;)this.pushFront(l);else if(c===this.i)for(;u--;)this.pushBack(l);else{let d=this.p;for(let h=1;h<c;++h)d=d.B;let f=d.B;for(this.i+=u;u--;)d.B={l,L:d},d.B.L=d,d=d.B;d.B=f,f.L=d}return this.i}find(c){let l=this.p;for(;l!==this.h;){if(l.l===c)return new o(l,this.h,this);l=l.B}return this.end()}reverse(){if(this.i<=1)return;let c=this.p,l=this._,u=0;for(;u<<1<this.i;){let d=c.l;c.l=l.l,l.l=d,c=c.B,l=l.L,u+=1}}unique(){if(this.i<=1)return this.i;let c=this.p;for(;c!==this.h;){let l=c;for(;l.B!==this.h&&l.l===l.B.l;)l=l.B,this.i-=1;c.B=l.B,c.B.L=c,c=c.B}return this.i}sort(c){if(this.i<=1)return;let l=[];this.forEach(function(d){l.push(d)}),l.sort(c);let u=this.p;l.forEach(function(d){u.l=d,u=u.B})}merge(c){let l=this;if(this.i===0)c.forEach(function(u){l.pushBack(u)});else{let u=this.p;c.forEach(function(d){for(;u!==l.h&&u.l<=d;)u=u.B;l.G(d,u.L)})}return this.i}forEach(c){let l=this.p,u=0;for(;l!==this.h;)c(l.l,u++,this),l=l.B}[Symbol.iterator](){return(function*(){if(this.i===0)return;let c=this.p;for(;c!==this.h;)yield c.l,c=c.B}).bind(this)()}},a=s;e.default=a}),mSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=r(hT()),n=mY();function r(a){return a&&a.t?a:{default:a}}var i=class yY extends n.RandomIterator{constructor(c,l,u){super(c,u),this.container=l}copy(){return new yY(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(a=[],c=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let l=(()=>{if(typeof a.length=="number")return a.length;if(typeof a.size=="number")return a.size;if(typeof a.size=="function")return a.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=c,this.P=Math.max(Math.ceil(l/this.F),1);for(let f=0;f<this.P;++f)this.A.push(new Array(this.F));let u=Math.ceil(l/this.F);this.j=this.R=(this.P>>1)-(u>>1),this.D=this.N=this.F-l%this.F>>1;let d=this;a.forEach(function(f){d.pushBack(f)})}T(){let a=[],c=Math.max(this.P>>1,1);for(let l=0;l<c;++l)a[l]=new Array(this.F);for(let l=this.j;l<this.P;++l)a[a.length]=this.A[l];for(let l=0;l<this.R;++l)a[a.length]=this.A[l];a[a.length]=[...this.A[this.R]],this.j=c,this.R=a.length-1;for(let l=0;l<c;++l)a[a.length]=new Array(this.F);this.A=a,this.P=a.length}O(a){let c=this.D+a+1,l=c%this.F,u=l-1,d=this.j+(c-l)/this.F;return l===0&&(d-=1),d%=this.P,u<0&&(u+=this.F),{curNodeBucketIndex:d,curNodePointerIndex:u}}clear(){this.A=[new Array(this.F)],this.P=1,this.j=this.R=this.i=0,this.D=this.N=this.F>>1}begin(){return new i(0,this)}end(){return new i(this.i,this)}rBegin(){return new i(this.i-1,this,1)}rEnd(){return new i(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(a){return this.i&&(this.N<this.F-1?this.N+=1:this.R<this.P-1?(this.R+=1,this.N=0):(this.R=0,this.N=0),this.R===this.j&&this.N===this.D&&this.T()),this.i+=1,this.A[this.R][this.N]=a,this.i}popBack(){if(this.i===0)return;let a=this.A[this.R][this.N];return this.i!==1&&(this.N>0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,a}pushFront(a){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=a,this.i}popFront(){if(this.i===0)return;let a=this.A[this.j][this.D];return this.i!==1&&(this.D<this.F-1?this.D+=1:this.j<this.P-1?(this.j+=1,this.D=0):(this.j=0,this.D=0)),this.i-=1,a}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let{curNodeBucketIndex:c,curNodePointerIndex:l}=this.O(a);return this.A[c][l]}setElementByPos(a,c){if(a<0||a>this.i-1)throw new RangeError;let{curNodeBucketIndex:l,curNodePointerIndex:u}=this.O(a);this.A[l][u]=c}insert(a,c,l=1){if(a<0||a>this.i)throw new RangeError;if(a===0)for(;l--;)this.pushFront(c);else if(a===this.i)for(;l--;)this.pushBack(c);else{let u=[];for(let d=a;d<this.i;++d)u.push(this.getElementByPos(d));this.cut(a-1);for(let d=0;d<l;++d)this.pushBack(c);for(let d=0;d<u.length;++d)this.pushBack(u[d])}return this.i}cut(a){if(a<0)return this.clear(),0;let{curNodeBucketIndex:c,curNodePointerIndex:l}=this.O(a);return this.R=c,this.N=l,this.i=a+1,this.i}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;if(a===0)this.popFront();else if(a===this.i-1)this.popBack();else{let c=[];for(let u=a+1;u<this.i;++u)c.push(this.getElementByPos(u));this.cut(a),this.popBack();let l=this;c.forEach(function(u){l.pushBack(u)})}return this.i}eraseElementByValue(a){if(this.i===0)return 0;let c=[];for(let u=0;u<this.i;++u){let d=this.getElementByPos(u);d!==a&&c.push(d)}let l=c.length;for(let u=0;u<l;++u)this.setElementByPos(u,c[u]);return this.cut(l-1)}eraseElementByIterator(a){let c=a.o;return this.eraseElementByPos(c),a=a.next(),a}find(a){for(let c=0;c<this.i;++c)if(this.getElementByPos(c)===a)return new i(c,this);return this.end()}reverse(){let a=0,c=this.i-1;for(;a<c;){let l=this.getElementByPos(a);this.setElementByPos(a,this.getElementByPos(c)),this.setElementByPos(c,l),a+=1,c-=1}}unique(){if(this.i<=1)return this.i;let a=1,c=this.getElementByPos(0);for(let l=1;l<this.i;++l){let u=this.getElementByPos(l);u!==c&&(c=u,this.setElementByPos(a++,u))}for(;this.i>a;)this.popBack();return this.i}sort(a){let c=[];for(let l=0;l<this.i;++l)c.push(this.getElementByPos(l));c.sort(a);for(let l=0;l<this.i;++l)this.setElementByPos(l,c[l])}shrinkToFit(){if(this.i===0)return;let a=[];this.forEach(function(c){a.push(c)}),this.P=Math.max(Math.ceil(this.i/this.F),1),this.i=this.j=this.R=this.D=this.N=0,this.A=[];for(let c=0;c<this.P;++c)this.A.push(new Array(this.F));for(let c=0;c<a.length;++c)this.pushBack(a[c])}forEach(a){for(let c=0;c<this.i;++c)a(this.getElementByPos(c),c,this)}[Symbol.iterator](){return(function*(){for(let a=0;a<this.i;++a)yield this.getElementByPos(a)}).bind(this)()}},s=o;e.default=s}),gSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.TreeNodeEnableIndex=e.TreeNode=void 0;var t=class{constructor(r,i){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=r,this.l=i}L(){let r=this;if(r.ee===1&&r.tt.tt===r)r=r.W;else if(r.U)for(r=r.U;r.W;)r=r.W;else{let i=r.tt;for(;i.U===r;)r=i,i=r.tt;r=i}return r}B(){let r=this;if(r.W){for(r=r.W;r.U;)r=r.U;return r}else{let i=r.tt;for(;i.W===r;)r=i,i=r.tt;return r.W!==i?i:r}}te(){let r=this.tt,i=this.W,o=i.U;return r.tt===this?r.tt=i:r.U===this?r.U=i:r.W=i,i.tt=r,i.U=this,this.tt=i,this.W=o,o&&(o.tt=this),i}se(){let r=this.tt,i=this.U,o=i.W;return r.tt===this?r.tt=i:r.U===this?r.U=i:r.W=i,i.tt=r,i.W=this,this.tt=i,this.U=o,o&&(o.tt=this),i}};e.TreeNode=t;var n=class extends t{constructor(){super(...arguments),this.rt=1}te(){let r=super.te();return this.ie(),r.ie(),r}se(){let r=super.se();return this.ie(),r.ie(),r}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};e.TreeNodeEnableIndex=n}),EY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=gSe(),n=Ou(),r=_u(),i=class extends n.Container{constructor(s=function(c,l){return c<l?-1:c>l?1:0},a=!1){super(),this.Y=void 0,this.v=s,a?(this.re=t.TreeNodeEnableIndex,this.M=function(c,l,u){let d=this.ne(c,l,u);if(d){let f=d.tt;for(;f!==this.h;)f.rt+=1,f=f.tt;let h=this.he(d);if(h){let{parentNode:p,grandParent:g,curNode:m}=h;p.ie(),g.ie(),m.ie()}}return this.i},this.V=function(c){let l=this.fe(c);for(;l!==this.h;)l.rt-=1,l=l.tt}):(this.re=t.TreeNode,this.M=function(c,l,u){let d=this.ne(c,l,u);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(s,a){let c=this.h;for(;s;){let l=this.v(s.u,a);if(l<0)s=s.W;else if(l>0)c=s,s=s.U;else return s}return c}Z(s,a){let c=this.h;for(;s;)this.v(s.u,a)<=0?s=s.W:(c=s,s=s.U);return c}$(s,a){let c=this.h;for(;s;){let l=this.v(s.u,a);if(l<0)c=s,s=s.W;else if(l>0)s=s.U;else return s}return c}rr(s,a){let c=this.h;for(;s;)this.v(s.u,a)<0?(c=s,s=s.W):s=s.U;return c}ue(s){for(;;){let a=s.tt;if(a===this.h)return;if(s.ee===1){s.ee=0;return}if(s===a.U){let c=a.W;if(c.ee===1)c.ee=0,a.ee=1,a===this.Y?this.Y=a.te():a.te();else if(c.W&&c.W.ee===1){c.ee=a.ee,a.ee=0,c.W.ee=0,a===this.Y?this.Y=a.te():a.te();return}else c.U&&c.U.ee===1?(c.ee=1,c.U.ee=0,c.se()):(c.ee=1,s=a)}else{let c=a.U;if(c.ee===1)c.ee=0,a.ee=1,a===this.Y?this.Y=a.se():a.se();else if(c.U&&c.U.ee===1){c.ee=a.ee,a.ee=0,c.U.ee=0,a===this.Y?this.Y=a.se():a.se();return}else c.W&&c.W.ee===1?(c.ee=1,c.W.ee=0,c.te()):(c.ee=1,s=a)}}}fe(s){if(this.i===1)return this.clear(),this.h;let a=s;for(;a.U||a.W;){if(a.W)for(a=a.W;a.U;)a=a.U;else a=a.U;[s.u,a.u]=[a.u,s.u],[s.l,a.l]=[a.l,s.l],s=a}this.h.U===a?this.h.U=a.tt:this.h.W===a&&(this.h.W=a.tt),this.ue(a);let c=a.tt;return a===c.U?c.U=void 0:c.W=void 0,this.i-=1,this.Y.ee=0,c}oe(s,a){return s===void 0?!1:this.oe(s.U,a)||a(s)?!0:this.oe(s.W,a)}he(s){for(;;){let a=s.tt;if(a.ee===0)return;let c=a.tt;if(a===c.U){let l=c.W;if(l&&l.ee===1){if(l.ee=a.ee=0,c===this.Y)return;c.ee=1,s=c;continue}else if(s===a.W){if(s.ee=0,s.U&&(s.U.tt=a),s.W&&(s.W.tt=c),a.W=s.U,c.U=s.W,s.U=a,s.W=c,c===this.Y)this.Y=s,this.h.tt=s;else{let u=c.tt;u.U===c?u.U=s:u.W=s}return s.tt=c.tt,a.tt=s,c.tt=s,c.ee=1,{parentNode:a,grandParent:c,curNode:s}}else a.ee=0,c===this.Y?this.Y=c.se():c.se(),c.ee=1}else{let l=c.U;if(l&&l.ee===1){if(l.ee=a.ee=0,c===this.Y)return;c.ee=1,s=c;continue}else if(s===a.U){if(s.ee=0,s.U&&(s.U.tt=c),s.W&&(s.W.tt=a),c.W=s.U,a.U=s.W,s.U=c,s.W=a,c===this.Y)this.Y=s,this.h.tt=s;else{let u=c.tt;u.U===c?u.U=s:u.W=s}return s.tt=c.tt,a.tt=s,c.tt=s,c.ee=1,{parentNode:a,grandParent:c,curNode:s}}else a.ee=0,c===this.Y?this.Y=c.te():c.te(),c.ee=1}return}}ne(s,a,c){if(this.Y===void 0){this.i+=1,this.Y=new this.re(s,a),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let l,u=this.h.U,d=this.v(u.u,s);if(d===0){u.l=a;return}else if(d>0)u.U=new this.re(s,a),u.U.tt=u,l=u.U,this.h.U=l;else{let f=this.h.W,h=this.v(f.u,s);if(h===0){f.l=a;return}else if(h<0)f.W=new this.re(s,a),f.W.tt=f,l=f.W,this.h.W=l;else{if(c!==void 0){let p=c.o;if(p!==this.h){let g=this.v(p.u,s);if(g===0){p.l=a;return}else if(g>0){let m=p.L(),y=this.v(m.u,s);if(y===0){m.l=a;return}else y<0&&(l=new this.re(s,a),m.W===void 0?(m.W=l,l.tt=m):(p.U=l,l.tt=p))}}}if(l===void 0)for(l=this.Y;;){let p=this.v(l.u,s);if(p>0){if(l.U===void 0){l.U=new this.re(s,a),l.U.tt=l,l=l.U;break}l=l.U}else if(p<0){if(l.W===void 0){l.W=new this.re(s,a),l.W.tt=l,l=l.W;break}l=l.W}else{l.l=a;return}}}}return this.i+=1,l}I(s,a){for(;s;){let c=this.v(s.u,a);if(c<0)s=s.W;else if(c>0)s=s.U;else return s}return s||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(s,a){let c=s.o;if(c===this.h&&(0,r.throwIteratorAccessError)(),this.i===1)return c.u=a,!0;if(c===this.h.U)return this.v(c.B().u,a)>0?(c.u=a,!0):!1;if(c===this.h.W)return this.v(c.L().u,a)<0?(c.u=a,!0):!1;let l=c.L().u;if(this.v(l,a)>=0)return!1;let u=c.B().u;return this.v(u,a)<=0?!1:(c.u=a,!0)}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let a=0,c=this;return this.oe(this.Y,function(l){return s===a?(c.V(l),!0):(a+=1,!1)}),this.i}eraseElementByKey(s){if(this.i===0)return!1;let a=this.I(this.Y,s);return a===this.h?!1:(this.V(a),!0)}eraseElementByIterator(s){let a=s.o;a===this.h&&(0,r.throwIteratorAccessError)();let c=a.W===void 0;return s.iteratorType===0?c&&s.next():(!c||a.U===void 0)&&s.next(),this.V(a),s}forEach(s){let a=0;for(let c of this)s(c,a++,this)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let a,c=0;for(let l of this){if(c===s){a=l;break}c+=1}return a}getHeight(){if(this.i===0)return 0;let s=function(a){return a?Math.max(s(a.U),s(a.W))+1:0};return s(this.Y)}},o=i;e.default=o}),bY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=Ou(),n=_u(),r=class extends t.ContainerIterator{constructor(o,s,a){super(a),this.o=o,this.h=s,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,n.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,n.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let o=this.o,s=this.h.tt;if(o===this.h)return s?s.rt-1:0;let a=0;for(o.U&&(a+=o.U.rt);o!==s;){let c=o.tt;o===c.W&&(a+=1,c.U&&(a+=c.U.rt)),o=c}return a}},i=r;e.default=i}),vSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=i(EY()),n=i(bY()),r=_u();function i(c){return c&&c.t?c:{default:c}}var o=class SY extends n.default{constructor(l,u,d,f){super(l,u,f),this.container=d}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new SY(this.o,this.h,this.container,this.iteratorType)}},s=class extends t.default{constructor(c=[],l,u){super(l,u);let d=this;c.forEach(function(f){d.insert(f)})}*K(c){c!==void 0&&(yield*this.K(c.U),yield c.u,yield*this.K(c.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(c,l){return this.M(c,void 0,l)}find(c){let l=this.I(this.Y,c);return new o(l,this.h,this)}lowerBound(c){let l=this.X(this.Y,c);return new o(l,this.h,this)}upperBound(c){let l=this.Z(this.Y,c);return new o(l,this.h,this)}reverseLowerBound(c){let l=this.$(this.Y,c);return new o(l,this.h,this)}reverseUpperBound(c){let l=this.rr(this.Y,c);return new o(l,this.h,this)}union(c){let l=this;return c.forEach(function(u){l.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},a=s;e.default=a}),ySe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=i(EY()),n=i(bY()),r=_u();function i(c){return c&&c.t?c:{default:c}}var o=class AY extends n.default{constructor(l,u,d,f){super(l,u,f),this.container=d}get pointer(){this.o===this.h&&(0,r.throwIteratorAccessError)();let l=this;return new Proxy([],{get(u,d){if(d==="0")return l.o.u;if(d==="1")return l.o.l},set(u,d,f){if(d!=="1")throw new TypeError("props must be 1");return l.o.l=f,!0}})}copy(){return new AY(this.o,this.h,this.container,this.iteratorType)}},s=class extends t.default{constructor(c=[],l,u){super(l,u);let d=this;c.forEach(function(f){d.setElement(f[0],f[1])})}*K(c){c!==void 0&&(yield*this.K(c.U),yield[c.u,c.l],yield*this.K(c.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let c=this.h.U;return[c.u,c.l]}back(){if(this.i===0)return;let c=this.h.W;return[c.u,c.l]}lowerBound(c){let l=this.X(this.Y,c);return new o(l,this.h,this)}upperBound(c){let l=this.Z(this.Y,c);return new o(l,this.h,this)}reverseLowerBound(c){let l=this.$(this.Y,c);return new o(l,this.h,this)}reverseUpperBound(c){let l=this.rr(this.Y,c);return new o(l,this.h,this)}setElement(c,l,u){return this.M(c,l,u)}find(c){let l=this.I(this.Y,c);return new o(l,this.h,this)}getElementByKey(c){return this.I(this.Y,c).l}union(c){let l=this;return c.forEach(function(u){l.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},a=s;e.default=a}),CY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=t;function t(n){let r=typeof n;return r==="object"&&n!==null||r==="function"}}),wY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.HashContainerIterator=e.HashContainer=void 0;var t=Ou(),n=i(CY()),r=_u();function i(a){return a&&a.t?a:{default:a}}var o=class extends t.ContainerIterator{constructor(a,c,l){super(l),this.o=a,this.h=c,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L,this})}};e.HashContainerIterator=o;var s=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(a){let{L:c,B:l}=a;c.B=l,l.L=c,a===this.p&&(this.p=l),a===this._&&(this._=c),this.i-=1}M(a,c,l){l===void 0&&(l=(0,n.default)(a));let u;if(l){let d=a[this.HASH_TAG];if(d!==void 0)return this.H[d].l=c,this.i;Object.defineProperty(a,this.HASH_TAG,{value:this.H.length,configurable:!0}),u={u:a,l:c,L:this._,B:this.h},this.H.push(u)}else{let d=this.g[a];if(d)return d.l=c,this.i;u={u:a,l:c,L:this._,B:this.h},this.g[a]=u}return this.i===0?(this.p=u,this.h.B=u):this._.B=u,this._=u,this.h.L=u,++this.i}I(a,c){if(c===void 0&&(c=(0,n.default)(a)),c){let l=a[this.HASH_TAG];return l===void 0?this.h:this.H[l]}else return this.g[a]||this.h}clear(){let a=this.HASH_TAG;this.H.forEach(function(c){delete c.u[a]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(a,c){let l;if(c===void 0&&(c=(0,n.default)(a)),c){let u=a[this.HASH_TAG];if(u===void 0)return!1;delete a[this.HASH_TAG],l=this.H[u],delete this.H[u]}else{if(l=this.g[a],l===void 0)return!1;delete this.g[a]}return this.V(l),!0}eraseElementByIterator(a){let c=a.o;return c===this.h&&(0,r.throwIteratorAccessError)(),this.V(c),a.next()}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let c=this.p;for(;a--;)c=c.B;return this.V(c),this.i}};e.HashContainer=s}),ESe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=wY(),n=_u(),r=class TY extends t.HashContainerIterator{constructor(a,c,l,u){super(a,c,u),this.container=l}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new TY(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.HashContainer{constructor(s=[]){super();let a=this;s.forEach(function(c){a.insert(c)})}begin(){return new r(this.p,this.h,this)}end(){return new r(this.h,this.h,this)}rBegin(){return new r(this._,this.h,this,1)}rEnd(){return new r(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(s,a){return this.M(s,void 0,a)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let a=this.p;for(;s--;)a=a.B;return a.u}find(s,a){let c=this.I(s,a);return new r(c,this.h,this)}forEach(s){let a=0,c=this.p;for(;c!==this.h;)s(c.u,a++,this),c=c.B}[Symbol.iterator](){return(function*(){let s=this.p;for(;s!==this.h;)yield s.u,s=s.B}).bind(this)()}},o=i;e.default=o}),bSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),e.default=void 0;var t=wY(),n=i(CY()),r=_u();function i(c){return c&&c.t?c:{default:c}}var o=class IY extends t.HashContainerIterator{constructor(l,u,d,f){super(l,u,f),this.container=d}get pointer(){this.o===this.h&&(0,r.throwIteratorAccessError)();let l=this;return new Proxy([],{get(u,d){if(d==="0")return l.o.u;if(d==="1")return l.o.l},set(u,d,f){if(d!=="1")throw new TypeError("props must be 1");return l.o.l=f,!0}})}copy(){return new IY(this.o,this.h,this.container,this.iteratorType)}},s=class extends t.HashContainer{constructor(c=[]){super();let l=this;c.forEach(function(u){l.setElement(u[0],u[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(c,l,u){return this.M(c,l,u)}getElementByKey(c,l){if(l===void 0&&(l=(0,n.default)(c)),l){let d=c[this.HASH_TAG];return d!==void 0?this.H[d].l:void 0}let u=this.g[c];return u?u.l:void 0}getElementByPos(c){if(c<0||c>this.i-1)throw new RangeError;let l=this.p;for(;c--;)l=l.B;return[l.u,l.l]}find(c,l){let u=this.I(c,l);return new o(u,this.h,this)}forEach(c){let l=0,u=this.p;for(;u!==this.h;)c([u.u,u.l],l++,this),u=u.B}[Symbol.iterator](){return(function*(){let c=this.p;for(;c!==this.h;)yield[c.u,c.l],c=c.B}).bind(this)()}},a=s;e.default=a}),SSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"t",{value:!0}),Object.defineProperty(e,"Deque",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"HashMap",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"HashSet",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"OrderedMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"OrderedSet",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"PriorityQueue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"Queue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"Vector",{enumerable:!0,get:function(){return i.default}});var t=d(uSe()),n=d(dSe()),r=d(fSe()),i=d(hSe()),o=d(pSe()),s=d(mSe()),a=d(vSe()),c=d(ySe()),l=d(ESe()),u=d(bSe());function d(f){return f&&f.t?f:{default:f}}}),ASe=st((e,t)=>{tt(),rt(),nt();var n=SSe().OrderedSet,r=bu()("number-allocator:trace"),i=bu()("number-allocator:error");function o(a,c){this.low=a,this.high=c}o.prototype.equals=function(a){return this.low===a.low&&this.high===a.high},o.prototype.compare=function(a){return this.low<a.low&&this.high<a.low?-1:a.low<this.low&&a.high<this.low?1:0};function s(a,c){if(!(this instanceof s))return new s(a,c);this.min=a,this.max=c,this.ss=new n([],(l,u)=>l.compare(u)),r("Create"),this.clear()}s.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},s.prototype.alloc=function(){if(this.ss.size()===0)return r("alloc():empty"),null;let a=this.ss.begin(),c=a.pointer.low,l=a.pointer.high,u=c;return u+1<=l?this.ss.updateKeyByIterator(a,new o(c+1,l)):this.ss.eraseElementByPos(0),r("alloc():"+u),u},s.prototype.use=function(a){let c=new o(a,a),l=this.ss.lowerBound(c);if(!l.equals(this.ss.end())){let u=l.pointer.low,d=l.pointer.high;return l.pointer.equals(c)?(this.ss.eraseElementByIterator(l),r("use():"+a),!0):u>a?!1:u===a?(this.ss.updateKeyByIterator(l,new o(u+1,d)),r("use():"+a),!0):d===a?(this.ss.updateKeyByIterator(l,new o(u,d-1)),r("use():"+a),!0):(this.ss.updateKeyByIterator(l,new o(a+1,d)),this.ss.insert(new o(u,a-1)),r("use():"+a),!0)}return r("use():failed"),!1},s.prototype.free=function(a){if(a<this.min||a>this.max){i("free():"+a+" is out of range");return}let c=new o(a,a),l=this.ss.upperBound(c);if(l.equals(this.ss.end())){if(l.equals(this.ss.begin())){this.ss.insert(c);return}l.pre();let u=l.pointer.high;l.pointer.high+1===a?this.ss.updateKeyByIterator(l,new o(u,a)):this.ss.insert(c)}else if(l.equals(this.ss.begin()))if(a+1===l.pointer.low){let u=l.pointer.high;this.ss.updateKeyByIterator(l,new o(a,u))}else this.ss.insert(c);else{let u=l.pointer.low,d=l.pointer.high;l.pre();let f=l.pointer.low;l.pointer.high+1===a?a+1===u?(this.ss.eraseElementByIterator(l),this.ss.updateKeyByIterator(l,new o(f,d))):this.ss.updateKeyByIterator(l,new o(f,a)):a+1===u?(this.ss.eraseElementByIterator(l.next()),this.ss.insert(new o(a,d))):this.ss.insert(c)}r("free():"+a)},s.prototype.clear=function(){r("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},s.prototype.intervalCount=function(){return this.ss.size()},s.prototype.dump=function(){console.log("length:"+this.ss.size());for(let a of this.ss)console.log(a)},t.exports=s}),PY=st((e,t)=>{tt(),rt(),nt();var n=ASe();t.exports.NumberAllocator=n}),CSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=lSe(),n=PY(),r=class{constructor(i){et(this,"aliasToTopic");et(this,"topicToAlias");et(this,"max");et(this,"numberAllocator");et(this,"length");i>0&&(this.aliasToTopic=new t.LRUCache({max:i}),this.topicToAlias={},this.numberAllocator=new n.NumberAllocator(1,i),this.max=i,this.length=0)}put(i,o){if(o===0||o>this.max)return!1;let s=this.aliasToTopic.get(o);return s&&delete this.topicToAlias[s],this.aliasToTopic.set(o,i),this.topicToAlias[i]=o,this.numberAllocator.use(o),this.length=this.aliasToTopic.size,!0}getTopicByAlias(i){return this.aliasToTopic.get(i)}getAliasByTopic(i){let o=this.topicToAlias[i];return typeof o<"u"&&this.aliasToTopic.get(o),o}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};e.default=r}),wSe=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(e,"__esModule",{value:!0});var n=Fy(),r=t(CSe()),i=zp(),o=(s,a)=>{s.log("_handleConnack");let{options:c}=s,l=c.protocolVersion===5?a.reasonCode:a.returnCode;if(clearTimeout(s.connackTimer),delete s.topicAliasSend,a.properties){if(a.properties.topicAliasMaximum){if(a.properties.topicAliasMaximum>65535){s.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}a.properties.topicAliasMaximum>0&&(s.topicAliasSend=new r.default(a.properties.topicAliasMaximum))}a.properties.serverKeepAlive&&c.keepalive&&(c.keepalive=a.properties.serverKeepAlive),a.properties.maximumPacketSize&&(c.properties||(c.properties={}),c.properties.maximumPacketSize=a.properties.maximumPacketSize)}if(l===0)s.reconnecting=!1,s._onConnect(a);else if(l>0){let u=new i.ErrorWithReasonCode(`Connection refused: ${n.ReasonCodes[l]}`,l);s.emit("error",u),s.options.reconnectOnConnackError&&s._cleanUp(!0)}};e.default=o}),TSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=(n,r,i)=>{n.log("handling pubrel packet");let o=typeof i<"u"?i:n.noop,{messageId:s}=r,a={cmd:"pubcomp",messageId:s};n.incomingStore.get(r,(c,l)=>{c?n._sendPacket(a,o):(n.emit("message",l.topic,l.payload,l),n.handleMessage(l,u=>{if(u)return o(u);n.incomingStore.del(l,n.noop),n._sendPacket(a,o)}))})};e.default=t}),ISe=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(e,"__esModule",{value:!0});var n=t(sSe()),r=t(cSe()),i=t(wSe()),o=t(Fy()),s=t(TSe()),a=(c,l,u)=>{let{options:d}=c;if(d.protocolVersion===5&&d.properties&&d.properties.maximumPacketSize&&d.properties.maximumPacketSize<l.length)return c.emit("error",new Error(`exceeding packets size ${l.cmd}`)),c.end({reasonCode:149,properties:{reasonString:"Maximum packet size was exceeded"}}),c;switch(c.log("_handlePacket :: emitting packetreceive"),c.emit("packetreceive",l),l.cmd){case"publish":(0,n.default)(c,l,u);break;case"puback":case"pubrec":case"pubcomp":case"suback":case"unsuback":c.reschedulePing(),(0,o.default)(c,l),u();break;case"pubrel":c.reschedulePing(),(0,s.default)(c,l,u);break;case"connack":(0,i.default)(c,l),u();break;case"auth":c.reschedulePing(),(0,r.default)(c,l),u();break;case"pingresp":c.log("_handlePacket :: received pingresp"),c.reschedulePing(!0),u();break;case"disconnect":c.emit("disconnect",l),u();break;default:c.log("_handlePacket :: unknown command"),u();break}};e.default=a}),OY=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(){et(this,"nextId");this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let n=this.nextId++;return this.nextId===65536&&(this.nextId=1),n}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(n){return!0}deallocate(n){}clear(){}};e.default=t}),PSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=class{constructor(n){et(this,"aliasToTopic");et(this,"max");et(this,"length");this.aliasToTopic={},this.max=n}put(n,r){return r===0||r>this.max?!1:(this.aliasToTopic[r]=n,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(n){return this.aliasToTopic[n]}clear(){this.aliasToTopic={}}};e.default=t}),OSe=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0}),e.TypedEventEmitter=void 0;var n=t((Tf(),zr(Kd))),r=zp(),i=class{};e.TypedEventEmitter=i,(0,r.applyMixin)(i,n.default)}),Uy=st((e,t)=>{tt(),rt(),nt();function n(r){"@babel/helpers - typeof";return t.exports=n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},t.exports.__esModule=!0,t.exports.default=t.exports,n(r)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),_Se=st((e,t)=>{tt(),rt(),nt();var n=Uy().default;function r(i,o){if(n(i)!="object"||!i)return i;var s=i[Symbol.toPrimitive];if(s!==void 0){var a=s.call(i,o||"default");if(n(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(i)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),RSe=st((e,t)=>{tt(),rt(),nt();var n=Uy().default,r=_Se();function i(o){var s=r(o,"string");return n(s)=="symbol"?s:s+""}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),kSe=st((e,t)=>{tt(),rt(),nt();var n=RSe();function r(i,o,s){return(o=n(o))in i?Object.defineProperty(i,o,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[o]=s,i}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),xSe=st((e,t)=>{tt(),rt(),nt();function n(r){if(Array.isArray(r))return r}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),DSe=st((e,t)=>{tt(),rt(),nt();function n(r,i){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var s,a,c,l,u=[],d=!0,f=!1;try{if(c=(o=o.call(r)).next,i===0){if(Object(o)!==o)return;d=!1}else for(;!(d=(s=c.call(o)).done)&&(u.push(s.value),u.length!==i);d=!0);}catch(h){f=!0,a=h}finally{try{if(!d&&o.return!=null&&(l=o.return(),Object(l)!==l))return}finally{if(f)throw a}}return u}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),LSe=st((e,t)=>{tt(),rt(),nt();function n(r,i){(i==null||i>r.length)&&(i=r.length);for(var o=0,s=Array(i);o<i;o++)s[o]=r[o];return s}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),NSe=st((e,t)=>{tt(),rt(),nt();var n=LSe();function r(i,o){if(i){if(typeof i=="string")return n(i,o);var s={}.toString.call(i).slice(8,-1);return s==="Object"&&i.constructor&&(s=i.constructor.name),s==="Map"||s==="Set"?Array.from(i):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?n(i,o):void 0}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),MSe=st((e,t)=>{tt(),rt(),nt();function n(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),BSe=st((e,t)=>{tt(),rt(),nt();var n=xSe(),r=DSe(),i=NSe(),o=MSe();function s(a,c){return n(a)||r(a,c)||i(a,c)||o()}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),_Y=st((e,t)=>{tt(),rt(),nt(),(function(n,r){typeof e=="object"&&typeof t<"u"?r(e):typeof define=="function"&&define.amd?define(["exports"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.fastUniqueNumbers={}))})(e,function(n){var r=function(h){return function(p){var g=h(p);return p.add(g),g}},i=function(h){return function(p,g){return h.set(p,g),g}},o=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,s=536870912,a=s*2,c=function(h,p){return function(g){var m=p.get(g),y=m===void 0?g.size:m<a?m+1:0;if(!g.has(y))return h(g,y);if(g.size<s){for(;g.has(y);)y=Math.floor(Math.random()*a);return h(g,y)}if(g.size>o)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;g.has(y);)y=Math.floor(Math.random()*o);return h(g,y)}},l=new WeakMap,u=i(l),d=c(u,l),f=r(d);n.addUniqueNumber=f,n.generateUniqueNumber=d})}),FSe=st((e,t)=>{tt(),rt(),nt();function n(i,o,s,a,c,l,u){try{var d=i[l](u),f=d.value}catch(h){return void s(h)}d.done?o(f):Promise.resolve(f).then(a,c)}function r(i){return function(){var o=this,s=arguments;return new Promise(function(a,c){var l=i.apply(o,s);function u(f){n(l,a,c,u,d,"next",f)}function d(f){n(l,a,c,u,d,"throw",f)}u(void 0)})}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),RY=st((e,t)=>{tt(),rt(),nt();function n(r,i){this.v=r,this.k=i}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),kY=st((e,t)=>{tt(),rt(),nt();function n(r,i,o,s){var a=Object.defineProperty;try{a({},"",{})}catch{a=0}t.exports=n=function(c,l,u,d){function f(h,p){n(c,h,function(g){return this._invoke(h,p,g)})}l?a?a(c,l,{value:u,enumerable:!d,configurable:!d,writable:!d}):c[l]=u:(f("next",0),f("throw",1),f("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,n(r,i,o,s)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),xY=st((e,t)=>{tt(),rt(),nt();var n=kY();function r(){var i,o,s=typeof Symbol=="function"?Symbol:{},a=s.iterator||"@@iterator",c=s.toStringTag||"@@toStringTag";function l(y,v,E,b){var S=v&&v.prototype instanceof d?v:d,w=Object.create(S.prototype);return n(w,"_invoke",(function(C,_,I){var O,L,R,F=0,W=I||[],J=!1,Y={p:0,n:0,v:i,a:M,f:M.bind(i,4),d:function(B,q){return O=B,L=0,R=i,Y.n=q,u}};function M(B,q){for(L=B,R=q,o=0;!J&&F&&!z&&o<W.length;o++){var z,A=W[o],T=Y.p,k=A[2];B>3?(z=k===q)&&(R=A[(L=A[4])?5:(L=3,3)],A[4]=A[5]=i):A[0]<=T&&((z=B<2&&T<A[1])?(L=0,Y.v=q,Y.n=A[1]):T<k&&(z=B<3||A[0]>q||q>k)&&(A[4]=B,A[5]=q,Y.n=k,L=0))}if(z||B>1)return u;throw J=!0,q}return function(B,q,z){if(F>1)throw TypeError("Generator is already running");for(J&&q===1&&M(q,z),L=q,R=z;(o=L<2?i:R)||!J;){O||(L?L<3?(L>1&&(Y.n=-1),M(L,R)):Y.n=R:Y.v=R);try{if(F=2,O){if(L||(B="next"),o=O[B]){if(!(o=o.call(O,R)))throw TypeError("iterator result is not an object");if(!o.done)return o;R=o.value,L<2&&(L=0)}else L===1&&(o=O.return)&&o.call(O),L<2&&(R=TypeError("The iterator does not provide a '"+B+"' method"),L=1);O=i}else if((o=(J=Y.n<0)?R:C.call(_,Y))!==u)break}catch(A){O=i,L=1,R=A}finally{F=1}}return{value:o,done:J}}})(y,E,b),!0),w}var u={};function d(){}function f(){}function h(){}o=Object.getPrototypeOf;var p=[][a]?o(o([][a]())):(n(o={},a,function(){return this}),o),g=h.prototype=d.prototype=Object.create(p);function m(y){return Object.setPrototypeOf?Object.setPrototypeOf(y,h):(y.__proto__=h,n(y,c,"GeneratorFunction")),y.prototype=Object.create(g),y}return f.prototype=h,n(g,"constructor",h),n(h,"constructor",f),f.displayName="GeneratorFunction",n(h,c,"GeneratorFunction"),n(g),n(g,c,"Generator"),n(g,a,function(){return this}),n(g,"toString",function(){return"[object Generator]"}),(t.exports=r=function(){return{w:l,m}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),DY=st((e,t)=>{tt(),rt(),nt();var n=RY(),r=kY();function i(o,s){function a(l,u,d,f){try{var h=o[l](u),p=h.value;return p instanceof n?s.resolve(p.v).then(function(g){a("next",g,d,f)},function(g){a("throw",g,d,f)}):s.resolve(p).then(function(g){h.value=g,d(h)},function(g){return a("throw",g,d,f)})}catch(g){f(g)}}var c;this.next||(r(i.prototype),r(i.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),r(this,"_invoke",function(l,u,d){function f(){return new s(function(h,p){a(l,d,h,p)})}return c=c?c.then(f,f):f()},!0)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),LY=st((e,t)=>{tt(),rt(),nt();var n=xY(),r=DY();function i(o,s,a,c,l){return new r(n().w(o,s,a,c),l||Promise)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),USe=st((e,t)=>{tt(),rt(),nt();var n=LY();function r(i,o,s,a,c){var l=n(i,o,s,a,c);return l.next().then(function(u){return u.done?u.value:l.next()})}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),jSe=st((e,t)=>{tt(),rt(),nt();function n(r){var i=Object(r),o=[];for(var s in i)o.unshift(s);return function a(){for(;o.length;)if((s=o.pop())in i)return a.value=s,a.done=!1,a;return a.done=!0,a}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),HSe=st((e,t)=>{tt(),rt(),nt();var n=Uy().default;function r(i){if(i!=null){var o=i[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],s=0;if(o)return o.call(i);if(typeof i.next=="function")return i;if(!isNaN(i.length))return{next:function(){return i&&s>=i.length&&(i=void 0),{value:i&&i[s++],done:!i}}}}throw new TypeError(n(i)+" is not iterable")}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),zSe=st((e,t)=>{tt(),rt(),nt();var n=RY(),r=xY(),i=USe(),o=LY(),s=DY(),a=jSe(),c=HSe();function l(){var u=r(),d=u.m(l),f=(Object.getPrototypeOf?Object.getPrototypeOf(d):d.__proto__).constructor;function h(m){var y=typeof m=="function"&&m.constructor;return!!y&&(y===f||(y.displayName||y.name)==="GeneratorFunction")}var p={throw:1,return:2,break:3,continue:3};function g(m){var y,v;return function(E){y||(y={stop:function(){return v(E.a,2)},catch:function(){return E.v},abrupt:function(b,S){return v(E.a,p[b],S)},delegateYield:function(b,S,w){return y.resultName=S,v(E.d,c(b),w)},finish:function(b){return v(E.f,b)}},v=function(b,S,w){E.p=y.prev,E.n=y.next;try{return b(S,w)}finally{y.next=E.n}}),y.resultName&&(y[y.resultName]=E.v,y.resultName=void 0),y.sent=E.v,y.next=E.n;try{return m.call(this,y)}finally{E.p=y.prev,E.n=y.next}}}return(t.exports=l=function(){return{wrap:function(m,y,v,E){return u.w(g(m),y,v,E&&E.reverse())},isGeneratorFunction:h,mark:u.m,awrap:function(m,y){return new n(m,y)},AsyncIterator:s,async:function(m,y,v,E,b){return(h(y)?o:i)(g(m),y,v,E,b)},keys:a,values:c}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=l,t.exports.__esModule=!0,t.exports.default=t.exports}),WSe=st((e,t)=>{tt(),rt(),nt();var n=zSe()();t.exports=n;try{regeneratorRuntime=n}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}),VSe=st((e,t)=>{tt(),rt(),nt(),(function(n,r){typeof e=="object"&&typeof t<"u"?r(e,kSe(),BSe(),_Y(),FSe(),WSe()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/slicedToArray","fast-unique-numbers","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.brokerFactory={},n._defineProperty,n._slicedToArray,n.fastUniqueNumbers,n._asyncToGenerator,n._regeneratorRuntime))})(e,function(n,r,i,o,s,a){var c=function(v){return typeof v.start=="function"},l=new WeakMap;function u(v,E){var b=Object.keys(v);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(v);E&&(S=S.filter(function(w){return Object.getOwnPropertyDescriptor(v,w).enumerable})),b.push.apply(b,S)}return b}function d(v){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?u(Object(b),!0).forEach(function(S){r(v,S,b[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(b)):u(Object(b)).forEach(function(S){Object.defineProperty(v,S,Object.getOwnPropertyDescriptor(b,S))})}return v}var f=function(v){return d(d({},v),{},{connect:function(E){var b=E.call;return s(a.mark(function S(){var w,C,_,I;return a.wrap(function(O){for(;;)switch(O.prev=O.next){case 0:return w=new MessageChannel,C=w.port1,_=w.port2,O.next=1,b("connect",{port:C},[C]);case 1:return I=O.sent,l.set(_,I),O.abrupt("return",_);case 2:case"end":return O.stop()}},S)}))},disconnect:function(E){var b=E.call;return(function(){var S=s(a.mark(function w(C){var _;return a.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:if(_=l.get(C),_!==void 0){I.next=1;break}throw new Error("The given port is not connected.");case 1:return I.next=2,b("disconnect",{portId:_});case 2:case"end":return I.stop()}},w)}));return function(w){return S.apply(this,arguments)}})()},isSupported:function(E){var b=E.call;return function(){return b("isSupported")}}})};function h(v,E){var b=Object.keys(v);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(v);E&&(S=S.filter(function(w){return Object.getOwnPropertyDescriptor(v,w).enumerable})),b.push.apply(b,S)}return b}function p(v){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?h(Object(b),!0).forEach(function(S){r(v,S,b[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(b)):h(Object(b)).forEach(function(S){Object.defineProperty(v,S,Object.getOwnPropertyDescriptor(b,S))})}return v}var g=new WeakMap,m=function(v){if(g.has(v))return g.get(v);var E=new Map;return g.set(v,E),E},y=function(v){var E=f(v);return function(b){var S=m(b);b.addEventListener("message",function(W){var J=W.data,Y=J.id;if(Y!==null&&S.has(Y)){var M=S.get(Y),B=M.reject,q=M.resolve;S.delete(Y),J.error===void 0?q(J.result):B(new Error(J.error.message))}}),c(b)&&b.start();for(var w=function(W){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return new Promise(function(M,B){var q=o.generateUniqueNumber(S);S.set(q,{reject:B,resolve:M}),J===null?b.postMessage({id:q,method:W},Y):b.postMessage({id:q,method:W,params:J},Y)})},C=function(W,J){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];b.postMessage({id:null,method:W,params:J},Y)},_={},I=0,O=Object.entries(E);I<O.length;I++){var L=i(O[I],2),R=L[0],F=L[1];_=p(p({},_),{},r({},R,F({call:w,notify:C})))}return p({},_)}};n.createBroker=y})}),GSe=st((e,t)=>{tt(),rt(),nt(),(function(n,r){typeof e=="object"&&typeof t<"u"?r(e,Uy(),VSe(),_Y()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/typeof","broker-factory","fast-unique-numbers"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.workerTimersBroker={},n._typeof,n.brokerFactory,n.fastUniqueNumbers))})(e,function(n,r,i,o){var s=new Map([[0,null]]),a=new Map([[0,null]]),c=i.createBroker({clearInterval:function(u){var d=u.call;return function(f){r(s.get(f))==="symbol"&&(s.set(f,null),d("clear",{timerId:f,timerType:"interval"}).then(function(){s.delete(f)}))}},clearTimeout:function(u){var d=u.call;return function(f){r(a.get(f))==="symbol"&&(a.set(f,null),d("clear",{timerId:f,timerType:"timeout"}).then(function(){a.delete(f)}))}},setInterval:function(u){var d=u.call;return function(f){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length,g=new Array(p>2?p-2:0),m=2;m<p;m++)g[m-2]=arguments[m];var y=Symbol(),v=o.generateUniqueNumber(s);s.set(v,y);var E=function(){return d("set",{delay:h,now:performance.timeOrigin+performance.now(),timerId:v,timerType:"interval"}).then(function(){var b=s.get(v);if(b===void 0)throw new Error("The timer is in an undefined state.");b===y&&(f.apply(void 0,g),s.get(v)===y&&E())})};return E(),v}},setTimeout:function(u){var d=u.call;return function(f){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length,g=new Array(p>2?p-2:0),m=2;m<p;m++)g[m-2]=arguments[m];var y=Symbol(),v=o.generateUniqueNumber(a);return a.set(v,y),d("set",{delay:h,now:performance.timeOrigin+performance.now(),timerId:v,timerType:"timeout"}).then(function(){var E=a.get(v);if(E===void 0)throw new Error("The timer is in an undefined state.");E===y&&(a.delete(v),f.apply(void 0,g))}),v}}}),l=function(u){var d=new Worker(u);return c(d)};n.load=l,n.wrap=c})}),JSe=st((e,t)=>{tt(),rt(),nt(),(function(n,r){typeof e=="object"&&typeof t<"u"?r(e,GSe()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.workerTimers={},n.workerTimersBroker))})(e,function(n,r){var i=function(d,f){var h=null;return function(){if(h!==null)return h;var p=new Blob([f],{type:"application/javascript; charset=utf-8"}),g=URL.createObjectURL(p);return h=d(g),setTimeout(function(){return URL.revokeObjectURL(g)}),h}},o=`(()=>{var e={45:(e,t,r)=>{var n=r(738).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},79:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},122:(e,t,r)=>{var n=r(79);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},156:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,a,i=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}},e.exports.__esModule=!0,e.exports.default=e.exports},172:e=>{e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},293:e=>{function t(e,t,r,n,o,u,a){try{var i=e[u](a),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,u){var a=e.apply(r,n);function i(e){t(a,o,u,i,s,"next",e)}function s(e){t(a,o,u,i,s,"throw",e)}i(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},373:e=>{e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},389:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<u?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*u);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,s=r(i),c=a(s,i),f=t(c);e.addUniqueNumber=f,e.generateUniqueNumber=c}(t)},472:function(e,t,r){!function(e,t,r,n){"use strict";var o=function(e,t){return function(r){var o=t.get(r);if(void 0===o)return Promise.resolve(!1);var u=n(o,2),a=u[0],i=u[1];return e(a),t.delete(r),i(!1),Promise.resolve(!0)}},u=function(e,t){var r=function(n,o,u,a){var i=n-e.now();i>0?o.set(a,[t(r,i,n,o,u,a),u]):(o.delete(a),u(!0))};return r},a=function(e,t,r,n){return function(o,u,a){var i=o+u-t.timeOrigin,s=i-t.now();return new Promise((function(t){e.set(a,[r(n,s,i,e,t,a),t])}))}},i=new Map,s=o(globalThis.clearTimeout,i),c=new Map,f=o(globalThis.clearTimeout,c),l=u(performance,globalThis.setTimeout),p=a(i,performance,globalThis.setTimeout,l),d=a(c,performance,globalThis.setTimeout,l);r.createWorker(self,{clear:function(){var r=e(t.mark((function e(r){var n,o,u;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.timerId,o=r.timerType,e.next=1,"interval"===o?s(n):f(n);case 1:return u=e.sent,e.abrupt("return",{result:u});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}(),set:function(){var r=e(t.mark((function e(r){var n,o,u,a,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.delay,o=r.now,u=r.timerId,a=r.timerType,e.next=1,("interval"===a?p:d)(n,o,u);case 1:return i=e.sent,e.abrupt("return",{result:i});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}()})}(r(293),r(756),r(623),r(715))},546:e=>{function t(r,n,o,u){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,o){if(r)a?a(e,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[r]=n;else{var u=function(r,n){t(e,r,(function(e){return this._invoke(r,n,e)}))};u("next",0),u("throw",1),u("return",2)}},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},579:(e,t,r)=>{var n=r(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},623:function(e,t,r){!function(e,t,r,n,o){"use strict";var u={INTERNAL_ERROR:-32603,INVALID_PARAMS:-32602,METHOD_NOT_FOUND:-32601},a=function(e,t){return Object.assign(new Error(e),{status:t})},i=function(e){return a('The requested method called "'.concat(e,'" is not supported.'),u.METHOD_NOT_FOUND)},s=function(e){return a('The handler of the method called "'.concat(e,'" returned no required result.'),u.INTERNAL_ERROR)},c=function(e){return a('The handler of the method called "'.concat(e,'" returned an unexpected result.'),u.INTERNAL_ERROR)},f=function(e){return a('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),u.INVALID_PARAMS)},l=function(e,n){return function(){var o=t(r.mark((function t(o){var u,a,f,l,p,d,v,x,y,b,h,m,_,g,w;return r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=o.data,a=u.id,f=u.method,l=u.params,p=n[f],t.prev=1,void 0!==p){t.next=2;break}throw i(f);case 2:if(void 0!==(d=void 0===l?p():p(l))){t.next=3;break}throw s(f);case 3:if(!(d instanceof Promise)){t.next=5;break}return t.next=4,d;case 4:g=t.sent,t.next=6;break;case 5:g=d;case 6:if(v=g,null!==a){t.next=8;break}if(void 0===v.result){t.next=7;break}throw c(f);case 7:t.next=10;break;case 8:if(void 0!==v.result){t.next=9;break}throw c(f);case 9:x=v.result,y=v.transferables,b=void 0===y?[]:y,e.postMessage({id:a,result:x},b);case 10:t.next=12;break;case 11:t.prev=11,w=t.catch(1),h=w.message,m=w.status,_=void 0===m?-32603:m,e.postMessage({error:{code:_,message:h},id:a});case 12:case"end":return t.stop()}}),t,null,[[1,11]])})));return function(e){return o.apply(this,arguments)}}()},p=function(){return new Promise((function(e){var t=new ArrayBuffer(0),r=new MessageChannel,n=r.port1,o=r.port2;n.onmessage=function(t){var r=t.data;return e(null!==r)},o.postMessage(t,[t])}))};function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=new Map,y=function(e,n,u){return v(v({},n),{},{connect:function(t){var r=t.port;r.start();var u=e(r,n),a=o.generateUniqueNumber(x);return x.set(a,(function(){u(),r.close(),x.delete(a)})),{result:a}},disconnect:function(e){var t=e.portId,r=x.get(t);if(void 0===r)throw f(t);return r(),{result:null}},isSupported:function(){var e=t(r.mark((function e(){var t,n,o;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,p();case 1:if(!e.sent){e.next=5;break}if(!((t=u())instanceof Promise)){e.next=3;break}return e.next=2,t;case 2:o=e.sent,e.next=4;break;case 3:o=t;case 4:return n=o,e.abrupt("return",{result:n});case 5:return e.abrupt("return",{result:!1});case 6:case"end":return e.stop()}}),e)})));function n(){return e.apply(this,arguments)}return n}()})},b=function(e,t){var r=y(b,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0}),n=l(e,r);return e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}};e.createWorker=b,e.isSupported=p}(t,r(293),r(756),r(693),r(389))},633:(e,t,r)=>{var n=r(172),o=r(993),u=r(869),a=r(887),i=r(791),s=r(373),c=r(579);function f(){"use strict";var t=o(),r=t.m(f),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function v(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,d[e],t)},delegateYield:function(e,o,u){return t.resultName=o,r(n.d,c(e),u)},finish:function(e){return r(n.f,e)}},r=function(e,r,o){n.p=t.prev,n.n=t.next;try{return e(r,o)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=f=function(){return{wrap:function(e,r,n,o){return t.w(v(e),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new n(e,t)},AsyncIterator:i,async:function(e,t,r,n,o){return(p(t)?a:u)(v(e),t,r,n,o)},keys:s,values:c}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=f,e.exports.__esModule=!0,e.exports.default=e.exports},693:(e,t,r)=>{var n=r(736);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},715:(e,t,r)=>{var n=r(987),o=r(156),u=r(122),a=r(752);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},736:(e,t,r)=>{var n=r(738).default,o=r(45);e.exports=function(e){var t=o(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},752:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,r)=>{var n=r(633)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},791:(e,t,r)=>{var n=r(172),o=r(546);e.exports=function e(t,r){function u(e,o,a,i){try{var s=t[e](o),c=s.value;return c instanceof n?r.resolve(c.v).then((function(e){u("next",e,a,i)}),(function(e){u("throw",e,a,i)})):r.resolve(c).then((function(e){s.value=e,a(s)}),(function(e){return u("throw",e,a,i)}))}catch(e){i(e)}}var a;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),o(this,"_invoke",(function(e,t,n){function o(){return new r((function(t,r){u(e,n,t,r)}))}return a=a?a.then(o,o):o()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports},869:(e,t,r)=>{var n=r(887);e.exports=function(e,t,r,o,u){var a=n(e,t,r,o,u);return a.next().then((function(e){return e.done?e.value:a.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports},887:(e,t,r)=>{var n=r(993),o=r(791);e.exports=function(e,t,r,u,a){return new o(n().w(e,t,r,u),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},987:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(546);function o(){var t,r,u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",i=u.toStringTag||"@@toStringTag";function s(e,o,u,a){var i=o&&o.prototype instanceof f?o:f,s=Object.create(i.prototype);return n(s,"_invoke",function(e,n,o){var u,a,i,s=0,f=o||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return u=e,a=0,i=t,p.n=r,c}};function d(e,n){for(a=e,i=n,r=0;!l&&s&&!o&&r<f.length;r++){var o,u=f[r],d=p.p,v=u[2];e>3?(o=v===n)&&(i=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=t):u[0]<=d&&((o=e<2&&d<u[1])?(a=0,p.v=n,p.n=u[1]):d<v&&(o=e<3||u[0]>n||n>v)&&(u[4]=e,u[5]=n,p.n=v,a=0))}if(o||e>1)return c;throw l=!0,n}return function(o,f,v){if(s>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,v),a=f,i=v;(r=a<2?t:i)||!l;){u||(a?a<3?(a>1&&(p.n=-1),d(a,i)):p.n=i:p.v=i);try{if(s=2,u){if(a||(o="next"),r=u[o]){if(!(r=r.call(u,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=u.return)&&r.call(u),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=t}else if((r=(l=p.n<0)?i:e.call(n,p))!==c)break}catch(e){u=t,a=1,i=e}finally{s=1}}return{value:r,done:l}}}(e,u,a),!0),s}var c={};function f(){}function l(){}function p(){}r=Object.getPrototypeOf;var d=[][a]?r(r([][a]())):(n(r={},a,(function(){return this})),r),v=p.prototype=f.prototype=Object.create(d);function x(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=p,n(v,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,i,"GeneratorFunction"),n(v),n(v,i,"Generator"),n(v,a,(function(){return this})),n(v,"toString",(function(){return"[object Generator]"})),(e.exports=o=function(){return{w:s,m:x}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,s=i(r.load,o),a=function(d){return s().clearInterval(d)},c=function(d){return s().clearTimeout(d)},l=function(){var d;return(d=s()).setInterval.apply(d,arguments)},u=function(){var d;return(d=s()).setTimeout.apply(d,arguments)};n.clearInterval=a,n.clearTimeout=c,n.setInterval=l,n.setTimeout=u})}),jy=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.isReactNativeBrowser=e.isWebWorker=void 0;var t=()=>{var o;return typeof window<"u"?typeof navigator<"u"&&((o=navigator.userAgent)==null?void 0:o.toLowerCase().indexOf(" electron/"))>-1&&(gr!=null&&gr.versions)?!Object.prototype.hasOwnProperty.call(gr.versions,"electron"):typeof window.document<"u":!1},n=()=>{var o,s;return!!(typeof self=="object"&&((s=(o=self==null?void 0:self.constructor)==null?void 0:o.name)!=null&&s.includes("WorkerGlobalScope")))},r=()=>typeof navigator<"u"&&navigator.product==="ReactNative",i=t()||n()||r();e.isWebWorker=n(),e.isReactNativeBrowser=r(),e.default=i}),ZSe=st(e=>{tt(),rt(),nt();var t=e&&e.__createBinding||(Object.create?function(l,u,d,f){f===void 0&&(f=d);var h=Object.getOwnPropertyDescriptor(u,d);(!h||("get"in h?!u.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return u[d]}}),Object.defineProperty(l,f,h)}:function(l,u,d,f){f===void 0&&(f=d),l[f]=u[d]}),n=e&&e.__setModuleDefault||(Object.create?function(l,u){Object.defineProperty(l,"default",{enumerable:!0,value:u})}:function(l,u){l.default=u}),r=e&&e.__importStar||(function(){var l=function(u){return l=Object.getOwnPropertyNames||function(d){var f=[];for(var h in d)Object.prototype.hasOwnProperty.call(d,h)&&(f[f.length]=h);return f},l(u)};return function(u){if(u&&u.__esModule)return u;var d={};if(u!=null)for(var f=l(u),h=0;h<f.length;h++)f[h]!=="default"&&t(d,u,f[h]);return n(d,u),d}})();Object.defineProperty(e,"__esModule",{value:!0});var i=JSe(),o=r(jy()),s={set:i.setInterval,clear:i.clearInterval},a={set:(l,u)=>setInterval(l,u),clear:l=>clearInterval(l)},c=l=>{switch(l){case"native":return a;case"worker":return s;case"auto":default:return o.default&&!o.isWebWorker&&!o.isReactNativeBrowser?s:a}};e.default=c}),NY=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(e,"__esModule",{value:!0});var n=t(ZSe()),r=class{constructor(i,o){et(this,"_keepalive");et(this,"timerId");et(this,"timer");et(this,"destroyed",!1);et(this,"counter");et(this,"client");et(this,"_keepaliveTimeoutTimestamp");et(this,"_intervalEvery");this.client=i,this.timer=typeof o=="object"&&"set"in o&&"clear"in o?o:(0,n.default)(o),this.setKeepalive(i.options.keepalive)}get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(i){if(i*=1e3,isNaN(i)||i<=0||i>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${i}`);this._keepalive=i,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${i}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let i=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+i,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};e.default=r}),ES=st(e=>{var S;tt(),rt(),nt();var t=e&&e.__createBinding||(Object.create?function(w,C,_,I){I===void 0&&(I=_);var O=Object.getOwnPropertyDescriptor(C,_);(!O||("get"in O?!C.__esModule:O.writable||O.configurable))&&(O={enumerable:!0,get:function(){return C[_]}}),Object.defineProperty(w,I,O)}:function(w,C,_,I){I===void 0&&(I=_),w[I]=C[_]}),n=e&&e.__setModuleDefault||(Object.create?function(w,C){Object.defineProperty(w,"default",{enumerable:!0,value:C})}:function(w,C){w.default=C}),r=e&&e.__importStar||(function(){var w=function(C){return w=Object.getOwnPropertyNames||function(_){var I=[];for(var O in _)Object.prototype.hasOwnProperty.call(_,O)&&(I[I.length]=O);return I},w(C)};return function(C){if(C&&C.__esModule)return C;var _={};if(C!=null)for(var I=w(C),O=0;O<I.length;O++)I[O]!=="default"&&t(_,C,I[O]);return n(_,C),_}})(),i=e&&e.__importDefault||function(w){return w&&w.__esModule?w:{default:w}};Object.defineProperty(e,"__esModule",{value:!0});var o=i(nSe()),s=Pf(),a=i(iSe()),c=i(bu()),l=r(oSe()),u=i(dY()),d=i(ISe()),f=i(OY()),h=i(PSe()),p=zp(),g=OSe(),m=i(NY()),y=r(jy()),v=globalThis.setImmediate||((...w)=>{let C=w.shift();(0,p.nextTick)(()=>{C(...w)})}),E={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,subscribeBatchSize:null,writeCache:!0,timerVariant:"auto"},b=(S=class extends g.TypedEventEmitter{constructor(_,I){super();et(this,"connected");et(this,"disconnecting");et(this,"disconnected");et(this,"reconnecting");et(this,"incomingStore");et(this,"outgoingStore");et(this,"options");et(this,"queueQoSZero");et(this,"_reconnectCount");et(this,"log");et(this,"messageIdProvider");et(this,"outgoing");et(this,"messageIdToTopic");et(this,"noop");et(this,"keepaliveManager");et(this,"stream");et(this,"queue");et(this,"streamBuilder");et(this,"_resubscribeTopics");et(this,"connackTimer");et(this,"reconnectTimer");et(this,"_storeProcessing");et(this,"_packetIdsDuringStoreProcessing");et(this,"_storeProcessingQueue");et(this,"_firstConnection");et(this,"topicAliasRecv");et(this,"topicAliasSend");et(this,"_deferredReconnect");et(this,"connackPacket");this.options=I||{};for(let O in E)typeof this.options[O]>"u"?this.options[O]=E[O]:this.options[O]=I[O];this.log=this.options.log||(0,c.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",S.VERSION),y.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",y.default?"browser":"node"),this.log("MqttClient :: options.protocol",I.protocol),this.log("MqttClient :: options.protocolVersion",I.protocolVersion),this.log("MqttClient :: options.username",I.username),this.log("MqttClient :: options.keepalive",I.keepalive),this.log("MqttClient :: options.reconnectPeriod",I.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",I.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",I.properties?I.properties.topicAliasMaximum:void 0),this.options.clientId=typeof I.clientId=="string"?I.clientId:S.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=I.protocolVersion===5&&I.customHandleAcks?I.customHandleAcks:(...O)=>{O[3](null,0)},this.options.writeCache||(o.default.writeToStream.cacheNumbers=!1),this.streamBuilder=_,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new f.default:this.options.messageIdProvider,this.outgoingStore=I.outgoingStore||new u.default,this.incomingStore=I.incomingStore||new u.default,this.queueQoSZero=I.queueQoSZero===void 0?!0:I.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,I.properties&&I.properties.topicAliasMaximum>0&&(I.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new h.default(I.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:O}=this,L=()=>{let R=O.shift();this.log("deliver :: entry %o",R);let F=null;if(!R){this._resubscribe();return}F=R.packet,this.log("deliver :: call _sendPacket for %o",F);let W=!0;F.messageId&&F.messageId!==0&&(this.messageIdProvider.register(F.messageId)||(W=!1)),W?this._sendPacket(F,J=>{R.cb&&R.cb(J),L()}):(this.log("messageId: %d has already used. The message is skipped and removed.",F.messageId),L())};this.log("connect :: sending queued packets"),L()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}handleAuth(_,I){I()}handleMessage(_,I){I()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var Y;let _=new s.Writable,I=o.default.parser(this.options),O=null,L=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new u.default,this.outgoingStore=this.options.outgoingStore||new u.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),I.on("packet",M=>{this.log("parser :: on packet push to packets array."),L.push(M)});let R=()=>{this.log("work :: getting next packet in queue");let M=L.shift();if(M)this.log("work :: packet pulled from queue"),(0,d.default)(this,M,F);else{this.log("work :: no packets in queue");let B=O;O=null,this.log("work :: done flag is %s",!!B),B&&B()}},F=()=>{if(L.length)(0,p.nextTick)(R);else{let M=O;O=null,M()}};_._write=(M,B,q)=>{O=q,this.log("writable stream :: parsing buffer"),I.parse(M),R()};let W=M=>{this.log("streamErrorHandler :: error",M.message),M.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",M)):this.noop(M)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(_),this.stream.on("error",W),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let J={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(J.will={...this.options.will,payload:(Y=this.options.will)==null?void 0:Y.payload}),this.topicAliasRecv&&(J.properties||(J.properties={}),this.topicAliasRecv&&(J.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(J),I.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let M={cmd:"auth",reasonCode:0,...this.options.authPacket};this._writePacket(M)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(_,I,O,L){this.log("publish :: message `%s` to topic `%s`",I,_);let{options:R}=this;typeof O=="function"&&(L=O,O=null),O=O||{},O={qos:0,retain:!1,dup:!1,...O};let{qos:F,retain:W,dup:J,properties:Y,cbStorePut:M}=O;if(this._checkDisconnecting(L))return this;let B=()=>{let q=0;if((F===1||F===2)&&(q=this._nextId(),q===null))return this.log("No messageId left"),!1;let z={cmd:"publish",topic:_,payload:I,qos:F,retain:W,messageId:q,dup:J};switch(R.protocolVersion===5&&(z.properties=Y),this.log("publish :: qos",F),F){case 1:case 2:this.outgoing[z.messageId]={volatile:!1,cb:L||this.noop},this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,void 0,M);break;default:this.log("MqttClient:publish: packet cmd: %s",z.cmd),this._sendPacket(z,L,M);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!B())&&this._storeProcessingQueue.push({invoke:B,cbStorePut:O.cbStorePut,callback:L}),this}publishAsync(_,I,O){return new Promise((L,R)=>{this.publish(_,I,O,(F,W)=>{F?R(F):L(W)})})}subscribe(_,I,O){let L=this.options.protocolVersion;typeof I=="function"&&(O=I),O=O||this.noop;let R=!1,F=[];typeof _=="string"?(_=[_],F=_):Array.isArray(_)?F=_:typeof _=="object"&&(R=_.resubscribe,delete _.resubscribe,F=Object.keys(_));let W=l.validateTopics(F);if(W!==null)return v(O,new Error(`Invalid topic ${W}`)),this;if(this._checkDisconnecting(O))return this.log("subscribe: discconecting true"),this;let J={qos:0};L===5&&(J.nl=!1,J.rap=!1,J.rh=0),I={...J,...I};let{properties:Y}=I,M=[],B=(A,T)=>{if(T=T||I,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,A)||this._resubscribeTopics[A].qos<T.qos||R){let k={topic:A,qos:T.qos};L===5&&(k.nl=T.nl,k.rap=T.rap,k.rh=T.rh,k.properties=Y),this.log("subscribe: pushing topic `%s` and qos `%s` to subs list",k.topic,k.qos),M.push(k)}};if(Array.isArray(_)?_.forEach(A=>{this.log("subscribe: array topic %s",A),B(A)}):Object.keys(_).forEach(A=>{this.log("subscribe: object topic %s, %o",A,_[A]),B(A,_[A])}),!M.length)return O(null,[]),this;let q=(A,T)=>{let k={cmd:"subscribe",subscriptions:A,messageId:T};if(Y&&(k.properties=Y),this.options.resubscribe){this.log("subscribe :: resubscribe true");let re=[];A.forEach(me=>{if(this.options.reconnectPeriod>0){let te={qos:me.qos};L===5&&(te.nl=me.nl||!1,te.rap=me.rap||!1,te.rh=me.rh||0,te.properties=me.properties),this._resubscribeTopics[me.topic]=te,re.push(me.topic)}}),this.messageIdToTopic[k.messageId]=re}let j=new Promise((re,me)=>{this.outgoing[k.messageId]={volatile:!0,cb(te,X){if(!te){let{granted:fe}=X;for(let le=0;le<fe.length;le+=1)A[le].qos=fe[le]}te?me(new p.ErrorWithSubackPacket(te.message,X)):re(X)}}});return this.log("subscribe :: call _sendPacket"),this._sendPacket(k),j},z=()=>{let A=this.options.subscribeBatchSize??M.length,T=[];for(let k=0;k<M.length;k+=A){let j=M.slice(k,k+A),re=this._nextId();if(re===null)return this.log("No messageId left"),!1;T.push(q(j,re))}return Promise.all(T).then(k=>{O(null,M,k.at(-1))}).catch(k=>{O(k,M,k.packet)}),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!z())&&this._storeProcessingQueue.push({invoke:z,callback:O}),this}subscribeAsync(_,I){return new Promise((O,L)=>{this.subscribe(_,I,(R,F)=>{R?L(R):O(F)})})}unsubscribe(_,I,O){typeof _=="string"&&(_=[_]),typeof I=="function"&&(O=I),O=O||this.noop;let L=l.validateTopics(_);if(L!==null)return v(O,new Error(`Invalid topic ${L}`)),this;if(this._checkDisconnecting(O))return this;let R=()=>{let F=this._nextId();if(F===null)return this.log("No messageId left"),!1;let W={cmd:"unsubscribe",messageId:F,unsubscriptions:[]};return typeof _=="string"?W.unsubscriptions=[_]:Array.isArray(_)&&(W.unsubscriptions=_),this.options.resubscribe&&W.unsubscriptions.forEach(J=>{delete this._resubscribeTopics[J]}),typeof I=="object"&&I.properties&&(W.properties=I.properties),this.outgoing[W.messageId]={volatile:!0,cb:O},this.log("unsubscribe: call _sendPacket"),this._sendPacket(W),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!R())&&this._storeProcessingQueue.push({invoke:R,callback:O}),this}unsubscribeAsync(_,I){return new Promise((O,L)=>{this.unsubscribe(_,I,(R,F)=>{R?L(R):O(F)})})}end(_,I,O){this.log("end :: (%s)",this.options.clientId),(_==null||typeof _!="boolean")&&(O=O||I,I=_,_=!1),typeof I!="object"&&(O=O||I,I=null),this.log("end :: cb? %s",!!O),(!O||typeof O!="function")&&(O=this.noop);let L=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(F=>{this.outgoingStore.close(W=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),O){let J=F||W;this.log("end :: closeStores: invoking callback with args"),O(J)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},R=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,_),this._cleanUp(_,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,p.nextTick)(L)},I)};return this.disconnecting?(O(),this):(this._clearReconnect(),this.disconnecting=!0,!_&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,R,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),R()),this)}endAsync(_,I){return new Promise((O,L)=>{this.end(_,I,R=>{R?L(R):O()})})}removeOutgoingMessage(_){if(this.outgoing[_]){let{cb:I}=this.outgoing[_];this._removeOutgoingAndStoreMessage(_,()=>{I(new Error("Message removed"))})}return this}reconnect(_){this.log("client reconnect");let I=()=>{_?(this.options.incomingStore=_.incomingStore,this.options.outgoingStore=_.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new u.default,this.outgoingStore=this.options.outgoingStore||new u.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=I:I(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(_=>{this.outgoing[_].volatile&&typeof this.outgoing[_].cb=="function"&&(this.outgoing[_].cb(new Error("Connection closed")),delete this.outgoing[_])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(_=>{typeof this.outgoing[_].cb=="function"&&(this.outgoing[_].cb(new Error("Connection closed")),delete this.outgoing[_])}))}_removeTopicAliasAndRecoverTopicName(_){let I;_.properties&&(I=_.properties.topicAlias);let O=_.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",I,O),O.length===0){if(typeof I>"u")return new Error("Unregistered Topic Alias");if(O=this.topicAliasSend.getTopicByAlias(I),typeof O>"u")return new Error("Unregistered Topic Alias");_.topic=O}I&&delete _.properties.topicAlias}_checkDisconnecting(_){return this.disconnecting&&(_&&_!==this.noop?_(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(_,I,O={}){if(I&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",I)),this.log("_cleanUp :: forced? %s",_),_)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let L={cmd:"disconnect",...O};this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(L,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),v(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),I&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",I),I())}_storeAndSend(_,I,O){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",_.cmd);let L=_,R;if(L.cmd==="publish"&&(L=(0,a.default)(_),R=this._removeTopicAliasAndRecoverTopicName(L),R))return I&&I(R);this.outgoingStore.put(L,F=>{if(F)return I&&I(F);O(),this._writePacket(_,I)})}_applyTopicAlias(_){if(this.options.protocolVersion===5&&_.cmd==="publish"){let I;_.properties&&(I=_.properties.topicAlias);let O=_.topic.toString();if(this.topicAliasSend)if(I){if(O.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",O,I),!this.topicAliasSend.put(O,I)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",O,I),new Error("Sending Topic Alias out of range")}else O.length!==0&&(this.options.autoAssignTopicAlias?(I=this.topicAliasSend.getAliasByTopic(O),I?(_.topic="",_.properties={..._.properties,topicAlias:I},this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",O,I)):(I=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(O,I),_.properties={..._.properties,topicAlias:I},this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",O,I))):this.options.autoUseTopicAlias&&(I=this.topicAliasSend.getAliasByTopic(O),I&&(_.topic="",_.properties={..._.properties,topicAlias:I},this.log("applyTopicAlias :: auto use topic: %s - alias: %d",O,I))));else if(I)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",O,I),new Error("Sending Topic Alias out of range")}}_noop(_){this.log("noop ::",_)}_writePacket(_,I){this.log("_writePacket :: packet: %O",_),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",_),this.log("_writePacket :: writing to stream");let O=o.default.writeToStream(_,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",O),!O&&I&&I!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",I)):I&&(this.log("_writePacket :: invoking cb"),I())}_sendPacket(_,I,O,L){this.log("_sendPacket :: (%s) :: start",this.options.clientId),O=O||this.noop,I=I||this.noop;let R=this._applyTopicAlias(_);if(R){I(R);return}if(!this.connected){if(_.cmd==="auth"){this._writePacket(_,I);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(_,I,O);return}if(L){this._writePacket(_,I);return}switch(_.cmd){case"publish":break;case"pubrel":this._storeAndSend(_,I,O);return;default:this._writePacket(_,I);return}switch(_.qos){case 2:case 1:this._storeAndSend(_,I,O);break;case 0:default:this._writePacket(_,I);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(_,I,O){this.log("_storePacket :: packet: %o",_),this.log("_storePacket :: cb? %s",!!I),O=O||this.noop;let L=_;if(L.cmd==="publish"){L=(0,a.default)(_);let F=this._removeTopicAliasAndRecoverTopicName(L);if(F)return I&&I(F)}let R=L.qos||0;R===0&&this.queueQoSZero||L.cmd!=="publish"?this.queue.push({packet:L,cb:I}):R>0?(I=this.outgoing[L.messageId]?this.outgoing[L.messageId].cb:null,this.outgoingStore.put(L,F=>{if(F)return I&&I(F);O()})):I&&I(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new m.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(_=!1){this.keepaliveManager&&this.options.keepalive&&(_||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let _=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&_.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let I=0;I<_.length;I++){let O={};O[_[I]]=this._resubscribeTopics[_[I]],O.resubscribe=!0,this.subscribe(O,{properties:O[_[I]].properties})}}else this._resubscribeTopics.resubscribe=!0,this.subscribe(this._resubscribeTopics);else this._resubscribeTopics={};this._firstConnection=!1}_onConnect(_){if(this.disconnected){this.emit("connect",_);return}this.connackPacket=_,this.messageIdProvider.clear(),this._setupKeepaliveManager(),this.connected=!0;let I=()=>{let O=this.outgoingStore.createStream(),L=()=>{O.destroy(),O=null,this._flushStoreProcessingQueue(),R()},R=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",L),O.on("error",W=>{R(),this._flushStoreProcessingQueue(),this.removeListener("close",L),this.emit("error",W)});let F=()=>{if(!O)return;let W=O.read(1),J;if(!W){O.once("readable",F);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[W.messageId]){F();return}!this.disconnecting&&!this.reconnectTimer?(J=this.outgoing[W.messageId]?this.outgoing[W.messageId].cb:null,this.outgoing[W.messageId]={volatile:!1,cb(Y,M){J&&J(Y,M),F()}},this._packetIdsDuringStoreProcessing[W.messageId]=!0,this.messageIdProvider.register(W.messageId)?this._sendPacket(W,void 0,void 0,!0):this.log("messageId: %d has already used.",W.messageId)):O.destroy&&O.destroy()};O.on("end",()=>{let W=!0;for(let J in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[J]){W=!1;break}this.removeListener("close",L),W?(R(),this._invokeAllStoreProcessingQueue(),this.emit("connect",_)):I()}),F()};I()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let _=this._storeProcessingQueue[0];if(_&&_.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let _ of this._storeProcessingQueue)_.cbStorePut&&_.cbStorePut(new Error("Connection closed")),_.callback&&_.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(_,I){delete this.outgoing[_],this.outgoingStore.del({messageId:_},(O,L)=>{I(O,L),this.messageIdProvider.deallocate(_),this._invokeStoreProcessingQueue()})}},et(S,"VERSION",p.MQTTJS_VERSION),S);e.default=b}),YSe=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=PY(),n=class{constructor(){et(this,"numberAllocator");et(this,"lastId");this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(r){return this.numberAllocator.use(r)}deallocate(r){this.numberAllocator.free(r)}clear(){this.numberAllocator.clear()}};e.default=n});function XSe(){if(bS)return Nv;bS=!0;let e=2147483647,t=36,n=1,r=26,i=38,o=700,s=72,a=128,c="-",l=/^xn--/,u=/[^\0-\x7F]/,d=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=t-n,p=Math.floor,g=String.fromCharCode;function m(O){throw new RangeError(f[O])}function y(O,L){let R=[],F=O.length;for(;F--;)R[F]=L(O[F]);return R}function v(O,L){let R=O.split("@"),F="";R.length>1&&(F=R[0]+"@",O=R[1]),O=O.replace(d,".");let W=O.split("."),J=y(W,L).join(".");return F+J}function E(O){let L=[],R=0,F=O.length;for(;R<F;){let W=O.charCodeAt(R++);if(W>=55296&&W<=56319&&R<F){let J=O.charCodeAt(R++);(J&64512)==56320?L.push(((W&1023)<<10)+(J&1023)+65536):(L.push(W),R--)}else L.push(W)}return L}let b=O=>String.fromCodePoint(...O),S=function(O){return O>=48&&O<58?26+(O-48):O>=65&&O<91?O-65:O>=97&&O<123?O-97:t},w=function(O,L){return O+22+75*(O<26)-((L!=0)<<5)},C=function(O,L,R){let F=0;for(O=R?p(O/o):O>>1,O+=p(O/L);O>h*r>>1;F+=t)O=p(O/h);return p(F+(h+1)*O/(O+i))},_=function(O){let L=[],R=O.length,F=0,W=a,J=s,Y=O.lastIndexOf(c);Y<0&&(Y=0);for(let M=0;M<Y;++M)O.charCodeAt(M)>=128&&m("not-basic"),L.push(O.charCodeAt(M));for(let M=Y>0?Y+1:0;M<R;){let B=F;for(let z=1,A=t;;A+=t){M>=R&&m("invalid-input");let T=S(O.charCodeAt(M++));T>=t&&m("invalid-input"),T>p((e-F)/z)&&m("overflow"),F+=T*z;let k=A<=J?n:A>=J+r?r:A-J;if(T<k)break;let j=t-k;z>p(e/j)&&m("overflow"),z*=j}let q=L.length+1;J=C(F-B,q,B==0),p(F/q)>e-W&&m("overflow"),W+=p(F/q),F%=q,L.splice(F++,0,W)}return String.fromCodePoint(...L)},I=function(O){let L=[];O=E(O);let R=O.length,F=a,W=0,J=s;for(let B of O)B<128&&L.push(g(B));let Y=L.length,M=Y;for(Y&&L.push(c);M<R;){let B=e;for(let z of O)z>=F&&z<B&&(B=z);let q=M+1;B-F>p((e-W)/q)&&m("overflow"),W+=(B-F)*q,F=B;for(let z of O)if(z<F&&++W>e&&m("overflow"),z===F){let A=W;for(let T=t;;T+=t){let k=T<=J?n:T>=J+r?r:T-J;if(A<k)break;let j=A-k,re=t-k;L.push(g(w(k+j%re,0))),A=p(j/re)}L.push(g(w(A,0))),J=C(W,q,M===Y),W=0,++M}++W,++F}return L.join("")};return Nv={version:"2.3.1",ucs2:{decode:E,encode:b},decode:_,encode:I,toASCII:function(O){return v(O,function(L){return u.test(L)?"xn--"+I(L):L})},toUnicode:function(O){return v(O,function(L){return l.test(L)?_(L.slice(4).toLowerCase()):L})}},Nv}var Nv,bS,id,QSe=Vs(()=>{tt(),rt(),nt(),Nv={},bS=!1,id=XSe(),id.decode,id.encode,id.toASCII,id.toUnicode,id.ucs2,id.version});function KSe(){return AS||(AS=!0,SS=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),n=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var r=42;e[t]=r;for(t in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var i=Object.getOwnPropertySymbols(e);if(i.length!==1||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}),SS}function qSe(){return wS||(wS=!0,CS=Error),CS}function $Se(){return IS||(IS=!0,TS=EvalError),TS}function eAe(){return OS||(OS=!0,PS=RangeError),PS}function tAe(){return RS||(RS=!0,_S=ReferenceError),_S}function MY(){return xS||(xS=!0,kS=SyntaxError),kS}function Jg(){return LS||(LS=!0,DS=TypeError),DS}function nAe(){return MS||(MS=!0,NS=URIError),NS}function rAe(){if(BS)return Mv;BS=!0;var e=typeof Symbol<"u"&&Symbol,t=KSe();return Mv=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},Mv}function iAe(){if(FS)return Bv;FS=!0;var e={__proto__:null,foo:{}},t=Object;return Bv=function(){return{__proto__:e}.foo===e.foo&&!(e instanceof t)},Bv}function oAe(){if(US)return Fv;US=!0;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,n=Math.max,r="[object Function]",i=function(a,c){for(var l=[],u=0;u<a.length;u+=1)l[u]=a[u];for(var d=0;d<c.length;d+=1)l[d+a.length]=c[d];return l},o=function(a,c){for(var l=[],u=c,d=0;u<a.length;u+=1,d+=1)l[d]=a[u];return l},s=function(a,c){for(var l="",u=0;u<a.length;u+=1)l+=a[u],u+1<a.length&&(l+=c);return l};return Fv=function(a){var c=this;if(typeof c!="function"||t.apply(c)!==r)throw new TypeError(e+c);for(var l=o(arguments,1),u,d=function(){if(this instanceof u){var m=c.apply(this,i(l,arguments));return Object(m)===m?m:this}return c.apply(a,i(l,arguments))},f=n(0,c.length-l.length),h=[],p=0;p<f;p++)h[p]="$"+p;if(u=Function("binder","return function ("+s(h,",")+"){ return binder.apply(this,arguments); }")(d),c.prototype){var g=function(){};g.prototype=c.prototype,u.prototype=new g,g.prototype=null}return u},Fv}function pT(){if(jS)return Uv;jS=!0;var e=oAe();return Uv=Function.prototype.bind||e,Uv}function sAe(){if(HS)return jv;HS=!0;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,n=pT();return jv=n.call(e,t),jv}function Wp(){if(zS)return Hv;zS=!0;var e,t=qSe(),n=$Se(),r=eAe(),i=tAe(),o=MY(),s=Jg(),a=nAe(),c=Function,l=function(M){try{return c('"use strict"; return ('+M+").constructor;")()}catch{}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch{u=null}var d=function(){throw new s},f=u?(function(){try{return arguments.callee,d}catch{try{return u(arguments,"callee").get}catch{return d}}})():d,h=rAe()(),p=iAe()(),g=Object.getPrototypeOf||(p?function(M){return M.__proto__}:null),m={},y=typeof Uint8Array>"u"||!g?e:g(Uint8Array),v={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":h&&g?g([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":t,"%eval%":eval,"%EvalError%":n,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":c,"%GeneratorFunction%":m,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":h&&g?g(g([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!h||!g?e:g(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":r,"%ReferenceError%":i,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!h||!g?e:g(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":h&&g?g(""[Symbol.iterator]()):e,"%Symbol%":h?Symbol:e,"%SyntaxError%":o,"%ThrowTypeError%":f,"%TypedArray%":y,"%TypeError%":s,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":a,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet};if(g)try{null.error}catch(M){var E=g(g(M));v["%Error.prototype%"]=E}var b=function M(B){var q;if(B==="%AsyncFunction%")q=l("async function () {}");else if(B==="%GeneratorFunction%")q=l("function* () {}");else if(B==="%AsyncGeneratorFunction%")q=l("async function* () {}");else if(B==="%AsyncGenerator%"){var z=M("%AsyncGeneratorFunction%");z&&(q=z.prototype)}else if(B==="%AsyncIteratorPrototype%"){var A=M("%AsyncGenerator%");A&&g&&(q=g(A.prototype))}return v[B]=q,q},S={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},w=pT(),C=sAe(),_=w.call(Function.call,Array.prototype.concat),I=w.call(Function.apply,Array.prototype.splice),O=w.call(Function.call,String.prototype.replace),L=w.call(Function.call,String.prototype.slice),R=w.call(Function.call,RegExp.prototype.exec),F=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,W=/\\(\\)?/g,J=function(M){var B=L(M,0,1),q=L(M,-1);if(B==="%"&&q!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(q==="%"&&B!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var z=[];return O(M,F,function(A,T,k,j){z[z.length]=k?O(j,W,"$1"):T||A}),z},Y=function(M,B){var q=M,z;if(C(S,q)&&(z=S[q],q="%"+z[0]+"%"),C(v,q)){var A=v[q];if(A===m&&(A=b(q)),typeof A>"u"&&!B)throw new s("intrinsic "+M+" exists, but is not available. Please file an issue!");return{alias:z,name:q,value:A}}throw new o("intrinsic "+M+" does not exist!")};return Hv=function(M,B){if(typeof M!="string"||M.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof B!="boolean")throw new s('"allowMissing" argument must be a boolean');if(R(/^%?[^%]*%?$/,M)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var q=J(M),z=q.length>0?q[0]:"",A=Y("%"+z+"%",B),T=A.name,k=A.value,j=!1,re=A.alias;re&&(z=re[0],I(q,_([0,1],re)));for(var me=1,te=!0;me<q.length;me+=1){var X=q[me],fe=L(X,0,1),le=L(X,-1);if((fe==='"'||fe==="'"||fe==="`"||le==='"'||le==="'"||le==="`")&&fe!==le)throw new o("property names with quotes must have matching quotes");if((X==="constructor"||!te)&&(j=!0),z+="."+X,T="%"+z+"%",C(v,T))k=v[T];else if(k!=null){if(!(X in k)){if(!B)throw new s("base intrinsic for "+M+" exists, but the property is not available.");return}if(u&&me+1>=q.length){var ve=u(k,X);te=!!ve,te&&"get"in ve&&!("originalValue"in ve.get)?k=ve.get:k=k[X]}else te=C(k,X),k=k[X];te&&!j&&(v[T]=k)}}return k},Hv}function mT(){if(WS)return zv;WS=!0;var e=Wp(),t=e("%Object.defineProperty%",!0)||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return zv=t,zv}function BY(){if(VS)return Wv;VS=!0;var e=Wp(),t=e("%Object.getOwnPropertyDescriptor%",!0);if(t)try{t([],"length")}catch{t=null}return Wv=t,Wv}function aAe(){if(GS)return Vv;GS=!0;var e=mT(),t=MY(),n=Jg(),r=BY();return Vv=function(i,o,s){if(!i||typeof i!="object"&&typeof i!="function")throw new n("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new n("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new n("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new n("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new n("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new n("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6?arguments[6]:!1,d=!!r&&r(i,o);if(e)e(i,o,{configurable:l===null&&d?d.configurable:!l,enumerable:a===null&&d?d.enumerable:!a,value:s,writable:c===null&&d?d.writable:!c});else if(u||!a&&!c&&!l)i[o]=s;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Vv}function cAe(){if(JS)return Gv;JS=!0;var e=mT(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},Gv=t,Gv}function lAe(){if(ZS)return Jv;ZS=!0;var e=Wp(),t=aAe(),n=cAe()(),r=BY(),i=Jg(),o=e("%Math.floor%");return Jv=function(s,a){if(typeof s!="function")throw new i("`fn` is not a function");if(typeof a!="number"||a<0||a>4294967295||o(a)!==a)throw new i("`length` must be a positive 32-bit integer");var c=arguments.length>2&&!!arguments[2],l=!0,u=!0;if("length"in s&&r){var d=r(s,"length");d&&!d.configurable&&(l=!1),d&&!d.writable&&(u=!1)}return(l||u||!c)&&(n?t(s,"length",a,!0,!0):t(s,"length",a)),s},Jv}function uAe(){if(YS)return hh;YS=!0;var e=pT(),t=Wp(),n=lAe(),r=Jg(),i=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),s=t("%Reflect.apply%",!0)||e.call(o,i),a=mT(),c=t("%Math.max%");hh=function(u){if(typeof u!="function")throw new r("a function is required");var d=s(e,o,arguments);return n(d,1+c(0,u.length-(arguments.length-1)),!0)};var l=function(){return s(e,i,arguments)};return a?a(hh,"apply",{value:l}):hh.apply=l,hh}function dAe(){if(XS)return Zv;XS=!0;var e=Wp(),t=uAe(),n=t(e("String.prototype.indexOf"));return Zv=function(r,i){var o=e(r,!!i);return typeof o=="function"&&n(r,".prototype.")>-1?t(o):o},Zv}var SS,AS,CS,wS,TS,IS,PS,OS,_S,RS,kS,xS,DS,LS,NS,MS,Mv,BS,Bv,FS,Fv,US,Uv,jS,jv,HS,Hv,zS,zv,WS,Wv,VS,Vv,GS,Gv,JS,Jv,ZS,hh,YS,Zv,XS,fAe=Vs(()=>{tt(),rt(),nt(),SS={},AS=!1,CS={},wS=!1,TS={},IS=!1,PS={},OS=!1,_S={},RS=!1,kS={},xS=!1,DS={},LS=!1,NS={},MS=!1,Mv={},BS=!1,Bv={},FS=!1,Fv={},US=!1,Uv={},jS=!1,jv={},HS=!1,Hv={},zS=!1,zv={},WS=!1,Wv={},VS=!1,Vv={},GS=!1,Gv={},JS=!1,Jv={},ZS=!1,hh={},YS=!1,Zv={},XS=!1});function gT(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function hAe(){!ef||!F0||(ef=!1,F0.length?Qc=F0.concat(Qc):pm=-1,Qc.length&&FY())}function FY(){if(!ef){var e=setTimeout(hAe,0);ef=!0;for(var t=Qc.length;t;){for(F0=Qc,Qc=[];++pm<t;)F0&&F0[pm].run();pm=-1,t=Qc.length}F0=null,ef=!1,clearTimeout(e)}}function pAe(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Qc.push(new UY(e,t)),Qc.length===1&&!ef&&setTimeout(FY,0)}function UY(e,t){this.fun=e,this.array=t}function Fo(){}function mAe(e){gT("_linkedBinding")}function gAe(e){gT("dlopen")}function vAe(){return[]}function yAe(){return[]}function EAe(e,t){if(!e)throw new Error(t||"assertion error")}function bAe(){return!1}function SAe(){return Kl.now()/1e3}function b8(e){var t=Math.floor((Date.now()-Kl.now())*.001),n=Kl.now()*.001,r=Math.floor(n)+t,i=Math.floor(n%1*1e9);return e&&(r=r-e[0],i=i-e[1],i<0&&(r--,i+=Yv)),[r,i]}function Hu(){return vT}function AAe(e){return[]}var Qc,ef,F0,pm,Ik,Pk,Ok,_k,Rk,kk,xk,Dk,Lk,Nk,Mk,Bk,Fk,Uk,jk,Hk,zk,Wk,Vk,Gk,Jk,M2,Zk,Yk,Xk,Qk,Kk,qk,$k,ex,tx,nx,rx,ix,ox,sx,ax,cx,lx,ux,dx,fx,hx,px,mx,gx,vx,Kl,S8,Yv,yx,Ex,bx,Sx,Ax,Cx,Tx,Ix,Px,Ox,_x,vT,jY=Vs(()=>{tt(),rt(),nt(),Qc=[],ef=!1,pm=-1,UY.prototype.run=function(){this.fun.apply(null,this.array)},Ik="browser",Pk="x64",Ok="browser",_k={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Rk=["/usr/bin/node"],kk=[],xk="v16.8.0",Dk={},Lk=function(e,t){console.warn((t?t+": ":"")+e)},Nk=function(e){gT("binding")},Mk=function(e){return 0},Bk=function(){return"/"},Fk=function(e){},Uk={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},jk=Fo,Hk=[],zk={},Wk=!1,Vk={},Gk=Fo,Jk=Fo,M2=function(){return{}},Zk=M2,Yk=M2,Xk=Fo,Qk=Fo,Kk=Fo,qk={},$k={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},ex=Fo,tx=Fo,nx=Fo,rx=Fo,ix=Fo,ox=Fo,sx=Fo,ax=void 0,cx=void 0,lx=void 0,ux=Fo,dx=2,fx=1,hx="/bin/usr/node",px=9229,mx="node",gx=[],vx=Fo,Kl={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Kl.now===void 0&&(S8=Date.now(),Kl.timing&&Kl.timing.navigationStart&&(S8=Kl.timing.navigationStart),Kl.now=()=>Date.now()-S8),Yv=1e9,b8.bigint=function(e){var t=b8(e);return typeof BigInt>"u"?t[0]*Yv+t[1]:BigInt(t[0]*Yv)+BigInt(t[1])},yx=10,Ex={},bx=0,Sx=Hu,Ax=Hu,Cx=Hu,Tx=Hu,Ix=Hu,Px=Fo,Ox=Hu,_x=Hu,vT={version:xk,versions:Dk,arch:Pk,platform:Ok,release:Uk,_rawDebug:jk,moduleLoadList:Hk,binding:Nk,_linkedBinding:mAe,_events:Ex,_eventsCount:bx,_maxListeners:yx,on:Hu,addListener:Sx,once:Ax,off:Cx,removeListener:Tx,removeAllListeners:Ix,emit:Px,prependListener:Ox,prependOnceListener:_x,listeners:AAe,domain:zk,_exiting:Wk,config:Vk,dlopen:gAe,uptime:SAe,_getActiveRequests:vAe,_getActiveHandles:yAe,reallyExit:Gk,_kill:Jk,cpuUsage:M2,resourceUsage:Zk,memoryUsage:Yk,kill:Xk,exit:Qk,openStdin:Kk,allowedNodeEnvironmentFlags:qk,assert:EAe,features:$k,_fatalExceptions:ex,setUncaughtExceptionCaptureCallback:tx,hasUncaughtExceptionCaptureCallback:bAe,emitWarning:Lk,nextTick:pAe,_tickCallback:nx,_debugProcess:rx,_debugEnd:ix,_startProfilerIdleNotifier:ox,_stopProfilerIdleNotifier:sx,stdout:ax,stdin:lx,stderr:cx,abort:ux,umask:Mk,chdir:Fk,cwd:Bk,env:_k,title:Ik,argv:Rk,execArgv:kk,pid:dx,ppid:fx,execPath:hx,debugPort:px,hrtime:b8,argv0:mx,_preload_modules:gx,setSourceMapsEnabled:vx}});function CAe(){if(QS)return Xv;QS=!0;var e=vT;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function n(o,s){for(var a="",c=0,l=-1,u=0,d,f=0;f<=o.length;++f){if(f<o.length)d=o.charCodeAt(f);else{if(d===47)break;d=47}if(d===47){if(!(l===f-1||u===1))if(l!==f-1&&u===2){if(a.length<2||c!==2||a.charCodeAt(a.length-1)!==46||a.charCodeAt(a.length-2)!==46){if(a.length>2){var h=a.lastIndexOf("/");if(h!==a.length-1){h===-1?(a="",c=0):(a=a.slice(0,h),c=a.length-1-a.lastIndexOf("/")),l=f,u=0;continue}}else if(a.length===2||a.length===1){a="",c=0,l=f,u=0;continue}}s&&(a.length>0?a+="/..":a="..",c=2)}else a.length>0?a+="/"+o.slice(l+1,f):a=o.slice(l+1,f),c=f-l-1;l=f,u=0}else d===46&&u!==-1?++u:u=-1}return a}function r(o,s){var a=s.dir||s.root,c=s.base||(s.name||"")+(s.ext||"");return a?a===s.root?a+c:a+o+c:c}var i={resolve:function(){for(var o="",s=!1,a,c=arguments.length-1;c>=-1&&!s;c--){var l;c>=0?l=arguments[c]:(a===void 0&&(a=e.cwd()),l=a),t(l),l.length!==0&&(o=l+"/"+o,s=l.charCodeAt(0)===47)}return o=n(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(t(o),o.length===0)return".";var s=o.charCodeAt(0)===47,a=o.charCodeAt(o.length-1)===47;return o=n(o,!s),o.length===0&&!s&&(o="."),o.length>0&&a&&(o+="/"),s?"/"+o:o},isAbsolute:function(o){return t(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,s=0;s<arguments.length;++s){var a=arguments[s];t(a),a.length>0&&(o===void 0?o=a:o+="/"+a)}return o===void 0?".":i.normalize(o)},relative:function(o,s){if(t(o),t(s),o===s||(o=i.resolve(o),s=i.resolve(s),o===s))return"";for(var a=1;a<o.length&&o.charCodeAt(a)===47;++a);for(var c=o.length,l=c-a,u=1;u<s.length&&s.charCodeAt(u)===47;++u);for(var d=s.length,f=d-u,h=l<f?l:f,p=-1,g=0;g<=h;++g){if(g===h){if(f>h){if(s.charCodeAt(u+g)===47)return s.slice(u+g+1);if(g===0)return s.slice(u+g)}else l>h&&(o.charCodeAt(a+g)===47?p=g:g===0&&(p=0));break}var m=o.charCodeAt(a+g),y=s.charCodeAt(u+g);if(m!==y)break;m===47&&(p=g)}var v="";for(g=a+p+1;g<=c;++g)(g===c||o.charCodeAt(g)===47)&&(v.length===0?v+="..":v+="/..");return v.length>0?v+s.slice(u+p):(u+=p,s.charCodeAt(u)===47&&++u,s.slice(u))},_makeLong:function(o){return o},dirname:function(o){if(t(o),o.length===0)return".";for(var s=o.charCodeAt(0),a=s===47,c=-1,l=!0,u=o.length-1;u>=1;--u)if(s=o.charCodeAt(u),s===47){if(!l){c=u;break}}else l=!1;return c===-1?a?"/":".":a&&c===1?"//":o.slice(0,c)},basename:function(o,s){if(s!==void 0&&typeof s!="string")throw new TypeError('"ext" argument must be a string');t(o);var a=0,c=-1,l=!0,u;if(s!==void 0&&s.length>0&&s.length<=o.length){if(s.length===o.length&&s===o)return"";var d=s.length-1,f=-1;for(u=o.length-1;u>=0;--u){var h=o.charCodeAt(u);if(h===47){if(!l){a=u+1;break}}else f===-1&&(l=!1,f=u+1),d>=0&&(h===s.charCodeAt(d)?--d===-1&&(c=u):(d=-1,c=f))}return a===c?c=f:c===-1&&(c=o.length),o.slice(a,c)}else{for(u=o.length-1;u>=0;--u)if(o.charCodeAt(u)===47){if(!l){a=u+1;break}}else c===-1&&(l=!1,c=u+1);return c===-1?"":o.slice(a,c)}},extname:function(o){t(o);for(var s=-1,a=0,c=-1,l=!0,u=0,d=o.length-1;d>=0;--d){var f=o.charCodeAt(d);if(f===47){if(!l){a=d+1;break}continue}c===-1&&(l=!1,c=d+1),f===46?s===-1?s=d:u!==1&&(u=1):s!==-1&&(u=-1)}return s===-1||c===-1||u===0||u===1&&s===c-1&&s===a+1?"":o.slice(s,c)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return r("/",o)},parse:function(o){t(o);var s={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return s;var a=o.charCodeAt(0),c=a===47,l;c?(s.root="/",l=1):l=0;for(var u=-1,d=0,f=-1,h=!0,p=o.length-1,g=0;p>=l;--p){if(a=o.charCodeAt(p),a===47){if(!h){d=p+1;break}continue}f===-1&&(h=!1,f=p+1),a===46?u===-1?u=p:g!==1&&(g=1):u!==-1&&(g=-1)}return u===-1||f===-1||g===0||g===1&&u===f-1&&u===d+1?f!==-1&&(d===0&&c?s.base=s.name=o.slice(1,f):s.base=s.name=o.slice(d,f)):(d===0&&c?(s.name=o.slice(1,u),s.base=o.slice(1,f)):(s.name=o.slice(d,u),s.base=o.slice(d,f)),s.ext=o.slice(u,f)),d>0?s.dir=o.slice(0,d-1):c&&(s.dir="/"),s},sep:"/",delimiter:":",win32:null,posix:null};return i.posix=i,Xv=i,Xv}var Xv,QS,KS,wAe=Vs(()=>{tt(),rt(),nt(),jY(),Xv={},QS=!1,KS=CAe()}),HY={};jp(HY,{URL:()=>KY,Url:()=>JY,default:()=>Ho,fileURLToPath:()=>WY,format:()=>ZY,parse:()=>QY,pathToFileURL:()=>VY,resolve:()=>YY,resolveObject:()=>XY});function TAe(){if(qS)return Qv;qS=!0;var e=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=e&&t&&typeof t.get=="function"?t.get:null,r=e&&Map.prototype.forEach,i=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=i&&o&&typeof o.get=="function"?o.get:null,a=i&&Set.prototype.forEach,c=typeof WeakMap=="function"&&WeakMap.prototype,l=c?WeakMap.prototype.has:null,u=typeof WeakSet=="function"&&WeakSet.prototype,d=u?WeakSet.prototype.has:null,f=typeof WeakRef=="function"&&WeakRef.prototype,h=f?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,g=Object.prototype.toString,m=Function.prototype.toString,y=String.prototype.match,v=String.prototype.slice,E=String.prototype.replace,b=String.prototype.toUpperCase,S=String.prototype.toLowerCase,w=RegExp.prototype.test,C=Array.prototype.concat,_=Array.prototype.join,I=Array.prototype.slice,O=Math.floor,L=typeof BigInt=="function"?BigInt.prototype.valueOf:null,R=Object.getOwnPropertySymbols,F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,W=typeof Symbol=="function"&&typeof Symbol.iterator=="object",J=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===W||!0)?Symbol.toStringTag:null,Y=Object.prototype.propertyIsEnumerable,M=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(ue){return ue.__proto__}:null);function B(ue,Ee){if(ue===1/0||ue===-1/0||ue!==ue||ue&&ue>-1e3&&ue<1e3||w.call(/e/,Ee))return Ee;var He=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof ue=="number"){var Xe=ue<0?-O(-ue):O(ue);if(Xe!==ue){var qe=String(Xe),It=v.call(Ee,qe.length+1);return E.call(qe,He,"$&_")+"."+E.call(E.call(It,/([0-9]{3})/g,"$&_"),/_$/,"")}}return E.call(Ee,He,"$&_")}var q=GY,z=q.custom,A=ve(z)?z:null;Qv=function ue(Ee,He,Xe,qe){var It=He||{};if(pe(It,"quoteStyle")&&It.quoteStyle!=="single"&&It.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(pe(It,"maxStringLength")&&(typeof It.maxStringLength=="number"?It.maxStringLength<0&&It.maxStringLength!==1/0:It.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var We=pe(It,"customInspect")?It.customInspect:!0;if(typeof We!="boolean"&&We!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(pe(It,"indent")&&It.indent!==null&&It.indent!==" "&&!(parseInt(It.indent,10)===It.indent&&It.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(pe(It,"numericSeparator")&&typeof It.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var $e=It.numericSeparator;if(typeof Ee>"u")return"undefined";if(Ee===null)return"null";if(typeof Ee=="boolean")return Ee?"true":"false";if(typeof Ee=="string")return oe(Ee,It);if(typeof Ee=="number"){if(Ee===0)return 1/0/Ee>0?"0":"-0";var ht=String(Ee);return $e?B(Ee,ht):ht}if(typeof Ee=="bigint"){var Ht=String(Ee)+"n";return $e?B(Ee,Ht):Ht}var _t=typeof It.depth>"u"?5:It.depth;if(typeof Xe>"u"&&(Xe=0),Xe>=_t&&_t>0&&typeof Ee=="object")return j(Ee)?"[Array]":"[Object]";var qt=we(It,Xe);if(typeof qe>"u")qe=[];else if(ye(qe,Ee)>=0)return"[Circular]";function nn(hr,si,No){if(si&&(qe=I.call(qe),qe.push(si)),No){var Bi={depth:It.depth};return pe(It,"quoteStyle")&&(Bi.quoteStyle=It.quoteStyle),ue(hr,Bi,Xe+1,qe)}return ue(hr,It,Xe+1,qe)}if(typeof Ee=="function"&&!me(Ee)){var kn=ce(Ee),Jn=Le(Ee,nn);return"[Function"+(kn?": "+kn:" (anonymous)")+"]"+(Jn.length>0?" { "+_.call(Jn,", ")+" }":"")}if(ve(Ee)){var oi=W?E.call(String(Ee),/^(Symbol\(.*\))_[^)]*$/,"$1"):F.call(Ee);return typeof Ee=="object"&&!W?x(oi):oi}if(Ce(Ee)){for(var Se="<"+S.call(String(Ee.nodeName)),Oe=Ee.attributes||[],ct=0;ct<Oe.length;ct++)Se+=" "+Oe[ct].name+"="+T(k(Oe[ct].value),"double",It);return Se+=">",Ee.childNodes&&Ee.childNodes.length&&(Se+="..."),Se+="</"+S.call(String(Ee.nodeName))+">",Se}if(j(Ee)){if(Ee.length===0)return"[]";var gt=Le(Ee,nn);return qt&&!de(gt)?"["+Ae(gt,qt)+"]":"[ "+_.call(gt,", ")+" ]"}if(te(Ee)){var Et=Le(Ee,nn);return!("cause"in Error.prototype)&&"cause"in Ee&&!Y.call(Ee,"cause")?"{ ["+String(Ee)+"] "+_.call(C.call("[cause]: "+nn(Ee.cause),Et),", ")+" }":Et.length===0?"["+String(Ee)+"]":"{ ["+String(Ee)+"] "+_.call(Et,", ")+" }"}if(typeof Ee=="object"&&We){if(A&&typeof Ee[A]=="function"&&q)return q(Ee,{depth:_t-Xe});if(We!=="symbol"&&typeof Ee.inspect=="function")return Ee.inspect()}if(ee(Ee)){var $n=[];return r&&r.call(Ee,function(hr,si){$n.push(nn(si,Ee,!0)+" => "+nn(hr,Ee))}),U("Map",n.call(Ee),$n,qt)}if(ie(Ee)){var Mi=[];return a&&a.call(Ee,function(hr){Mi.push(nn(hr,Ee))}),U("Set",s.call(Ee),Mi,qt)}if($(Ee))return N("WeakMap");if(Ie(Ee))return N("WeakSet");if(ge(Ee))return N("WeakRef");if(fe(Ee))return x(nn(Number(Ee)));if(Z(Ee))return x(nn(L.call(Ee)));if(le(Ee))return x(p.call(Ee));if(X(Ee))return x(nn(String(Ee)));if(typeof window<"u"&&Ee===window)return"{ [object Window] }";if(typeof globalThis<"u"&&Ee===globalThis||typeof Kv<"u"&&Ee===Kv)return"{ [object globalThis] }";if(!re(Ee)&&!me(Ee)){var $o=Le(Ee,nn),Tl=M?M(Ee)===Object.prototype:Ee instanceof Object||Ee.constructor===Object,ua=Ee instanceof Object?"":"null prototype",Ve=!Tl&&J&&Object(Ee)===Ee&&J in Ee?v.call(K(Ee),8,-1):ua?"Object":"",Ct=Tl||typeof Ee.constructor!="function"?"":Ee.constructor.name?Ee.constructor.name+" ":"",un=Ct+(Ve||ua?"["+_.call(C.call([],Ve||[],ua||[]),": ")+"] ":"");return $o.length===0?un+"{}":qt?un+"{"+Ae($o,qt)+"}":un+"{ "+_.call($o,", ")+" }"}return String(Ee)};function T(ue,Ee,He){var Xe=(He.quoteStyle||Ee)==="double"?'"':"'";return Xe+ue+Xe}function k(ue){return E.call(String(ue),/"/g,"&quot;")}function j(ue){return K(ue)==="[object Array]"&&(!J||!(typeof ue=="object"&&J in ue))}function re(ue){return K(ue)==="[object Date]"&&(!J||!(typeof ue=="object"&&J in ue))}function me(ue){return K(ue)==="[object RegExp]"&&(!J||!(typeof ue=="object"&&J in ue))}function te(ue){return K(ue)==="[object Error]"&&(!J||!(typeof ue=="object"&&J in ue))}function X(ue){return K(ue)==="[object String]"&&(!J||!(typeof ue=="object"&&J in ue))}function fe(ue){return K(ue)==="[object Number]"&&(!J||!(typeof ue=="object"&&J in ue))}function le(ue){return K(ue)==="[object Boolean]"&&(!J||!(typeof ue=="object"&&J in ue))}function ve(ue){if(W)return ue&&typeof ue=="object"&&ue instanceof Symbol;if(typeof ue=="symbol")return!0;if(!ue||typeof ue!="object"||!F)return!1;try{return F.call(ue),!0}catch{}return!1}function Z(ue){if(!ue||typeof ue!="object"||!L)return!1;try{return L.call(ue),!0}catch{}return!1}var ae=Object.prototype.hasOwnProperty||function(ue){return ue in(this||Kv)};function pe(ue,Ee){return ae.call(ue,Ee)}function K(ue){return g.call(ue)}function ce(ue){if(ue.name)return ue.name;var Ee=y.call(m.call(ue),/^function\s*([\w$]+)/);return Ee?Ee[1]:null}function ye(ue,Ee){if(ue.indexOf)return ue.indexOf(Ee);for(var He=0,Xe=ue.length;He<Xe;He++)if(ue[He]===Ee)return He;return-1}function ee(ue){if(!n||!ue||typeof ue!="object")return!1;try{n.call(ue);try{s.call(ue)}catch{return!0}return ue instanceof Map}catch{}return!1}function $(ue){if(!l||!ue||typeof ue!="object")return!1;try{l.call(ue,l);try{d.call(ue,d)}catch{return!0}return ue instanceof WeakMap}catch{}return!1}function ge(ue){if(!h||!ue||typeof ue!="object")return!1;try{return h.call(ue),!0}catch{}return!1}function ie(ue){if(!s||!ue||typeof ue!="object")return!1;try{s.call(ue);try{n.call(ue)}catch{return!0}return ue instanceof Set}catch{}return!1}function Ie(ue){if(!d||!ue||typeof ue!="object")return!1;try{d.call(ue,d);try{l.call(ue,l)}catch{return!0}return ue instanceof WeakSet}catch{}return!1}function Ce(ue){return!ue||typeof ue!="object"?!1:typeof HTMLElement<"u"&&ue instanceof HTMLElement?!0:typeof ue.nodeName=="string"&&typeof ue.getAttribute=="function"}function oe(ue,Ee){if(ue.length>Ee.maxStringLength){var He=ue.length-Ee.maxStringLength,Xe="... "+He+" more character"+(He>1?"s":"");return oe(v.call(ue,0,Ee.maxStringLength),Ee)+Xe}var qe=E.call(E.call(ue,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Ne);return T(qe,"single",Ee)}function Ne(ue){var Ee=ue.charCodeAt(0),He={8:"b",9:"t",10:"n",12:"f",13:"r"}[Ee];return He?"\\"+He:"\\x"+(Ee<16?"0":"")+b.call(Ee.toString(16))}function x(ue){return"Object("+ue+")"}function N(ue){return ue+" { ? }"}function U(ue,Ee,He,Xe){var qe=Xe?Ae(He,Xe):_.call(He,", ");return ue+" ("+Ee+") {"+qe+"}"}function de(ue){for(var Ee=0;Ee<ue.length;Ee++)if(ye(ue[Ee],`
`)>=0)return!1;return!0}function we(ue,Ee){var He;if(ue.indent===" ")He=" ";else if(typeof ue.indent=="number"&&ue.indent>0)He=_.call(Array(ue.indent+1)," ");else return null;return{base:He,prev:_.call(Array(Ee+1),He)}}function Ae(ue,Ee){if(ue.length===0)return"";var He=`
`+Ee.prev+Ee.base;return He+_.call(ue,","+He)+`
`+Ee.prev}function Le(ue,Ee){var He=j(ue),Xe=[];if(He){Xe.length=ue.length;for(var qe=0;qe<ue.length;qe++)Xe[qe]=pe(ue,qe)?Ee(ue[qe],ue):""}var It=typeof R=="function"?R(ue):[],We;if(W){We={};for(var $e=0;$e<It.length;$e++)We["$"+It[$e]]=It[$e]}for(var ht in ue)pe(ue,ht)&&(He&&String(Number(ht))===ht&&ht<ue.length||W&&We["$"+ht]instanceof Symbol||(w.call(/[^\w$]/,ht)?Xe.push(Ee(ht,ue)+": "+Ee(ue[ht],ue)):Xe.push(ht+": "+Ee(ue[ht],ue))));if(typeof R=="function")for(var Ht=0;Ht<It.length;Ht++)Y.call(ue,It[Ht])&&Xe.push("["+Ee(It[Ht])+"]: "+Ee(ue[It[Ht]],ue));return Xe}return Qv}function IAe(){if($S)return qv;$S=!0;var e=Wp(),t=dAe(),n=TAe(),r=Jg(),i=e("%WeakMap%",!0),o=e("%Map%",!0),s=t("WeakMap.prototype.get",!0),a=t("WeakMap.prototype.set",!0),c=t("WeakMap.prototype.has",!0),l=t("Map.prototype.get",!0),u=t("Map.prototype.set",!0),d=t("Map.prototype.has",!0),f=function(m,y){for(var v=m,E;(E=v.next)!==null;v=E)if(E.key===y)return v.next=E.next,E.next=m.next,m.next=E,E},h=function(m,y){var v=f(m,y);return v&&v.value},p=function(m,y,v){var E=f(m,y);E?E.value=v:m.next={key:y,next:m.next,value:v}},g=function(m,y){return!!f(m,y)};return qv=function(){var m,y,v,E={assert:function(b){if(!E.has(b))throw new r("Side channel does not contain "+n(b))},get:function(b){if(i&&b&&(typeof b=="object"||typeof b=="function")){if(m)return s(m,b)}else if(o){if(y)return l(y,b)}else if(v)return h(v,b)},has:function(b){if(i&&b&&(typeof b=="object"||typeof b=="function")){if(m)return c(m,b)}else if(o){if(y)return d(y,b)}else if(v)return g(v,b);return!1},set:function(b,S){i&&b&&(typeof b=="object"||typeof b=="function")?(m||(m=new i),a(m,b,S)):o?(y||(y=new o),u(y,b,S)):(v||(v={key:{},next:null}),p(v,b,S))}};return E},qv}function yT(){if(eA)return $v;eA=!0;var e=String.prototype.replace,t=/%20/g,n={RFC1738:"RFC1738",RFC3986:"RFC3986"};return $v={default:n.RFC3986,formatters:{RFC1738:function(r){return e.call(r,t,"+")},RFC3986:function(r){return String(r)}},RFC1738:n.RFC1738,RFC3986:n.RFC3986},$v}function zY(){if(tA)return e3;tA=!0;var e=yT(),t=Object.prototype.hasOwnProperty,n=Array.isArray,r=(function(){for(var m=[],y=0;y<256;++y)m.push("%"+((y<16?"0":"")+y.toString(16)).toUpperCase());return m})(),i=function(m){for(;m.length>1;){var y=m.pop(),v=y.obj[y.prop];if(n(v)){for(var E=[],b=0;b<v.length;++b)typeof v[b]<"u"&&E.push(v[b]);y.obj[y.prop]=E}}},o=function(m,y){for(var v=y&&y.plainObjects?Object.create(null):{},E=0;E<m.length;++E)typeof m[E]<"u"&&(v[E]=m[E]);return v},s=function m(y,v,E){if(!v)return y;if(typeof v!="object"){if(n(y))y.push(v);else if(y&&typeof y=="object")(E&&(E.plainObjects||E.allowPrototypes)||!t.call(Object.prototype,v))&&(y[v]=!0);else return[y,v];return y}if(!y||typeof y!="object")return[y].concat(v);var b=y;return n(y)&&!n(v)&&(b=o(y,E)),n(y)&&n(v)?(v.forEach(function(S,w){if(t.call(y,w)){var C=y[w];C&&typeof C=="object"&&S&&typeof S=="object"?y[w]=m(C,S,E):y.push(S)}else y[w]=S}),y):Object.keys(v).reduce(function(S,w){var C=v[w];return t.call(S,w)?S[w]=m(S[w],C,E):S[w]=C,S},b)},a=function(m,y){return Object.keys(y).reduce(function(v,E){return v[E]=y[E],v},m)},c=function(m,y,v){var E=m.replace(/\+/g," ");if(v==="iso-8859-1")return E.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(E)}catch{return E}},l=1024,u=function(m,y,v,E,b){if(m.length===0)return m;var S=m;if(typeof m=="symbol"?S=Symbol.prototype.toString.call(m):typeof m!="string"&&(S=String(m)),v==="iso-8859-1")return escape(S).replace(/%u[0-9a-f]{4}/gi,function(R){return"%26%23"+parseInt(R.slice(2),16)+"%3B"});for(var w="",C=0;C<S.length;C+=l){for(var _=S.length>=l?S.slice(C,C+l):S,I=[],O=0;O<_.length;++O){var L=_.charCodeAt(O);if(L===45||L===46||L===95||L===126||L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122||b===e.RFC1738&&(L===40||L===41)){I[I.length]=_.charAt(O);continue}if(L<128){I[I.length]=r[L];continue}if(L<2048){I[I.length]=r[192|L>>6]+r[128|L&63];continue}if(L<55296||L>=57344){I[I.length]=r[224|L>>12]+r[128|L>>6&63]+r[128|L&63];continue}O+=1,L=65536+((L&1023)<<10|_.charCodeAt(O)&1023),I[I.length]=r[240|L>>18]+r[128|L>>12&63]+r[128|L>>6&63]+r[128|L&63]}w+=I.join("")}return w},d=function(m){for(var y=[{obj:{o:m},prop:"o"}],v=[],E=0;E<y.length;++E)for(var b=y[E],S=b.obj[b.prop],w=Object.keys(S),C=0;C<w.length;++C){var _=w[C],I=S[_];typeof I=="object"&&I!==null&&v.indexOf(I)===-1&&(y.push({obj:S,prop:_}),v.push(I))}return i(y),m},f=function(m){return Object.prototype.toString.call(m)==="[object RegExp]"},h=function(m){return!m||typeof m!="object"?!1:!!(m.constructor&&m.constructor.isBuffer&&m.constructor.isBuffer(m))},p=function(m,y){return[].concat(m,y)},g=function(m,y){if(n(m)){for(var v=[],E=0;E<m.length;E+=1)v.push(y(m[E]));return v}return y(m)};return e3={arrayToObject:o,assign:a,combine:p,compact:d,decode:c,encode:u,isBuffer:h,isRegExp:f,maybeMap:g,merge:s},e3}function PAe(){if(nA)return t3;nA=!0;var e=IAe(),t=zY(),n=yT(),r=Object.prototype.hasOwnProperty,i={brackets:function(g){return g+"[]"},comma:"comma",indices:function(g,m){return g+"["+m+"]"},repeat:function(g){return g}},o=Array.isArray,s=Array.prototype.push,a=function(g,m){s.apply(g,o(m)?m:[m])},c=Date.prototype.toISOString,l=n.default,u={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:t.encode,encodeValuesOnly:!1,format:l,formatter:n.formatters[l],indices:!1,serializeDate:function(g){return c.call(g)},skipNulls:!1,strictNullHandling:!1},d=function(g){return typeof g=="string"||typeof g=="number"||typeof g=="boolean"||typeof g=="symbol"||typeof g=="bigint"},f={},h=function g(m,y,v,E,b,S,w,C,_,I,O,L,R,F,W,J,Y,M){for(var B=m,q=M,z=0,A=!1;(q=q.get(f))!==void 0&&!A;){var T=q.get(m);if(z+=1,typeof T<"u"){if(T===z)throw new RangeError("Cyclic object value");A=!0}typeof q.get(f)>"u"&&(z=0)}if(typeof I=="function"?B=I(y,B):B instanceof Date?B=R(B):v==="comma"&&o(B)&&(B=t.maybeMap(B,function(K){return K instanceof Date?R(K):K})),B===null){if(S)return _&&!J?_(y,u.encoder,Y,"key",F):y;B=""}if(d(B)||t.isBuffer(B)){if(_){var k=J?y:_(y,u.encoder,Y,"key",F);return[W(k)+"="+W(_(B,u.encoder,Y,"value",F))]}return[W(y)+"="+W(String(B))]}var j=[];if(typeof B>"u")return j;var re;if(v==="comma"&&o(B))J&&_&&(B=t.maybeMap(B,_)),re=[{value:B.length>0?B.join(",")||null:void 0}];else if(o(I))re=I;else{var me=Object.keys(B);re=O?me.sort(O):me}var te=C?y.replace(/\./g,"%2E"):y,X=E&&o(B)&&B.length===1?te+"[]":te;if(b&&o(B)&&B.length===0)return X+"[]";for(var fe=0;fe<re.length;++fe){var le=re[fe],ve=typeof le=="object"&&typeof le.value<"u"?le.value:B[le];if(!(w&&ve===null)){var Z=L&&C?le.replace(/\./g,"%2E"):le,ae=o(B)?typeof v=="function"?v(X,Z):X:X+(L?"."+Z:"["+Z+"]");M.set(m,z);var pe=e();pe.set(f,M),a(j,g(ve,ae,v,E,b,S,w,C,v==="comma"&&J&&o(B)?null:_,I,O,L,R,F,W,J,Y,pe))}}return j},p=function(g){if(!g)return u;if(typeof g.allowEmptyArrays<"u"&&typeof g.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof g.encodeDotInKeys<"u"&&typeof g.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(g.encoder!==null&&typeof g.encoder<"u"&&typeof g.encoder!="function")throw new TypeError("Encoder has to be a function.");var m=g.charset||u.charset;if(typeof g.charset<"u"&&g.charset!=="utf-8"&&g.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var y=n.default;if(typeof g.format<"u"){if(!r.call(n.formatters,g.format))throw new TypeError("Unknown format option provided.");y=g.format}var v=n.formatters[y],E=u.filter;(typeof g.filter=="function"||o(g.filter))&&(E=g.filter);var b;if(g.arrayFormat in i?b=g.arrayFormat:"indices"in g?b=g.indices?"indices":"repeat":b=u.arrayFormat,"commaRoundTrip"in g&&typeof g.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var S=typeof g.allowDots>"u"?g.encodeDotInKeys===!0?!0:u.allowDots:!!g.allowDots;return{addQueryPrefix:typeof g.addQueryPrefix=="boolean"?g.addQueryPrefix:u.addQueryPrefix,allowDots:S,allowEmptyArrays:typeof g.allowEmptyArrays=="boolean"?!!g.allowEmptyArrays:u.allowEmptyArrays,arrayFormat:b,charset:m,charsetSentinel:typeof g.charsetSentinel=="boolean"?g.charsetSentinel:u.charsetSentinel,commaRoundTrip:g.commaRoundTrip,delimiter:typeof g.delimiter>"u"?u.delimiter:g.delimiter,encode:typeof g.encode=="boolean"?g.encode:u.encode,encodeDotInKeys:typeof g.encodeDotInKeys=="boolean"?g.encodeDotInKeys:u.encodeDotInKeys,encoder:typeof g.encoder=="function"?g.encoder:u.encoder,encodeValuesOnly:typeof g.encodeValuesOnly=="boolean"?g.encodeValuesOnly:u.encodeValuesOnly,filter:E,format:y,formatter:v,serializeDate:typeof g.serializeDate=="function"?g.serializeDate:u.serializeDate,skipNulls:typeof g.skipNulls=="boolean"?g.skipNulls:u.skipNulls,sort:typeof g.sort=="function"?g.sort:null,strictNullHandling:typeof g.strictNullHandling=="boolean"?g.strictNullHandling:u.strictNullHandling}};return t3=function(g,m){var y=g,v=p(m),E,b;typeof v.filter=="function"?(b=v.filter,y=b("",y)):o(v.filter)&&(b=v.filter,E=b);var S=[];if(typeof y!="object"||y===null)return"";var w=i[v.arrayFormat],C=w==="comma"&&v.commaRoundTrip;E||(E=Object.keys(y)),v.sort&&E.sort(v.sort);for(var _=e(),I=0;I<E.length;++I){var O=E[I];v.skipNulls&&y[O]===null||a(S,h(y[O],O,w,C,v.allowEmptyArrays,v.strictNullHandling,v.skipNulls,v.encodeDotInKeys,v.encode?v.encoder:null,v.filter,v.sort,v.allowDots,v.serializeDate,v.format,v.formatter,v.encodeValuesOnly,v.charset,_))}var L=S.join(v.delimiter),R=v.addQueryPrefix===!0?"?":"";return v.charsetSentinel&&(v.charset==="iso-8859-1"?R+="utf8=%26%2310003%3B&":R+="utf8=%E2%9C%93&"),L.length>0?R+L:""},t3}function OAe(){if(rA)return n3;rA=!0;var e=zY(),t=Object.prototype.hasOwnProperty,n=Array.isArray,r={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:e.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},i=function(f){return f.replace(/&#(\d+);/g,function(h,p){return String.fromCharCode(parseInt(p,10))})},o=function(f,h){return f&&typeof f=="string"&&h.comma&&f.indexOf(",")>-1?f.split(","):f},s="utf8=%26%2310003%3B",a="utf8=%E2%9C%93",c=function(f,h){var p={__proto__:null},g=h.ignoreQueryPrefix?f.replace(/^\?/,""):f;g=g.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var m=h.parameterLimit===1/0?void 0:h.parameterLimit,y=g.split(h.delimiter,m),v=-1,E,b=h.charset;if(h.charsetSentinel)for(E=0;E<y.length;++E)y[E].indexOf("utf8=")===0&&(y[E]===a?b="utf-8":y[E]===s&&(b="iso-8859-1"),v=E,E=y.length);for(E=0;E<y.length;++E)if(E!==v){var S=y[E],w=S.indexOf("]="),C=w===-1?S.indexOf("="):w+1,_,I;C===-1?(_=h.decoder(S,r.decoder,b,"key"),I=h.strictNullHandling?null:""):(_=h.decoder(S.slice(0,C),r.decoder,b,"key"),I=e.maybeMap(o(S.slice(C+1),h),function(L){return h.decoder(L,r.decoder,b,"value")})),I&&h.interpretNumericEntities&&b==="iso-8859-1"&&(I=i(I)),S.indexOf("[]=")>-1&&(I=n(I)?[I]:I);var O=t.call(p,_);O&&h.duplicates==="combine"?p[_]=e.combine(p[_],I):(!O||h.duplicates==="last")&&(p[_]=I)}return p},l=function(f,h,p,g){for(var m=g?h:o(h,p),y=f.length-1;y>=0;--y){var v,E=f[y];if(E==="[]"&&p.parseArrays)v=p.allowEmptyArrays&&(m===""||p.strictNullHandling&&m===null)?[]:[].concat(m);else{v=p.plainObjects?Object.create(null):{};var b=E.charAt(0)==="["&&E.charAt(E.length-1)==="]"?E.slice(1,-1):E,S=p.decodeDotInKeys?b.replace(/%2E/g,"."):b,w=parseInt(S,10);!p.parseArrays&&S===""?v={0:m}:!isNaN(w)&&E!==S&&String(w)===S&&w>=0&&p.parseArrays&&w<=p.arrayLimit?(v=[],v[w]=m):S!=="__proto__"&&(v[S]=m)}m=v}return m},u=function(f,h,p,g){if(f){var m=p.allowDots?f.replace(/\.([^.[]+)/g,"[$1]"):f,y=/(\[[^[\]]*])/,v=/(\[[^[\]]*])/g,E=p.depth>0&&y.exec(m),b=E?m.slice(0,E.index):m,S=[];if(b){if(!p.plainObjects&&t.call(Object.prototype,b)&&!p.allowPrototypes)return;S.push(b)}for(var w=0;p.depth>0&&(E=v.exec(m))!==null&&w<p.depth;){if(w+=1,!p.plainObjects&&t.call(Object.prototype,E[1].slice(1,-1))&&!p.allowPrototypes)return;S.push(E[1])}if(E){if(p.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+p.depth+" and strictDepth is true");S.push("["+m.slice(E.index)+"]")}return l(S,h,p,g)}},d=function(f){if(!f)return r;if(typeof f.allowEmptyArrays<"u"&&typeof f.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof f.decodeDotInKeys<"u"&&typeof f.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(f.decoder!==null&&typeof f.decoder<"u"&&typeof f.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof f.charset<"u"&&f.charset!=="utf-8"&&f.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var h=typeof f.charset>"u"?r.charset:f.charset,p=typeof f.duplicates>"u"?r.duplicates:f.duplicates;if(p!=="combine"&&p!=="first"&&p!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var g=typeof f.allowDots>"u"?f.decodeDotInKeys===!0?!0:r.allowDots:!!f.allowDots;return{allowDots:g,allowEmptyArrays:typeof f.allowEmptyArrays=="boolean"?!!f.allowEmptyArrays:r.allowEmptyArrays,allowPrototypes:typeof f.allowPrototypes=="boolean"?f.allowPrototypes:r.allowPrototypes,allowSparse:typeof f.allowSparse=="boolean"?f.allowSparse:r.allowSparse,arrayLimit:typeof f.arrayLimit=="number"?f.arrayLimit:r.arrayLimit,charset:h,charsetSentinel:typeof f.charsetSentinel=="boolean"?f.charsetSentinel:r.charsetSentinel,comma:typeof f.comma=="boolean"?f.comma:r.comma,decodeDotInKeys:typeof f.decodeDotInKeys=="boolean"?f.decodeDotInKeys:r.decodeDotInKeys,decoder:typeof f.decoder=="function"?f.decoder:r.decoder,delimiter:typeof f.delimiter=="string"||e.isRegExp(f.delimiter)?f.delimiter:r.delimiter,depth:typeof f.depth=="number"||f.depth===!1?+f.depth:r.depth,duplicates:p,ignoreQueryPrefix:f.ignoreQueryPrefix===!0,interpretNumericEntities:typeof f.interpretNumericEntities=="boolean"?f.interpretNumericEntities:r.interpretNumericEntities,parameterLimit:typeof f.parameterLimit=="number"?f.parameterLimit:r.parameterLimit,parseArrays:f.parseArrays!==!1,plainObjects:typeof f.plainObjects=="boolean"?f.plainObjects:r.plainObjects,strictDepth:typeof f.strictDepth=="boolean"?!!f.strictDepth:r.strictDepth,strictNullHandling:typeof f.strictNullHandling=="boolean"?f.strictNullHandling:r.strictNullHandling}};return n3=function(f,h){var p=d(h);if(f===""||f===null||typeof f>"u")return p.plainObjects?Object.create(null):{};for(var g=typeof f=="string"?c(f,p):f,m=p.plainObjects?Object.create(null):{},y=Object.keys(g),v=0;v<y.length;++v){var E=y[v],b=u(E,g[E],p,typeof f=="string");m=e.merge(m,b,p)}return p.allowSparse===!0?m:e.compact(m)},n3}function _Ae(){if(iA)return r3;iA=!0;var e=PAe(),t=OAe(),n=yT();return r3={formats:n,parse:t,stringify:e},r3}function RAe(){if(oA)return od;oA=!0;var e=id;function t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var n=/^([a-z0-9.+-]+:)/i,r=/:[0-9]*$/,i=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,o=["<",">",'"',"`"," ","\r",`
`," "],s=["{","}","|","\\","^","`"].concat(o),a=["'"].concat(s),c=["%","/","?",";","#"].concat(a),l=["/","?","#"],u=255,d=/^[+a-z0-9A-Z_-]{0,63}$/,f=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,h={javascript:!0,"javascript:":!0},p={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},m=_Ae();function y(S,w,C){if(S&&typeof S=="object"&&S instanceof t)return S;var _=new t;return _.parse(S,w,C),_}t.prototype.parse=function(S,w,C){if(typeof S!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof S);var _=S.indexOf("?"),I=_!==-1&&_<S.indexOf("#")?"?":"#",O=S.split(I),L=/\\/g;O[0]=O[0].replace(L,"/"),S=O.join(I);var R=S;if(R=R.trim(),!C&&S.split("#").length===1){var F=i.exec(R);if(F)return this.path=R,this.href=R,this.pathname=F[1],F[2]?(this.search=F[2],w?this.query=m.parse(this.search.substr(1)):this.query=this.search.substr(1)):w&&(this.search="",this.query={}),this}var W=n.exec(R);if(W){W=W[0];var J=W.toLowerCase();this.protocol=J,R=R.substr(W.length)}if(C||W||R.match(/^\/\/[^@/]+@[^@/]+/)){var Y=R.substr(0,2)==="//";Y&&!(W&&p[W])&&(R=R.substr(2),this.slashes=!0)}if(!p[W]&&(Y||W&&!g[W])){for(var M=-1,B=0;B<l.length;B++){var q=R.indexOf(l[B]);q!==-1&&(M===-1||q<M)&&(M=q)}var z,A;M===-1?A=R.lastIndexOf("@"):A=R.lastIndexOf("@",M),A!==-1&&(z=R.slice(0,A),R=R.slice(A+1),this.auth=decodeURIComponent(z)),M=-1;for(var B=0;B<c.length;B++){var q=R.indexOf(c[B]);q!==-1&&(M===-1||q<M)&&(M=q)}M===-1&&(M=R.length),this.host=R.slice(0,M),R=R.slice(M),this.parseHost(),this.hostname=this.hostname||"";var T=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!T)for(var k=this.hostname.split(/\./),B=0,j=k.length;B<j;B++){var re=k[B];if(re&&!re.match(d)){for(var me="",te=0,X=re.length;te<X;te++)re.charCodeAt(te)>127?me+="x":me+=re[te];if(!me.match(d)){var fe=k.slice(0,B),le=k.slice(B+1),ve=re.match(f);ve&&(fe.push(ve[1]),le.unshift(ve[2])),le.length&&(R="/"+le.join(".")+R),this.hostname=fe.join(".");break}}}this.hostname.length>u?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=e.toASCII(this.hostname));var Z=this.port?":"+this.port:"",ae=this.hostname||"";this.host=ae+Z,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),R[0]!=="/"&&(R="/"+R))}if(!h[J])for(var B=0,j=a.length;B<j;B++){var pe=a[B];if(R.indexOf(pe)!==-1){var K=encodeURIComponent(pe);K===pe&&(K=escape(pe)),R=R.split(pe).join(K)}}var ce=R.indexOf("#");ce!==-1&&(this.hash=R.substr(ce),R=R.slice(0,ce));var ye=R.indexOf("?");if(ye!==-1?(this.search=R.substr(ye),this.query=R.substr(ye+1),w&&(this.query=m.parse(this.query)),R=R.slice(0,ye)):w&&(this.search="",this.query={}),R&&(this.pathname=R),g[J]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var Z=this.pathname||"",ee=this.search||"";this.path=Z+ee}return this.href=this.format(),this};function v(S){return typeof S=="string"&&(S=y(S)),S instanceof t?S.format():t.prototype.format.call(S)}t.prototype.format=function(){var S=this.auth||"";S&&(S=encodeURIComponent(S),S=S.replace(/%3A/i,":"),S+="@");var w=this.protocol||"",C=this.pathname||"",_=this.hash||"",I=!1,O="";this.host?I=S+this.host:this.hostname&&(I=S+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(I+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(O=m.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var L=this.search||O&&"?"+O||"";return w&&w.substr(-1)!==":"&&(w+=":"),this.slashes||(!w||g[w])&&I!==!1?(I="//"+(I||""),C&&C.charAt(0)!=="/"&&(C="/"+C)):I||(I=""),_&&_.charAt(0)!=="#"&&(_="#"+_),L&&L.charAt(0)!=="?"&&(L="?"+L),C=C.replace(/[?#]/g,function(R){return encodeURIComponent(R)}),L=L.replace("#","%23"),w+I+C+L+_};function E(S,w){return y(S,!1,!0).resolve(w)}t.prototype.resolve=function(S){return this.resolveObject(y(S,!1,!0)).format()};function b(S,w){return S?y(S,!1,!0).resolveObject(w):w}return t.prototype.resolveObject=function(S){if(typeof S=="string"){var w=new t;w.parse(S,!1,!0),S=w}for(var C=new t,_=Object.keys(this),I=0;I<_.length;I++){var O=_[I];C[O]=this[O]}if(C.hash=S.hash,S.href==="")return C.href=C.format(),C;if(S.slashes&&!S.protocol){for(var L=Object.keys(S),R=0;R<L.length;R++){var F=L[R];F!=="protocol"&&(C[F]=S[F])}return g[C.protocol]&&C.hostname&&!C.pathname&&(C.pathname="/",C.path=C.pathname),C.href=C.format(),C}if(S.protocol&&S.protocol!==C.protocol){if(!g[S.protocol]){for(var W=Object.keys(S),J=0;J<W.length;J++){var Y=W[J];C[Y]=S[Y]}return C.href=C.format(),C}if(C.protocol=S.protocol,!S.host&&!p[S.protocol]){for(var j=(S.pathname||"").split("/");j.length&&!(S.host=j.shift()););S.host||(S.host=""),S.hostname||(S.hostname=""),j[0]!==""&&j.unshift(""),j.length<2&&j.unshift(""),C.pathname=j.join("/")}else C.pathname=S.pathname;if(C.search=S.search,C.query=S.query,C.host=S.host||"",C.auth=S.auth,C.hostname=S.hostname||S.host,C.port=S.port,C.pathname||C.search){var M=C.pathname||"",B=C.search||"";C.path=M+B}return C.slashes=C.slashes||S.slashes,C.href=C.format(),C}var q=C.pathname&&C.pathname.charAt(0)==="/",z=S.host||S.pathname&&S.pathname.charAt(0)==="/",A=z||q||C.host&&S.pathname,T=A,k=C.pathname&&C.pathname.split("/")||[],j=S.pathname&&S.pathname.split("/")||[],re=C.protocol&&!g[C.protocol];if(re&&(C.hostname="",C.port=null,C.host&&(k[0]===""?k[0]=C.host:k.unshift(C.host)),C.host="",S.protocol&&(S.hostname=null,S.port=null,S.host&&(j[0]===""?j[0]=S.host:j.unshift(S.host)),S.host=null),A=A&&(j[0]===""||k[0]==="")),z)C.host=S.host||S.host===""?S.host:C.host,C.hostname=S.hostname||S.hostname===""?S.hostname:C.hostname,C.search=S.search,C.query=S.query,k=j;else if(j.length)k||(k=[]),k.pop(),k=k.concat(j),C.search=S.search,C.query=S.query;else if(S.search!=null){if(re){C.host=k.shift(),C.hostname=C.host;var me=C.host&&C.host.indexOf("@")>0?C.host.split("@"):!1;me&&(C.auth=me.shift(),C.hostname=me.shift(),C.host=C.hostname)}return C.search=S.search,C.query=S.query,(C.pathname!==null||C.search!==null)&&(C.path=(C.pathname?C.pathname:"")+(C.search?C.search:"")),C.href=C.format(),C}if(!k.length)return C.pathname=null,C.search?C.path="/"+C.search:C.path=null,C.href=C.format(),C;for(var te=k.slice(-1)[0],X=(C.host||S.host||k.length>1)&&(te==="."||te==="..")||te==="",fe=0,le=k.length;le>=0;le--)te=k[le],te==="."?k.splice(le,1):te===".."?(k.splice(le,1),fe++):fe&&(k.splice(le,1),fe--);if(!A&&!T)for(;fe--;fe)k.unshift("..");A&&k[0]!==""&&(!k[0]||k[0].charAt(0)!=="/")&&k.unshift(""),X&&k.join("/").substr(-1)!=="/"&&k.push("");var ve=k[0]===""||k[0]&&k[0].charAt(0)==="/";if(re){C.hostname=ve?"":k.length?k.shift():"",C.host=C.hostname;var me=C.host&&C.host.indexOf("@")>0?C.host.split("@"):!1;me&&(C.auth=me.shift(),C.hostname=me.shift(),C.host=C.hostname)}return A=A||C.host&&k.length,A&&!ve&&k.unshift(""),k.length>0?C.pathname=k.join("/"):(C.pathname=null,C.path=null),(C.pathname!==null||C.search!==null)&&(C.path=(C.pathname?C.pathname:"")+(C.search?C.search:"")),C.auth=S.auth||C.auth,C.slashes=C.slashes||S.slashes,C.href=C.format(),C},t.prototype.parseHost=function(){var S=this.host,w=r.exec(S);w&&(w=w[0],w!==":"&&(this.port=w.substr(1)),S=S.substr(0,S.length-w.length)),S&&(this.hostname=S)},od.parse=y,od.resolve=E,od.resolveObject=b,od.format=v,od.Url=t,od}function WY(e){if(typeof e=="string")e=new URL(e);else if(!(e instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(e.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return d4?kAe(e):xAe(e)}function kAe(e){let t=e.hostname,n=e.pathname;for(let r=0;r<n.length;r++)if(n[r]==="%"){let i=n.codePointAt(r+2)||32;if(n[r+1]==="2"&&i===102||n[r+1]==="5"&&i===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(n=n.replace(nX,"\\"),n=decodeURIComponent(n),t!=="")return`\\\\${t}${n}`;{let r=n.codePointAt(1)|32,i=n[2];if(r<eX||r>tX||i!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}function xAe(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let n=0;n<t.length;n++)if(t[n]==="%"){let r=t.codePointAt(n+2)||32;if(t[n+1]==="2"&&r===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function VY(e){let t=KS.resolve(e),n=e.charCodeAt(e.length-1);(n===$Y||d4&&n===qY)&&t[t.length-1]!==KS.sep&&(t+="/");let r=new URL("file://");return t.includes("%")&&(t=t.replace(rX,"%25")),!d4&&t.includes("\\")&&(t=t.replace(iX,"%5C")),t.includes(`
`)&&(t=t.replace(oX,"%0A")),t.includes("\r")&&(t=t.replace(sX,"%0D")),t.includes(" ")&&(t=t.replace(aX,"%09")),r.pathname=t,r}var GY,Qv,qS,Kv,qv,$S,$v,eA,e3,tA,t3,nA,n3,rA,r3,iA,od,oA,Ho,Rx,JY,ZY,YY,XY,QY,KY,qY,$Y,eX,tX,d4,nX,rX,iX,oX,sX,aX,DAe=Vs(()=>{tt(),rt(),nt(),QSe(),fAe(),wAe(),jY(),GY=Object.freeze(Object.create(null)),Qv={},qS=!1,Kv=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,qv={},$S=!1,$v={},eA=!1,e3={},tA=!1,t3={},nA=!1,n3={},rA=!1,r3={},iA=!1,od={},oA=!1,Ho=RAe(),Ho.parse,Ho.resolve,Ho.resolveObject,Ho.format,Ho.Url,Rx=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,Ho.URL=typeof URL<"u"?URL:null,Ho.pathToFileURL=VY,Ho.fileURLToPath=WY,JY=Ho.Url,ZY=Ho.format,YY=Ho.resolve,XY=Ho.resolveObject,QY=Ho.parse,KY=Ho.URL,qY=92,$Y=47,eX=97,tX=122,d4=Rx==="win32",nX=/\//g,rX=/%/g,iX=/\\/g,oX=/\n/g,sX=/\r/g,aX=/\t/g}),LAe=st((e,t)=>{tt(),rt(),nt(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),ET=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0}),e.BufferedDuplex=void 0,e.writev=r;var t=Pf(),n=(Ao(),zr(So));function r(o,s){let a=new Array(o.length);for(let c=0;c<o.length;c++)typeof o[c].chunk=="string"?a[c]=n.Buffer.from(o[c].chunk,"utf8"):a[c]=o[c].chunk;this._write(n.Buffer.concat(a),"binary",s)}var i=class extends t.Duplex{constructor(s,a,c){super({objectMode:!0});et(this,"socket");et(this,"proxy");et(this,"isSocketOpen");et(this,"writeQueue");this.proxy=a,this.socket=c,this.writeQueue=[],s.objectMode||(this._writev=r.bind(this)),this.isSocketOpen=!1,this.proxy.on("data",l=>{!this.destroyed&&this.readable&&this.push(l)})}_read(s){this.proxy.read(s)}_write(s,a,c){this.isSocketOpen?this.writeToProxy(s,a,c):this.writeQueue.push({chunk:s,encoding:a,cb:c})}_final(s){this.writeQueue=[],this.proxy.end(s)}_destroy(s,a){this.writeQueue=[],this.proxy.destroy(),a(s)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(s,a,c){this.proxy.write(s,a)===!1?this.proxy.once("drain",c):c()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:s,encoding:a,cb:c}=this.writeQueue.shift();this.writeToProxy(s,a,c)}}};e.BufferedDuplex=i}),B2=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.streamBuilder=e.browserStreamBuilder=void 0;var n=(Ao(),zr(So)),r=t(LAe()),i=t(bu()),o=Pf(),s=t(jy()),a=ET(),c=(0,i.default)("mqttjs:ws"),l=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function u(y,v){let E=`${y.protocol}://${y.hostname}:${y.port}${y.path}`;return typeof y.transformWsUrl=="function"&&(E=y.transformWsUrl(E,y,v)),E}function d(y){let v=y;return y.port||(y.protocol==="wss"?v.port=443:v.port=80),y.path||(v.path="/"),y.wsOptions||(v.wsOptions={}),!s.default&&!y.forceNativeWebSocket&&y.protocol==="wss"&&l.forEach(E=>{Object.prototype.hasOwnProperty.call(y,E)&&!Object.prototype.hasOwnProperty.call(y.wsOptions,E)&&(v.wsOptions[E]=y[E])}),v}function f(y){let v=d(y);if(v.hostname||(v.hostname=v.host),!v.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let E=new URL(document.URL);v.hostname=E.hostname,v.port||(v.port=Number(E.port))}return v.objectMode===void 0&&(v.objectMode=!(v.binary===!0||v.binary===void 0)),v}function h(y,v,E){c("createWebSocket"),c(`protocol: ${E.protocolId} ${E.protocolVersion}`);let b=E.protocolId==="MQIsdp"&&E.protocolVersion===3?"mqttv3.1":"mqtt";c(`creating new Websocket for url: ${v} and protocol: ${b}`);let S;return E.createWebsocket?S=E.createWebsocket(v,[b],E):S=new r.default(v,[b],E.wsOptions),S}function p(y,v){let E=v.protocolId==="MQIsdp"&&v.protocolVersion===3?"mqttv3.1":"mqtt",b=u(v,y),S;return v.createWebsocket?S=v.createWebsocket(b,[E],v):S=new WebSocket(b,[E]),S.binaryType="arraybuffer",S}var g=(y,v)=>{c("streamBuilder");let E=d(v);E.hostname=E.hostname||E.host||"localhost";let b=u(E,y),S=h(y,b,E),w=r.default.createWebSocketStream(S,E.wsOptions);return w.url=b,S.on("close",()=>{w.destroy()}),w};e.streamBuilder=g;var m=(y,v)=>{c("browserStreamBuilder");let E,b=f(v).browserBufferSize||1024*512,S=v.browserBufferTimeout||1e3,w=!v.objectMode,C=p(y,v),_=O(v,J,Y);v.objectMode||(_._writev=a.writev.bind(_)),_.on("close",()=>{C.close()});let I=typeof C.addEventListener<"u";C.readyState===C.OPEN?(E=_,E.socket=C):(E=new a.BufferedDuplex(v,_,C),I?C.addEventListener("open",L):C.onopen=L),I?(C.addEventListener("close",R),C.addEventListener("error",F),C.addEventListener("message",W)):(C.onclose=R,C.onerror=F,C.onmessage=W);function O(M,B,q){let z=new o.Transform({objectMode:M.objectMode});return z._write=B,z._flush=q,z}function L(){c("WebSocket onOpen"),E instanceof a.BufferedDuplex&&E.socketReady()}function R(M){c("WebSocket onClose",M),E.end(),E.destroy()}function F(M){c("WebSocket onError",M);let B=new Error("WebSocket error");B.event=M,E.destroy(B)}async function W(M){if(!_||_.destroyed||!_.readable)return;let{data:B}=M;B instanceof ArrayBuffer?B=n.Buffer.from(B):B instanceof Blob?B=n.Buffer.from(await new Response(B).arrayBuffer()):B=n.Buffer.from(B,"utf8"),_.push(B)}function J(M,B,q){if(C.bufferedAmount>b){setTimeout(J,S,M,B,q);return}w&&typeof M=="string"&&(M=n.Buffer.from(M,"utf8"));try{C.send(M)}catch(z){return q(z)}q()}function Y(M){C.close(),M()}return E};e.browserStreamBuilder=m}),bT={};jp(bT,{Server:()=>li,Socket:()=>li,Stream:()=>li,_createServerHandle:()=>li,_normalizeArgs:()=>li,_setSimultaneousAccepts:()=>li,connect:()=>li,createConnection:()=>li,createServer:()=>li,default:()=>cX,isIP:()=>li,isIPv4:()=>li,isIPv6:()=>li});function li(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var cX,lX=Vs(()=>{tt(),rt(),nt(),cX={_createServerHandle:li,_normalizeArgs:li,_setSimultaneousAccepts:li,connect:li,createConnection:li,createServer:li,isIP:li,isIPv4:li,isIPv6:li,Server:li,Socket:li,Stream:li}}),uX=st((e,t)=>{tt(),rt(),nt(),t.exports={}}),kx=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(e,"__esModule",{value:!0});var n=t((lX(),zr(bT))),r=t(bu()),i=t(uX()),o=(0,r.default)("mqttjs:tcp"),s=(a,c)=>{if(c.port=c.port||1883,c.hostname=c.hostname||c.host||"localhost",c.socksProxy)return(0,i.default)(c.hostname,c.port,c.socksProxy,{timeout:c.socksTimeout});let{port:l,path:u}=c,d=c.hostname;return o("port %d and host %s",l,d),n.default.createConnection({port:l,host:d,path:u})};e.default=s}),dX={};jp(dX,{default:()=>fX});var fX,NAe=Vs(()=>{tt(),rt(),nt(),fX={}}),xx=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(e,"__esModule",{value:!0});var n=(NAe(),zr(dX)),r=t((lX(),zr(bT))),i=t(bu()),o=t(uX()),s=(0,i.default)("mqttjs:tls");function a(l){let{host:u,port:d,socksProxy:f,...h}=l;if(f!==void 0){let p=(0,o.default)(u,d,f,{timeout:l.socksTimeout});return(0,n.connect)({...h,socket:p})}return(0,n.connect)(l)}var c=(l,u)=>{u.port=u.port||8883,u.host=u.hostname||u.host||"localhost",r.default.isIP(u.host)===0&&(u.servername=u.host),u.rejectUnauthorized=u.rejectUnauthorized!==!1,delete u.path,s("port %d host %s rejectUnauthorized %b",u.port,u.host,u.rejectUnauthorized);let d=a(u);d.on("secureConnect",()=>{u.rejectUnauthorized&&!d.authorized?d.emit("error",new Error("TLS not authorized")):d.removeListener("error",f)});function f(h){u.rejectUnauthorized&&l.emit("error",h),d.end()}return d.on("error",f),d};e.default=c}),Dx=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=(Ao(),zr(So)),n=Pf(),r=ET(),i,o,s;function a(){let f=new n.Transform;return f._write=(h,p,g)=>{i.send({data:h.buffer,success(){g()},fail(m){g(new Error(m))}})},f._flush=h=>{i.close({success(){h()}})},f}function c(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})}function l(f,h){let p=f.protocol==="wxs"?"wss":"ws",g=`${p}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(g=`${p}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(g=f.transformWsUrl(g,f,h)),g}function u(){i.onOpen(()=>{s.socketReady()}),i.onMessage(f=>{let{data:h}=f;h instanceof ArrayBuffer?h=t.Buffer.from(h):h=t.Buffer.from(h,"utf8"),o.push(h)}),i.onClose(()=>{s.emit("close"),s.end(),s.destroy()}),i.onError(f=>{let h=new Error(f.errMsg);s.destroy(h)})}var d=(f,h)=>{if(h.hostname=h.hostname||h.host,!h.hostname)throw new Error("Could not determine host. Specify host manually.");let p=h.protocolId==="MQIsdp"&&h.protocolVersion===3?"mqttv3.1":"mqtt";c(h);let g=l(h,f);i=wx.connectSocket({url:g,protocols:[p]}),o=a(),s=new r.BufferedDuplex(h,o,i),s._destroy=(y,v)=>{i.close({success(){v&&v(y)}})};let m=s.destroy;return s.destroy=(y,v)=>(s.destroy=m,setTimeout(()=>{i.close({fail(){s._destroy(y,v)}})},0),s),u(),s};e.default=d}),Lx=st(e=>{tt(),rt(),nt(),Object.defineProperty(e,"__esModule",{value:!0});var t=(Ao(),zr(So)),n=Pf(),r=ET(),i,o,s,a=!1;function c(){let h=new n.Transform;return h._write=(p,g,m)=>{i.sendSocketMessage({data:p.buffer,success(){m()},fail(){m(new Error)}})},h._flush=p=>{i.closeSocket({success(){p()}})},h}function l(h){h.hostname||(h.hostname="localhost"),h.path||(h.path="/"),h.wsOptions||(h.wsOptions={})}function u(h,p){let g=h.protocol==="alis"?"wss":"ws",m=`${g}://${h.hostname}${h.path}`;return h.port&&h.port!==80&&h.port!==443&&(m=`${g}://${h.hostname}:${h.port}${h.path}`),typeof h.transformWsUrl=="function"&&(m=h.transformWsUrl(m,h,p)),m}function d(){a||(a=!0,i.onSocketOpen(()=>{s.socketReady()}),i.onSocketMessage(h=>{if(typeof h.data=="string"){let p=t.Buffer.from(h.data,"base64");o.push(p)}else{let p=new FileReader;p.addEventListener("load",()=>{if(p.result instanceof ArrayBuffer){o.push(t.Buffer.from(p.result));return}o.push(t.Buffer.from(p.result,"utf-8"))}),p.readAsArrayBuffer(h.data)}}),i.onSocketClose(()=>{s.end(),s.destroy()}),i.onSocketError(h=>{s.destroy(h)}))}var f=(h,p)=>{if(p.hostname=p.hostname||p.host,!p.hostname)throw new Error("Could not determine host. Specify host manually.");let g=p.protocolId==="MQIsdp"&&p.protocolVersion===3?"mqttv3.1":"mqtt";l(p);let m=u(p,h);return i=p.my,i.connectSocket({url:m,protocols:g}),o=c(),s=new r.BufferedDuplex(p,o,i),d(),s};e.default=f}),MAe=st(e=>{tt(),rt(),nt();var t=e&&e.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.connectAsync=u;var n=t(bu()),r=t((DAe(),zr(HY))),i=t(ES()),o=t(jy());typeof(gr==null?void 0:gr.nextTick)!="function"&&(gr.nextTick=setImmediate);var s=(0,n.default)("mqttjs"),a=null;function c(d){let f;if(d.auth)if(f=d.auth.match(/^(.+):(.+)$/),f){let[,h,p]=f;d.username=h,d.password=p}else d.username=d.auth}function l(d,f){var g,m,y;if(s("connecting to an MQTT broker..."),typeof d=="object"&&!f&&(f=d,d=""),f=f||{},d&&typeof d=="string"){let v=r.default.parse(d,!0),E={};if(v.port!=null&&(E.port=Number(v.port)),E.host=v.hostname,E.query=v.query,E.auth=v.auth,E.protocol=v.protocol,E.path=v.path,f={...E,...f},!f.protocol)throw new Error("Missing protocol");f.protocol=f.protocol.replace(/:$/,"")}if(f.unixSocket=f.unixSocket||((g=f.protocol)==null?void 0:g.includes("+unix")),f.unixSocket?f.protocol=f.protocol.replace("+unix",""):!((m=f.protocol)!=null&&m.startsWith("ws"))&&!((y=f.protocol)!=null&&y.startsWith("wx"))&&delete f.path,c(f),f.query&&typeof f.query.clientId=="string"&&(f.clientId=f.query.clientId),o.default||f.unixSocket?f.socksProxy=void 0:f.socksProxy===void 0&&typeof gr<"u"&&(f.socksProxy=gr.env.MQTTJS_SOCKS_PROXY),f.cert&&f.key)if(f.protocol){if(["mqtts","wss","wxs","alis"].indexOf(f.protocol)===-1)switch(f.protocol){case"mqtt":f.protocol="mqtts";break;case"ws":f.protocol="wss";break;case"wx":f.protocol="wxs";break;case"ali":f.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${f.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(a||(a={},!o.default&&!f.forceNativeWebSocket?(a.ws=B2().streamBuilder,a.wss=B2().streamBuilder,a.mqtt=kx().default,a.tcp=kx().default,a.ssl=xx().default,a.tls=a.ssl,a.mqtts=xx().default):(a.ws=B2().browserStreamBuilder,a.wss=B2().browserStreamBuilder,a.wx=Dx().default,a.wxs=Dx().default,a.ali=Lx().default,a.alis=Lx().default)),!a[f.protocol]){let v=["mqtts","wss"].indexOf(f.protocol)!==-1;f.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((E,b)=>v&&b%2===0?!1:typeof a[E]=="function")[0]}if(f.clean===!1&&!f.clientId)throw new Error("Missing clientId for unclean clients");f.protocol&&(f.defaultProtocol=f.protocol);function h(v){return f.servers&&((!v._reconnectCount||v._reconnectCount===f.servers.length)&&(v._reconnectCount=0),f.host=f.servers[v._reconnectCount].host,f.port=f.servers[v._reconnectCount].port,f.protocol=f.servers[v._reconnectCount].protocol?f.servers[v._reconnectCount].protocol:f.defaultProtocol,f.hostname=f.host,v._reconnectCount++),s("calling streambuilder for",f.protocol),a[f.protocol](v,f)}let p=new i.default(h,f);return p.on("error",()=>{}),p}function u(d,f,h=!0){return new Promise((p,g)=>{let m=l(d,f),y={connect:E=>{v(),p(m)},end:()=>{v(),p(m)},error:E=>{v(),m.end(),g(E)}};h===!1&&(y.close=()=>{y.error(new Error("Couldn't connect to server"))});function v(){Object.keys(y).forEach(E=>{m.off(E,y[E])})}Object.keys(y).forEach(E=>{m.on(E,y[E])})})}e.default=l}),Nx=st(e=>{tt(),rt(),nt();var t=e&&e.__createBinding||(Object.create?function(h,p,g,m){m===void 0&&(m=g);var y=Object.getOwnPropertyDescriptor(p,g);(!y||("get"in y?!p.__esModule:y.writable||y.configurable))&&(y={enumerable:!0,get:function(){return p[g]}}),Object.defineProperty(h,m,y)}:function(h,p,g,m){m===void 0&&(m=g),h[m]=p[g]}),n=e&&e.__setModuleDefault||(Object.create?function(h,p){Object.defineProperty(h,"default",{enumerable:!0,value:p})}:function(h,p){h.default=p}),r=e&&e.__importStar||(function(){var h=function(p){return h=Object.getOwnPropertyNames||function(g){var m=[];for(var y in g)Object.prototype.hasOwnProperty.call(g,y)&&(m[m.length]=y);return m},h(p)};return function(p){if(p&&p.__esModule)return p;var g={};if(p!=null)for(var m=h(p),y=0;y<m.length;y++)m[y]!=="default"&&t(g,p,m[y]);return n(g,p),g}})(),i=e&&e.__exportStar||function(h,p){for(var g in h)g!=="default"&&!Object.prototype.hasOwnProperty.call(p,g)&&t(p,h,g)},o=e&&e.__importDefault||function(h){return h&&h.__esModule?h:{default:h}};Object.defineProperty(e,"__esModule",{value:!0}),e.ReasonCodes=e.KeepaliveManager=e.UniqueMessageIdProvider=e.DefaultMessageIdProvider=e.Store=e.MqttClient=e.connectAsync=e.connect=e.Client=void 0;var s=o(ES());e.MqttClient=s.default;var a=o(OY());e.DefaultMessageIdProvider=a.default;var c=o(YSe());e.UniqueMessageIdProvider=c.default;var l=o(dY());e.Store=l.default;var u=r(MAe());e.connect=u.default,Object.defineProperty(e,"connectAsync",{enumerable:!0,get:function(){return u.connectAsync}});var d=o(NY());e.KeepaliveManager=d.default,e.Client=s.default,i(ES(),e),i(zp(),e);var f=Fy();Object.defineProperty(e,"ReasonCodes",{enumerable:!0,get:function(){return f.ReasonCodes}})}),BAe=st(e=>{tt(),rt(),nt();var t=e&&e.__createBinding||(Object.create?function(s,a,c,l){l===void 0&&(l=c);var u=Object.getOwnPropertyDescriptor(a,c);(!u||("get"in u?!a.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return a[c]}}),Object.defineProperty(s,l,u)}:function(s,a,c,l){l===void 0&&(l=c),s[l]=a[c]}),n=e&&e.__setModuleDefault||(Object.create?function(s,a){Object.defineProperty(s,"default",{enumerable:!0,value:a})}:function(s,a){s.default=a}),r=e&&e.__importStar||(function(){var s=function(a){return s=Object.getOwnPropertyNames||function(c){var l=[];for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(l[l.length]=u);return l},s(a)};return function(a){if(a&&a.__esModule)return a;var c={};if(a!=null)for(var l=s(a),u=0;u<l.length;u++)l[u]!=="default"&&t(c,a,l[u]);return n(c,a),c}})(),i=e&&e.__exportStar||function(s,a){for(var c in s)c!=="default"&&!Object.prototype.hasOwnProperty.call(a,c)&&t(a,s,c)};Object.defineProperty(e,"__esModule",{value:!0});var o=r(Nx());e.default=o,i(Nx(),e)});const FAe=BAe();/*! Bundled license information:
@jspm/core/nodelibs/browser/chunk-DtuTasat.js:
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
safe-buffer/index.js:
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
@babel/runtime/helpers/regenerator.js:
(*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
*/function UAe(e){return"elegoo/{sn}/api_register".replace("{sn}",e)}function hX(e,t){return"elegoo/{sn}/{request_id}/register_response".replace("{sn}",e).replace("{request_id}",t)}function jAe(e,t){return"elegoo/{sn}/{client_id}/api_request".replace("{sn}",e).replace("{client_id}",t)}function HAe(e,t){return"elegoo/{sn}/{client_id}/api_response".replace("{sn}",e).replace("{client_id}",t)}function zAe(e){return"elegoo/{sn}/api_status".replace("{sn}",e)}const WAe=3e4,VAe=2,GAe=1e3,x0=class x0{constructor(){et(this,"client",null);et(this,"pendingRequests",new Map);et(this,"registerSuccess",!1);et(this,"subscribedTopics",new Set);et(this,"requestIdCounter",1);et(this,"curAutoReportId",-1);et(this,"registerRetryCount",0);et(this,"MAX_REGISTER_RETRY",10);et(this,"lastRegisterError","");et(this,"lastMessageTime",0);et(this,"heartbeatTimer",null);et(this,"heartbeatTimeoutCount",0);et(this,"clientId","");et(this,"registerRequestId","");et(this,"sn","");et(this,"heartbeatOffline",!1);et(this,"emitter",sT())}handleHeartbeatFailure(t){if(!this.heartbeatOffline&&(Pe.warn("[MQTT] 心跳连续未响应,判定为离线,准备重连",t),this.heartbeatTimeoutCount=0,this.heartbeatOffline=!0,this.emitter.emit("disconnected"),this.client))try{this.client.reconnecting||this.client.reconnect()}catch(n){Pe.error("[MQTT] 心跳重连失败",n)}}setClientId(t){this.clientId=t}setRegisterRequestId(t){this.registerRequestId=t}setSn(t){this.sn=t}resetRegisterRetryCount(){this.registerRetryCount=0}static getInstance(){return x0.instance||(x0.instance=new x0),x0.instance}connect(t){var i;if((i=this.client)!=null&&i.connected)return;const n={clientId:this.clientId,clean:!0,reconnectPeriod:GAe,username:qi.username,password:qi.access_code,...t},r=`ws://${qi.ip}:9001`;Pe.log("[MQTT] 当前连接打印机ip:",qi.ip),this.client=FAe.connect(r,n),this.client.on("connect",()=>{Pe.log("[MQTT] 连接成功"),this.emitter.emit("connected")}),this.client.on("error",o=>{this.emitter.emit("disconnected")}),this.client.on("close",()=>{Pe.warn("[MQTT] 连接已关闭,将自动重连"),this.emitter.emit("disconnected")}),this.client.on("reconnect",()=>{Pe.log("[MQTT] 正在重连..."),this.emitter.emit("disconnected")}),this.client.on("offline",()=>{Pe.warn("[MQTT] 连接离线,将自动重连"),this.emitter.emit("disconnected")}),this.client.on("message",(o,s)=>{this.onReceiveMessage(o,s.toString())})}disconnect(){var t;(t=this.client)==null||t.end(),this.pendingRequests.clear(),this.subscribedTopics.clear(),this.emitter.emit("disconnected")}handleRegisterFailure(){this.registerRetryCount++,Pe.warn(`[MQTT] 注册失败,准备重新注册... (第${this.registerRetryCount}次重试)`),this.registerSuccess=!1,this.registerRetryCount===this.MAX_REGISTER_RETRY&&this.lastRegisterError!=w7.TooManyClients&&this.emitter.emit("registerMaxRetryReached"),setTimeout(()=>{this.client&&this.client.connected&&(Pe.log("[MQTT] 开始重新注册..."),this.emitter.emit("connected"))},3e3)}subscribe(t,n){var r;this.subscribedTopics.has(t)||(r=this.client)==null||r.subscribe(t,{qos:1},i=>{var o;if(i){Pe.error(`[MQTT] Failed to subscribe topic: ${t}`,i);return}this.subscribedTopics.add(t),Pe.log(`[MQTT] 订阅主题成功: ${t}`),(o=this.client)==null||o.on("message",(s,a)=>{s===t&&n(JSON.parse(a.toString()))})})}publish(t,n){var r;(r=this.client)==null||r.publish(t,JSON.stringify(n),{qos:1},i=>{i?Pe.error(`[MQTT] Failed to publish message: ${t}`,i):Pe.log("[MQTT] 发布消息 :",n)})}async request(t,n,r,i=5e3){if(!this.registerSuccess)throw new Error(ou.global.t("toastMessages.DeviceNotRegistered"));await this.ensureSubscribe(n);const o=this.requestIdCounter++;let s={};return r!=null&&r.method?s={...r,id:o}:s={...r},new Promise((a,c)=>{const l=setTimeout(()=>{this.pendingRequests.delete(o.toString()),c(new Error(ou.global.t("toastMessages.RequestTimeout")))},i);this.pendingRequests.set(o.toString(),{resolve:a,reject:c,timer:l}),this.publish(t,s)})}async requestRegister(t,n,r,i=5e3){await this.ensureSubscribe(n);const o=this.clientId,s={...r,client_id:o};return new Promise((a,c)=>{const l=setTimeout(()=>{Pe.log("[MQTT] 注册超时,删除设备注册请求",this.clientId),this.pendingRequests.delete(this.clientId.toString()),this.handleRegisterFailure(),c(new Error(ou.global.t("toastMessages.RegisterTimeout")))},i);this.pendingRequests.set(this.clientId.toString(),{resolve:a,reject:c,timer:l}),this.publish(t,s)})}async ensureSubscribe(t){if(!this.subscribedTopics.has(t))return new Promise((n,r)=>{var i;(i=this.client)==null||i.subscribe(t,{qos:1},o=>{o?(r(o),Pe.error("[MQTT] Failed to subscribe topic",t)):(Pe.log("[MQTT]话题订阅成功",t),this.subscribedTopics.add(t),n())})})}getErrorMessage(t){return C7(t)}onReceiveMessage(t,n){try{const r=JSON.parse(n);if(r.method!==Rt.MessageAutoReport&&(this.lastMessageTime=Date.now(),this.heartbeatOffline=!1,this.heartbeatTimer&&(this.heartbeatTimeoutCount=0,clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.heartbeatTimer=setInterval(()=>{this.heartbeatTimeoutCount>=VAe&&(this.heartbeatOffline||this.handleHeartbeatFailure(),this.heartbeatTimeoutCount=0),this.emitter.emit("sendHeartBeat"),this.heartbeatTimeoutCount++},WAe)),r.method===Rt.MessageAutoReport)this.curAutoReportId===-1&&(this.curAutoReportId=r.id),r.id-this.curAutoReportId>1&&this.emitter.emit("getBaseInfo"),this.curAutoReportId=r.id,this.emitter.emit("autoReportStatus",r.result);else if(r.method===Rt.SystemAutoReport)this.curAutoReportId===-1&&(this.curAutoReportId=r.id),r.id-this.curAutoReportId>1&&this.emitter.emit("getBaseInfo"),this.curAutoReportId=r.id,this.emitter.emit("systemAutoReportStatus",r.result);else if(r.id&&this.pendingRequests.has(r.id.toString())){const i=this.pendingRequests.get(r.id.toString());if(!i){Pe.warn("[MQTT] 未找到对应的请求:",r.id);return}const{resolve:o,timer:s}=i;clearTimeout(s),this.pendingRequests.delete(r.id.toString()),Pe.log("[MQTT]收到响应:",r),r.method===Rt.GetBasicInfo&&this.emitter.emit("status",r.result),o(r.result)}else if(r.client_id&&r.client_id==this.clientId&&t===hX(this.sn,this.registerRequestId)){const i=this.pendingRequests.get(r.client_id.toString());if(!i){Pe.warn("[MQTT] 未找到对应的注册请求:",r);return}const{resolve:o,reject:s,timer:a}=i;clearTimeout(a),this.pendingRequests.delete(r.client_id.toString()),r.error==="ok"||r.error==="already registered"?(o(r),Pe.log("[MQTT] 注册成功"),this.registerSuccess=!0,this.resetRegisterRetryCount(),this.emitter.emit("registerSuccess")):(Pe.error("[MQTT] registe failed:",r.error),this.lastRegisterError=r.error,r.error===w7.TooManyClients&&this.emitter.emit("ConnectionLimitExceeded"),this.handleRegisterFailure(),s(new Error(`${ou.global.t("toastMessages.RegisterClientFailed")}${r.error}`)))}}catch(r){Pe.error("[MQTT] Message parse error:",r)}}};et(x0,"instance");let sA=x0;const Jl=sA.getInstance(),A8="MQTT_CLIENT_ID";class JAe{constructor(){et(this,"clientId");et(this,"registerRequestId",qJ());const t=sessionStorage.getItem(A8);if(t)try{const{clientId:r}=JSON.parse(t);this.clientId=r;return}catch{sessionStorage.removeItem(A8)}this.clientId=T9e();const n={clientId:this.clientId};sessionStorage.setItem(A8,JSON.stringify(n))}connect(){Jl.connect()}async request(t,n,r=5e3){try{const i=jAe(t,this.clientId),o=HAe(t,this.clientId);return await Jl.request(i,o,n,r)}catch(i){throw i}}async requestRegisterClient(t,n,r=3e3){try{const i={request_id:this.clientId};Jl.setClientId(this.clientId),Jl.setSn(t),Jl.setRegisterRequestId(this.clientId);const o=UAe(t),s=hX(t,this.clientId);return await Jl.requestRegister(o,s,i,r)}catch(i){throw i}}async subscribeAotuReportTopic(t){try{const n=zAe(t);return await Jl.ensureSubscribe(n),!0}catch(n){return Pe.error(`[MQTT] Failed to subscribe auto-report topic: ${t}`,n),!1}}}const ZAe=V(()=>Ws.protocolType==="MQTT");class YAe extends JAe{constructor(){super();et(this,"serviceName","device");et(this,"emitter",Jl.emitter);ZAe.value&&this.connect()}async registerClient(n){return super.requestRegisterClient(n)}async subscribeAotuReportTopic(n){return super.subscribeAotuReportTopic(n)}async sendHeartBeat(n,r){return this.request(n,r)}async startPrint(n,r){return this.request(n,r)}async stopPrint(n,r,i=5e3){return this.request(n,r,i)}async pausePrint(n,r,i=5e3){return this.request(n,r,i)}async resumePrint(n,r,i=5e3){return this.request(n,r,i)}async urgentStop(n,r){return this.request(n,r)}async feed(n,r,i){return this.request(n,r,i)}async retreat(n,r,i){return this.request(n,r,i)}async setLight(n,r,i=WE*5){return this.request(n,r,i)}async setFan(n,r,i=WE*5){return this.request(n,r,i)}async setPrintSpeed(n,r,i=WE*5){return this.request(n,r,i)}async autoLeveling(n,r){return this.request(n,r)}async vibrationOptimize(n,r){return this.request(n,r)}async pidDetect(n,r){return this.request(n,r)}async oneKeyCheck(n,r){return this.request(n,r)}async otaUpgrade(n,r){return this.request(n,r)}async setDeviceName(n,r){return this.request(n,r)}async getFileDetail(n,r,i=5e3){return this.request(n,r,i)}async deletePrintFile(n,r){return this.request(n,r)}async getPrintHistoryList(n,r,i=5e3){return this.request(n,r,i)}async deletePrintHistory(n,r){return this.request(n,r)}async getFileThumbnail(n,r){return this.request(n,r)}async getFileList(n,r,i=5e3){return this.request(n,r,i)}async getTimeLapseVideoList(n,r){return this.request(n,r)}async getCapacity(n,r){return this.request(n,r)}async messageAutoReport(n,r){return this.request(n,r)}async getSystemInfo(n,r){return this.request(n,r)}async getBaseInfo(n,r){return this.request(n,r)}async getMachineStatus(n,r){return Pe.log("获取机器状态"),this.request(n,r)}async getFanInfo(n,r){return this.request(n,r)}async getPrintsInfo(n,r){return this.request(n,r)}async getHomeStatus(n,r){return this.request(n,r)}async setPrintConfig(n,r){return this.request(n,r)}async xyzHomeControl(n,r,i){return this.request(n,r,i)}async xyzMoveControl(n,r,i){return Pe.log(`${r.params.axes}XYZ移动控制`,r),this.request(n,r,i)}async temperatureControl(n,r){return this.request(n,r)}async getLivingVideoUrl(n,r){return this.request(n,r)}async setMonoFilamentInfo(n,r){return this.request(n,r)}async getMonoFilamentInfo(n,r){return this.request(n,r)}async loadFilamentCanvas(n,r,i){return this.request(n,r,i)}async unloadFilamentCanvas(n,r,i){return this.request(n,r,i)}async setFilamentInfoCanvas(n,r){return this.request(n,r)}async setAutoFillFilamentCanvas(n,r){return this.request(n,r)}async getCanvasInfoCanvas(n,r){return this.request(n,r)}}const dn=new YAe;function XAe(e,t){return t.forEach((function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach((function(r){if(r!=="default"&&!(r in e)){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}}))})),Object.freeze(e)}var jh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Xr=function(e){try{return!!e()}catch{return!0}},Hy=!Xr((function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")})),pX=Hy,mX=Function.prototype,aA=mX.call,QAe=pX&&mX.bind.bind(aA,aA),Wr=pX?QAe:function(e){return function(){return aA.apply(e,arguments)}},Co=Wr({}.isPrototypeOf),F2=function(e){return e&&e.Math==Math&&e},Di=F2(typeof globalThis=="object"&&globalThis)||F2(typeof window=="object"&&window)||F2(typeof self=="object"&&self)||F2(typeof jh=="object"&&jh)||(function(){return this})()||jh||Function("return this")(),KAe=Hy,gX=Function.prototype,Mx=gX.apply,Bx=gX.call,ST=typeof Reflect=="object"&&Reflect.apply||(KAe?Bx.bind(Mx):function(){return Bx.apply(Mx,arguments)}),vX=Wr,qAe=vX({}.toString),$Ae=vX("".slice),bl=function(e){return $Ae(qAe(e),8,-1)},eCe=bl,tCe=Wr,eg=function(e){if(eCe(e)==="Function")return tCe(e)},C8=typeof document=="object"&&document.all,zy={all:C8,IS_HTMLDDA:C8===void 0&&C8!==void 0},nCe=zy.all,Li=zy.IS_HTMLDDA?function(e){return typeof e=="function"||e===nCe}:function(e){return typeof e=="function"},Zg={},ca=!Xr((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})),rCe=Hy,U2=Function.prototype.call,Ni=rCe?U2.bind(U2):function(){return U2.apply(U2,arguments)},Wy={},yX={}.propertyIsEnumerable,EX=Object.getOwnPropertyDescriptor,iCe=EX&&!yX.call({1:2},1);Wy.f=iCe?function(e){var t=EX(this,e);return!!t&&t.enumerable}:yX;var zu,i3,$d=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},oCe=Xr,sCe=bl,w8=Object,aCe=Wr("".split),Vy=oCe((function(){return!w8("z").propertyIsEnumerable(0)}))?function(e){return sCe(e)=="String"?aCe(e,""):w8(e)}:w8,Vp=function(e){return e==null},cCe=Vp,lCe=TypeError,Gp=function(e){if(cCe(e))throw lCe("Can't call method on "+e);return e},uCe=Vy,dCe=Gp,e0=function(e){return uCe(dCe(e))},Fx=Li,fCe=zy.all,Gs=zy.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Fx(e)||e===fCe}:function(e){return typeof e=="object"?e!==null:Fx(e)},Cc={},T8=Cc,I8=Di,hCe=Li,Ux=function(e){return hCe(e)?e:void 0},ys=function(e,t){return arguments.length<2?Ux(T8[e])||Ux(I8[e]):T8[e]&&T8[e][t]||I8[e]&&I8[e][t]},Of=typeof navigator<"u"&&String(navigator.userAgent)||"",bX=Di,P8=Of,jx=bX.process,Hx=bX.Deno,zx=jx&&jx.versions||Hx&&Hx.version,Wx=zx&&zx.v8;Wx&&(i3=(zu=Wx.split("."))[0]>0&&zu[0]<4?1:+(zu[0]+zu[1])),!i3&&P8&&(!(zu=P8.match(/Edge\/(\d+)/))||zu[1]>=74)&&(zu=P8.match(/Chrome\/(\d+)/))&&(i3=+zu[1]);var ff=i3,Vx=ff,pCe=Xr,mCe=Di.String,Jp=!!Object.getOwnPropertySymbols&&!pCe((function(){var e=Symbol();return!mCe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Vx&&Vx<41})),SX=Jp&&!Symbol.sham&&typeof Symbol.iterator=="symbol",gCe=ys,vCe=Li,yCe=Co,ECe=Object,Yg=SX?function(e){return typeof e=="symbol"}:function(e){var t=gCe("Symbol");return vCe(t)&&yCe(t.prototype,ECe(e))},bCe=String,Zp=function(e){try{return bCe(e)}catch{return"Object"}},SCe=Li,ACe=Zp,CCe=TypeError,ja=function(e){if(SCe(e))return e;throw CCe(ACe(e)+" is not a function")},wCe=ja,TCe=Vp,Gy=function(e,t){var n=e[t];return TCe(n)?void 0:wCe(n)},Gx=Ni,Jx=Li,Zx=Gs,ICe=TypeError,AX={exports:{}},Yx=Di,PCe=Object.defineProperty,OCe=function(e,t){try{PCe(Yx,e,{value:t,configurable:!0,writable:!0})}catch{Yx[e]=t}return t},Xx="__core-js_shared__",AT=Di[Xx]||OCe(Xx,{}),Qx=AT;(AX.exports=function(e,t){return Qx[e]||(Qx[e]=t!==void 0?t:{})})("versions",[]).push({version:"3.31.1",mode:"pure",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Yp=AX.exports,_Ce=Gp,RCe=Object,Sl=function(e){return RCe(_Ce(e))},kCe=Sl,xCe=Wr({}.hasOwnProperty),Gi=Object.hasOwn||function(e,t){return xCe(kCe(e),t)},DCe=Wr,LCe=0,NCe=Math.random(),MCe=DCe(1 .toString),CT=function(e){return"Symbol("+(e===void 0?"":e)+")_"+MCe(++LCe+NCe,36)},BCe=Yp,Kx=Gi,FCe=CT,UCe=Jp,jCe=SX,bh=Di.Symbol,O8=BCe("wks"),HCe=jCe?bh.for||bh:bh&&bh.withoutSetter||FCe,Ur=function(e){return Kx(O8,e)||(O8[e]=UCe&&Kx(bh,e)?bh[e]:HCe("Symbol."+e)),O8[e]},zCe=Ni,qx=Gs,$x=Yg,WCe=Gy,VCe=function(e,t){var n,r;if(Jx(n=e.toString)&&!Zx(r=Gx(n,e))||Jx(n=e.valueOf)&&!Zx(r=Gx(n,e)))return r;throw ICe("Can't convert object to primitive value")},GCe=TypeError,JCe=Ur("toPrimitive"),ZCe=function(e,t){if(!qx(e)||$x(e))return e;var n,r=WCe(e,JCe);if(r){if(n=zCe(r,e,t),!qx(n)||$x(n))return n;throw GCe("Can't convert object to primitive value")}return VCe(e)},YCe=Yg,Jy=function(e){var t=ZCe(e,"string");return YCe(t)?t:t+""},eD=Gs,cA=Di.document,XCe=eD(cA)&&eD(cA.createElement),wT=function(e){return XCe?cA.createElement(e):{}},QCe=wT,CX=!ca&&!Xr((function(){return Object.defineProperty(QCe("div"),"a",{get:function(){return 7}}).a!=7})),KCe=ca,qCe=Ni,$Ce=Wy,ewe=$d,twe=e0,nwe=Jy,rwe=Gi,iwe=CX,tD=Object.getOwnPropertyDescriptor;Zg.f=KCe?tD:function(e,t){if(e=twe(e),t=nwe(t),iwe)try{return tD(e,t)}catch{}if(rwe(e,t))return ewe(!qCe($Ce.f,e,t),e[t])};var owe=Xr,swe=Li,awe=/#|\.prototype\./,Xg=function(e,t){var n=lwe[cwe(e)];return n==dwe||n!=uwe&&(swe(t)?owe(t):!!t)},cwe=Xg.normalize=function(e){return String(e).replace(awe,".").toLowerCase()},lwe=Xg.data={},uwe=Xg.NATIVE="N",dwe=Xg.POLYFILL="P",wX=Xg,fwe=ja,hwe=Hy,pwe=eg(eg.bind),t0=function(e,t){return fwe(e),t===void 0?e:hwe?pwe(e,t):function(){return e.apply(t,arguments)}},Ha={},TX=ca&&Xr((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42})),mwe=Gs,gwe=String,vwe=TypeError,qo=function(e){if(mwe(e))return e;throw vwe(gwe(e)+" is not an object")},ywe=ca,Ewe=CX,bwe=TX,j2=qo,nD=Jy,Swe=TypeError,_8=Object.defineProperty,Awe=Object.getOwnPropertyDescriptor,R8="enumerable",k8="configurable",x8="writable";Ha.f=ywe?bwe?function(e,t,n){if(j2(e),t=nD(t),j2(n),typeof e=="function"&&t==="prototype"&&"value"in n&&x8 in n&&!n[x8]){var r=Awe(e,t);r&&r[x8]&&(e[t]=n.value,n={configurable:k8 in n?n[k8]:r[k8],enumerable:R8 in n?n[R8]:r[R8],writable:!1})}return _8(e,t,n)}:_8:function(e,t,n){if(j2(e),t=nD(t),j2(n),Ewe)try{return _8(e,t,n)}catch{}if("get"in n||"set"in n)throw Swe("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var Cwe=Ha,wwe=$d,n0=ca?function(e,t,n){return Cwe.f(e,t,wwe(1,n))}:function(e,t,n){return e[t]=n,e},H2=Di,Twe=ST,Iwe=eg,Pwe=Li,Owe=Zg.f,_we=wX,Hf=Cc,Rwe=t0,zf=n0,rD=Gi,kwe=function(e){var t=function(n,r,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,r)}return new e(n,r,i)}return Twe(e,this,arguments)};return t.prototype=e.prototype,t},Gn=function(e,t){var n,r,i,o,s,a,c,l,u,d=e.target,f=e.global,h=e.stat,p=e.proto,g=f?H2:h?H2[d]:(H2[d]||{}).prototype,m=f?Hf:Hf[d]||zf(Hf,d,{})[d],y=m.prototype;for(o in t)r=!(n=_we(f?o:d+(h?".":"#")+o,e.forced))&&g&&rD(g,o),a=m[o],r&&(c=e.dontCallGetSet?(u=Owe(g,o))&&u.value:g[o]),s=r&&c?c:t[o],r&&typeof a==typeof s||(l=e.bind&&r?Rwe(s,H2):e.wrap&&r?kwe(s):p&&Pwe(s)?Iwe(s):s,(e.sham||s&&s.sham||a&&a.sham)&&zf(l,"sham",!0),zf(m,o,l),p&&(rD(Hf,i=d+"Prototype")||zf(Hf,i,{}),zf(Hf[i],o,s),e.real&&y&&(n||!y[o])&&zf(y,o,s)))},xwe=Math.ceil,Dwe=Math.floor,Lwe=Math.trunc||function(e){var t=+e;return(t>0?Dwe:xwe)(t)},Nwe=Lwe,TT=function(e){var t=+e;return t!=t||t===0?0:Nwe(t)},Mwe=TT,Bwe=Math.max,Fwe=Math.min,IT=function(e,t){var n=Mwe(e);return n<0?Bwe(n+t,0):Fwe(n,t)},Uwe=TT,jwe=Math.min,IX=function(e){return e>0?jwe(Uwe(e),9007199254740991):0},Hwe=IX,Ru=function(e){return Hwe(e.length)},zwe=e0,Wwe=IT,Vwe=Ru,iD=function(e){return function(t,n,r){var i,o=zwe(t),s=Vwe(o),a=Wwe(r,s);if(e&&n!=n){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===n)return e||a||0;return!e&&-1}},PT={includes:iD(!0),indexOf:iD(!1)},Gwe=PT.includes;Gn({target:"Array",proto:!0,forced:Xr((function(){return!Array(1).includes()}))},{includes:function(e){return Gwe(this,e,arguments.length>1?arguments[1]:void 0)}});var Jwe=Cc,za=function(e){return Jwe[e+"Prototype"]},Zwe=za("Array").includes,Ywe=Gs,Xwe=bl,Qwe=Ur("match"),PX=function(e){var t;return Ywe(e)&&((t=e[Qwe])!==void 0?!!t:Xwe(e)=="RegExp")},Kwe=PX,qwe=TypeError,OX={};OX[Ur("toStringTag")]="z";var OT=String(OX)==="[object z]",$we=OT,eTe=Li,o3=bl,tTe=Ur("toStringTag"),nTe=Object,rTe=o3((function(){return arguments})())=="Arguments",Al=$we?o3:function(e){var t,n,r;return e===void 0?"Undefined":e===null?"Null":typeof(n=(function(i,o){try{return i[o]}catch{}})(t=nTe(e),tTe))=="string"?n:rTe?o3(t):(r=o3(t))=="Object"&&eTe(t.callee)?"Arguments":r},iTe=Al,oTe=String,la=function(e){if(iTe(e)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return oTe(e)},sTe=Ur("match"),aTe=Gn,cTe=function(e){if(Kwe(e))throw qwe("The method doesn't accept regular expressions");return e},lTe=Gp,oD=la,uTe=function(e){var t=/./;try{"/./"[e](t)}catch{try{return t[sTe]=!1,"/./"[e](t)}catch{}}return!1},dTe=Wr("".indexOf);aTe({target:"String",proto:!0,forced:!uTe("includes")},{includes:function(e){return!!~dTe(oD(lTe(this)),oD(cTe(e)),arguments.length>1?arguments[1]:void 0)}});var fTe=za("String").includes,sD=Co,hTe=Zwe,pTe=fTe,D8=Array.prototype,L8=String.prototype,mTe=function(e){var t=e.includes;return e===D8||sD(D8,e)&&t===D8.includes?hTe:typeof e=="string"||e===L8||sD(L8,e)&&t===L8.includes?pTe:t},lt=kr(mTe),gTe=ja,vTe=Sl,yTe=Vy,ETe=Ru,bTe=TypeError,STe=function(e){return function(t,n,r,i){gTe(n);var o=vTe(t),s=yTe(o),a=ETe(o),c=e?a-1:0,l=e?-1:1;if(r<2)for(;;){if(c in s){i=s[c],c+=l;break}if(c+=l,e?c<0:a<=c)throw bTe("Reduce of empty array with no initial value")}for(;e?c>=0:a>c;c+=l)c in s&&(i=n(i,s[c],c,o));return i}},ATe={left:STe(!1)},CTe=Xr,Zy=function(e,t){var n=[][e];return!!n&&CTe((function(){n.call(null,t||function(){return 1},1)}))},Qg=typeof process<"u"&&bl(process)=="process",wTe=ATe.left;Gn({target:"Array",proto:!0,forced:!Qg&&ff>79&&ff<83||!Zy("reduce")},{reduce:function(e){var t=arguments.length;return wTe(this,e,t,t>1?arguments[1]:void 0)}});var TTe=za("Array").reduce,ITe=Co,PTe=TTe,N8=Array.prototype,OTe=function(e){var t=e.reduce;return e===N8||ITe(N8,e)&&t===N8.reduce?PTe:t},_X=OTe,vc=kr(_X);let RX=!0,kX=!0;function z2(e,t,n){const r=e.match(t);return r&&r.length>=n&&parseInt(r[n],10)}function _f(e,t,n){if(!e.RTCPeerConnection)return;const r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(s,a){if(s!==t)return i.apply(this,arguments);const c=l=>{const u=n(l);u&&(a.handleEvent?a.handleEvent(u):a(u))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(a,c),i.apply(this,[s,c])};const o=r.removeEventListener;r.removeEventListener=function(s,a){if(s!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(a))return o.apply(this,arguments);const c=this._eventMap[t].get(a);return this._eventMap[t].delete(a),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[s,c])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(s){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),s&&this.addEventListener(t,this["_on"+t]=s)},enumerable:!0,configurable:!0})}function _Te(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(RX=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function RTe(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(kX=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function xX(){if(typeof window=="object"){if(RX)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function _T(e,t){kX&&console.warn(e+" is deprecated, please use "+t+" instead.")}function aD(e){return Object.prototype.toString.call(e)==="[object Object]"}function DX(e){var t;return aD(e)?vc(t=Object.keys(e)).call(t,(function(n,r){const i=aD(e[r]),o=i?DX(e[r]):e[r],s=i&&!Object.keys(o).length;return o===void 0||s?n:Object.assign(n,{[r]:o})}),{}):e}function lA(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach((r=>{r.endsWith("Id")?lA(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach((i=>{lA(e,e.get(i),n)}))})))}function cD(e,t,n){const r=n?"outbound-rtp":"inbound-rtp",i=new Map;if(t===null)return i;const o=[];return e.forEach((s=>{s.type==="track"&&s.trackIdentifier===t.id&&o.push(s)})),o.forEach((s=>{e.forEach((a=>{a.type===r&&a.trackId===s.id&&lA(e,a,i)}))})),i}var kTe=CT,lD=Yp("keys"),Yy=function(e){return lD[e]||(lD[e]=kTe(e))},xTe=!Xr((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),DTe=Gi,LTe=Li,NTe=Sl,MTe=xTe,uD=Yy("IE_PROTO"),uA=Object,BTe=uA.prototype,RT=MTe?uA.getPrototypeOf:function(e){var t=NTe(e);if(DTe(t,uD))return t[uD];var n=t.constructor;return LTe(n)&&t instanceof n?n.prototype:t instanceof uA?BTe:null},FTe=Wr,UTe=ja,jTe=Li,HTe=String,zTe=TypeError,WTe=function(e,t,n){try{return FTe(UTe(Object.getOwnPropertyDescriptor(e,t)[n]))}catch{}},VTe=qo,GTe=function(e){if(typeof e=="object"||jTe(e))return e;throw zTe("Can't set "+HTe(e)+" as a prototype")},JTe=Object.setPrototypeOf||("__proto__"in{}?(function(){var e,t=!1,n={};try{(e=WTe(Object.prototype,"__proto__","set"))(n,[]),t=n instanceof Array}catch{}return function(r,i){return VTe(r),GTe(i),t?e(r,i):r.__proto__=i,r}})():void 0),Xy={},Qy={},M8=Gi,ZTe=e0,YTe=PT.indexOf,XTe=Qy,dD=Wr([].push),LX=function(e,t){var n,r=ZTe(e),i=0,o=[];for(n in r)!M8(XTe,n)&&M8(r,n)&&dD(o,n);for(;t.length>i;)M8(r,n=t[i++])&&(~YTe(o,n)||dD(o,n));return o},kT=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],QTe=LX,KTe=kT.concat("length","prototype");Xy.f=Object.getOwnPropertyNames||function(e){return QTe(e,KTe)};var Kg={};Kg.f=Object.getOwnPropertySymbols;var qTe=ys,$Te=Xy,eIe=Kg,tIe=qo,nIe=Wr([].concat),rIe=qTe("Reflect","ownKeys")||function(e){var t=$Te.f(tIe(e)),n=eIe.f;return n?nIe(t,n(e)):t},fD=Gi,iIe=rIe,oIe=Zg,sIe=Ha,xT={},aIe=LX,cIe=kT,Ky=Object.keys||function(e){return aIe(e,cIe)},lIe=ca,uIe=TX,dIe=Ha,fIe=qo,hIe=e0,pIe=Ky;xT.f=lIe&&!uIe?Object.defineProperties:function(e,t){fIe(e);for(var n,r=hIe(t),i=pIe(t),o=i.length,s=0;o>s;)dIe.f(e,n=i[s++],r[n]);return e};var W2,NX=ys("document","documentElement"),mIe=qo,gIe=xT,hD=kT,vIe=Qy,yIe=NX,EIe=wT,dA="prototype",fA="script",MX=Yy("IE_PROTO"),B8=function(){},BX=function(e){return"<"+fA+">"+e+"</"+fA+">"},pD=function(e){e.write(BX("")),e.close();var t=e.parentWindow.Object;return e=null,t},s3=function(){try{W2=new ActiveXObject("htmlfile")}catch{}var e,t,n;s3=typeof document<"u"?document.domain&&W2?pD(W2):(t=EIe("iframe"),n="java"+fA+":",t.style.display="none",yIe.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(BX("document.F=Object")),e.close(),e.F):pD(W2);for(var r=hD.length;r--;)delete s3[dA][hD[r]];return s3()};vIe[MX]=!0;var qg=Object.create||function(e,t){var n;return e!==null?(B8[dA]=mIe(e),n=new B8,B8[dA]=null,n[MX]=e):n=s3(),t===void 0?n:gIe.f(n,t)},bIe=Gs,SIe=n0,FX=Error,AIe=Wr("".replace),CIe=String(FX("zxcasd").stack),UX=/\n\s*at [^:]*:[^\n]*/,wIe=UX.test(CIe),TIe=$d,IIe=!Xr((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",TIe(1,7)),e.stack!==7)})),PIe=n0,OIe=function(e,t){if(wIe&&typeof e=="string"&&!FX.prepareStackTrace)for(;t--;)e=AIe(e,UX,"");return e},_Ie=IIe,mD=Error.captureStackTrace,Rf={},RIe=Rf,kIe=Ur("iterator"),xIe=Array.prototype,jX=function(e){return e!==void 0&&(RIe.Array===e||xIe[kIe]===e)},DIe=Al,gD=Gy,LIe=Vp,NIe=Rf,MIe=Ur("iterator"),qy=function(e){if(!LIe(e))return gD(e,MIe)||gD(e,"@@iterator")||NIe[DIe(e)]},BIe=Ni,FIe=ja,UIe=qo,jIe=Zp,HIe=qy,zIe=TypeError,DT=function(e,t){var n=arguments.length<2?HIe(e):t;if(FIe(n))return UIe(BIe(n,e));throw zIe(jIe(e)+" is not iterable")},WIe=Ni,vD=qo,VIe=Gy,HX=function(e,t,n){var r,i;vD(e);try{if(!(r=VIe(e,"return"))){if(t==="throw")throw n;return n}r=WIe(r,e)}catch(o){i=!0,r=o}if(t==="throw")throw n;if(i)throw r;return vD(r),n},GIe=t0,JIe=Ni,ZIe=qo,YIe=Zp,XIe=jX,QIe=Ru,yD=Co,KIe=DT,qIe=qy,ED=HX,$Ie=TypeError,a3=function(e,t){this.stopped=e,this.result=t},bD=a3.prototype,$g=function(e,t,n){var r,i,o,s,a,c,l,u=n&&n.that,d=!(!n||!n.AS_ENTRIES),f=!(!n||!n.IS_RECORD),h=!(!n||!n.IS_ITERATOR),p=!(!n||!n.INTERRUPTED),g=GIe(t,u),m=function(v){return r&&ED(r,"normal",v),new a3(!0,v)},y=function(v){return d?(ZIe(v),p?g(v[0],v[1],m):g(v[0],v[1])):p?g(v,m):g(v)};if(f)r=e.iterator;else if(h)r=e;else{if(!(i=qIe(e)))throw $Ie(YIe(e)+" is not iterable");if(XIe(i)){for(o=0,s=QIe(e);s>o;o++)if((a=y(e[o]))&&yD(bD,a))return a;return new a3(!1)}r=KIe(e,i)}for(c=f?e.next:r.next;!(l=JIe(c,r)).done;){try{a=y(l.value)}catch(v){ED(r,"throw",v)}if(typeof a=="object"&&a&&yD(bD,a))return a}return new a3(!1)},ePe=la,tPe=Gn,nPe=Co,rPe=RT,f4=JTe,iPe=function(e,t,n){for(var r=iIe(t),i=sIe.f,o=oIe.f,s=0;s<r.length;s++){var a=r[s];fD(e,a)||n&&fD(n,a)||i(e,a,o(t,a))}},zX=qg,F8=n0,U8=$d,oPe=function(e,t){bIe(t)&&"cause"in t&&SIe(e,"cause",t.cause)},sPe=function(e,t,n,r){_Ie&&(mD?mD(e,t):PIe(e,"stack",OIe(n,r)))},aPe=$g,cPe=function(e,t){return e===void 0?arguments.length<2?"":t:ePe(e)},lPe=Ur("toStringTag"),h4=Error,uPe=[].push,gp=function(e,t){var n,r=nPe(j8,this);f4?n=f4(h4(),r?rPe(this):j8):(n=r?this:zX(j8),F8(n,lPe,"Error")),t!==void 0&&F8(n,"message",cPe(t)),sPe(n,gp,n.stack,1),arguments.length>2&&oPe(n,arguments[2]);var i=[];return aPe(e,uPe,{that:i}),F8(n,"errors",i),n};f4?f4(gp,h4):iPe(gp,h4,{name:!0});var j8=gp.prototype=zX(h4.prototype,{constructor:U8(1,gp),message:U8(1,""),name:U8(1,"AggregateError")});tPe({global:!0},{AggregateError:gp});var p4,mm,m4,dPe=Li,SD=Di.WeakMap,fPe=dPe(SD)&&/native code/.test(String(SD)),WX=Di,hPe=Gs,pPe=n0,H8=Gi,z8=AT,mPe=Yy,gPe=Qy,AD="Object already initialized",hA=WX.TypeError,vPe=WX.WeakMap;if(fPe||z8.state){var _c=z8.state||(z8.state=new vPe);_c.get=_c.get,_c.has=_c.has,_c.set=_c.set,p4=function(e,t){if(_c.has(e))throw hA(AD);return t.facade=e,_c.set(e,t),t},mm=function(e){return _c.get(e)||{}},m4=function(e){return _c.has(e)}}else{var Wf=mPe("state");gPe[Wf]=!0,p4=function(e,t){if(H8(e,Wf))throw hA(AD);return t.facade=e,pPe(e,Wf,t),t},mm=function(e){return H8(e,Wf)?e[Wf]:{}},m4=function(e){return H8(e,Wf)}}var tf,CD,wD,kf={set:p4,get:mm,has:m4,enforce:function(e){return m4(e)?mm(e):p4(e,{})},getterFor:function(e){return function(t){var n;if(!hPe(t)||(n=mm(t)).type!==e)throw hA("Incompatible receiver, "+e+" required");return n}}},pA=ca,yPe=Gi,VX=Function.prototype,EPe=pA&&Object.getOwnPropertyDescriptor,TD=yPe(VX,"name"),GX={PROPER:TD&&(function(){}).name==="something",CONFIGURABLE:TD&&(!pA||pA&&EPe(VX,"name").configurable)},bPe=n0,r0=function(e,t,n,r){return r&&r.enumerable?e[t]=n:bPe(e,t,n),e},SPe=Xr,APe=Li,CPe=Gs,wPe=qg,ID=RT,TPe=r0,mA=Ur("iterator"),JX=!1;[].keys&&("next"in(wD=[].keys())?(CD=ID(ID(wD)))!==Object.prototype&&(tf=CD):JX=!0);var IPe=!CPe(tf)||SPe((function(){var e={};return tf[mA].call(e)!==e}));APe((tf=IPe?{}:wPe(tf))[mA])||TPe(tf,mA,(function(){return this}));var ZX={IteratorPrototype:tf,BUGGY_SAFARI_ITERATORS:JX},PPe=Al,OPe=OT?{}.toString:function(){return"[object "+PPe(this)+"]"},_Pe=OT,RPe=Ha.f,kPe=n0,xPe=Gi,DPe=OPe,PD=Ur("toStringTag"),i0=function(e,t,n,r){if(e){var i=n?e:e.prototype;xPe(i,PD)||RPe(i,PD,{configurable:!0,value:t}),r&&!_Pe&&kPe(i,"toString",DPe)}},LPe=ZX.IteratorPrototype,NPe=qg,MPe=$d,BPe=i0,FPe=Rf,UPe=function(){return this},LT=function(e,t,n,r){var i=t+" Iterator";return e.prototype=NPe(LPe,{next:MPe(+!r,n)}),BPe(e,i,!1,!0),FPe[i]=UPe,e},jPe=Gn,HPe=Ni,zPe=GX,WPe=LT,VPe=RT,GPe=i0,OD=r0,_D=Rf,JPe=ZX,ZPe=zPe.PROPER,V2=JPe.BUGGY_SAFARI_ITERATORS,W8=Ur("iterator"),RD="keys",G2="values",kD="entries",YPe=function(){return this},YX=function(e,t,n,r,i,o,s){WPe(n,t,r);var a,c,l,u=function(y){if(y===i&&g)return g;if(!V2&&y in h)return h[y];switch(y){case RD:case G2:case kD:return function(){return new n(this,y)}}return function(){return new n(this)}},d=t+" Iterator",f=!1,h=e.prototype,p=h[W8]||h["@@iterator"]||i&&h[i],g=!V2&&p||u(i),m=t=="Array"&&h.entries||p;if(m&&(a=VPe(m.call(new e)))!==Object.prototype&&a.next&&(GPe(a,d,!0,!0),_D[d]=YPe),ZPe&&i==G2&&p&&p.name!==G2&&(f=!0,g=function(){return HPe(p,this)}),i)if(c={values:u(G2),keys:o?g:u(RD),entries:u(kD)},s)for(l in c)(V2||f||!(l in h))&&OD(h,l,c[l]);else jPe({target:t,proto:!0,forced:V2||f},c);return s&&h[W8]!==g&&OD(h,W8,g,{}),_D[t]=g,c},NT=function(e,t){return{value:e,done:t}},XPe=e0,xD=Rf,XX=kf;Ha.f;var QPe=YX,DD=NT,QX="Array Iterator",KPe=XX.set,qPe=XX.getterFor(QX);QPe(Array,"Array",(function(e,t){KPe(this,{type:QX,target:XPe(e),index:0,kind:t})}),(function(){var e=qPe(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,DD(void 0,!0)):DD(n=="keys"?r:n=="values"?t[r]:[r,t[r]],!1)}),"values"),xD.Arguments=xD.Array;var $Pe=Ha,$y=function(e,t,n){return $Pe.f(e,t,n)},eOe=ys,tOe=$y,nOe=ca,LD=Ur("species"),rOe=Co,iOe=TypeError,MT=function(e,t){if(rOe(t,e))return e;throw iOe("Incorrect invocation")},oOe=Li,gA=AT,sOe=Wr(Function.toString);oOe(gA.inspectSource)||(gA.inspectSource=function(e){return sOe(e)});var KX=gA.inspectSource,aOe=Wr,cOe=Xr,qX=Li,lOe=Al,uOe=KX,$X=function(){},dOe=[],eQ=ys("Reflect","construct"),BT=/^\s*(?:class|function)\b/,fOe=aOe(BT.exec),hOe=!BT.exec($X),p1=function(e){if(!qX(e))return!1;try{return eQ($X,dOe,e),!0}catch{return!1}},tQ=function(e){if(!qX(e))return!1;switch(lOe(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return hOe||!!fOe(BT,uOe(e))}catch{return!0}};tQ.sham=!0;var tg,Vf,ND,V8,e6=!eQ||cOe((function(){var e;return p1(p1.call)||!p1(Object)||!p1((function(){e=!0}))||e}))?tQ:p1,pOe=e6,mOe=Zp,gOe=TypeError,MD=qo,vOe=function(e){if(pOe(e))return e;throw gOe(mOe(e)+" is not a constructor")},yOe=Vp,EOe=Ur("species"),FT=function(e,t){var n,r=MD(e).constructor;return r===void 0||yOe(n=MD(r)[EOe])?t:vOe(n)},UT=Wr([].slice),bOe=TypeError,t6=function(e,t){if(e<t)throw bOe("Not enough arguments");return e},nQ=/(?:ipad|iphone|ipod).*applewebkit/i.test(Of),ra=Di,SOe=ST,AOe=t0,BD=Li,COe=Gi,rQ=Xr,FD=NX,wOe=UT,UD=wT,TOe=t6,IOe=nQ,POe=Qg,vA=ra.setImmediate,jD=ra.clearImmediate,OOe=ra.process,G8=ra.Dispatch,_Oe=ra.Function,HD=ra.MessageChannel,ROe=ra.String,J8=0,gm={},zD="onreadystatechange";rQ((function(){tg=ra.location}));var jT=function(e){if(COe(gm,e)){var t=gm[e];delete gm[e],t()}},Z8=function(e){return function(){jT(e)}},WD=function(e){jT(e.data)},VD=function(e){ra.postMessage(ROe(e),tg.protocol+"//"+tg.host)};vA&&jD||(vA=function(e){TOe(arguments.length,1);var t=BD(e)?e:_Oe(e),n=wOe(arguments,1);return gm[++J8]=function(){SOe(t,void 0,n)},Vf(J8),J8},jD=function(e){delete gm[e]},POe?Vf=function(e){OOe.nextTick(Z8(e))}:G8&&G8.now?Vf=function(e){G8.now(Z8(e))}:HD&&!IOe?(V8=(ND=new HD).port2,ND.port1.onmessage=WD,Vf=AOe(V8.postMessage,V8)):ra.addEventListener&&BD(ra.postMessage)&&!ra.importScripts&&tg&&tg.protocol!=="file:"&&!rQ(VD)?(Vf=VD,ra.addEventListener("message",WD,!1)):Vf=zD in UD("script")?function(e){FD.appendChild(UD("script"))[zD]=function(){FD.removeChild(this),jT(e)}}:function(e){setTimeout(Z8(e),0)});var iQ={set:vA},oQ=function(){this.head=null,this.tail=null};oQ.prototype={add:function(e){var t={item:e,next:null},n=this.tail;n?n.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return(this.head=e.next)===null&&(this.tail=null),e.item}};var Gf,Y8,X8,Q8,GD,sQ=oQ,kOe=/ipad|iphone|ipod/i.test(Of)&&typeof Pebble<"u",xOe=/web0s(?!.*chrome)/i.test(Of),hf=Di,JD=t0,DOe=Zg.f,K8=iQ.set,LOe=sQ,NOe=nQ,MOe=kOe,BOe=xOe,q8=Qg,ZD=hf.MutationObserver||hf.WebKitMutationObserver,YD=hf.document,XD=hf.process,J2=hf.Promise,QD=DOe(hf,"queueMicrotask"),yA=QD&&QD.value;if(!yA){var Z2=new LOe,Y2=function(){var e,t;for(q8&&(e=XD.domain)&&e.exit();t=Z2.get();)try{t()}catch(n){throw Z2.head&&Gf(),n}e&&e.enter()};NOe||q8||BOe||!ZD||!YD?!MOe&&J2&&J2.resolve?((Q8=J2.resolve(void 0)).constructor=J2,GD=JD(Q8.then,Q8),Gf=function(){GD(Y2)}):q8?Gf=function(){XD.nextTick(Y2)}:(K8=JD(K8,hf),Gf=function(){K8(Y2)}):(Y8=!0,X8=YD.createTextNode(""),new ZD(Y2).observe(X8,{characterData:!0}),Gf=function(){X8.data=Y8=!Y8}),yA=function(e){Z2.head||Gf(),Z2.add(e)}}var FOe=yA,Xp=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}},pf=Di.Promise,aQ=typeof Deno=="object"&&Deno&&typeof Deno.version=="object",UOe=!aQ&&!Qg&&typeof window=="object"&&typeof document=="object",jOe=Di,vm=pf,HOe=Li,zOe=wX,WOe=KX,VOe=Ur,GOe=UOe,JOe=aQ,$8=ff,KD=vm&&vm.prototype,ZOe=VOe("species"),cQ=HOe(jOe.PromiseRejectionEvent),YOe=zOe("Promise",(function(){var e=WOe(vm),t=e!==String(vm);if(!t&&$8===66||!KD.catch||!KD.finally)return!0;if(!$8||$8<51||!/native code/.test(e)){var n=new vm((function(i){i(1)})),r=function(i){i((function(){}),(function(){}))};if((n.constructor={})[ZOe]=r,!(n.then((function(){}))instanceof r))return!0}return!t&&(GOe||JOe)&&!cQ})),e2={CONSTRUCTOR:YOe,REJECTION_EVENT:cQ},Cl={},qD=ja,XOe=TypeError,QOe=function(e){var t,n;this.promise=new e((function(r,i){if(t!==void 0||n!==void 0)throw XOe("Bad Promise constructor");t=r,n=i})),this.resolve=qD(t),this.reject=qD(n)};Cl.f=function(e){return new QOe(e)};var e9,$D,KOe=Gn,g4=Qg,Md=Di,t2=Ni,qOe=r0,$Oe=i0,e_e=function(e){var t=eOe(e);nOe&&t&&!t[LD]&&tOe(t,LD,{configurable:!0,get:function(){return this}})},t_e=ja,EA=Li,n_e=Gs,r_e=MT,i_e=FT,lQ=iQ.set,HT=FOe,o_e=function(e,t){try{arguments.length==1?console.error(e):console.error(e,t)}catch{}},s_e=Xp,a_e=sQ,uQ=kf,bA=pf,dQ=e2,fQ=Cl,c3="Promise",eL=dQ.CONSTRUCTOR,c_e=dQ.REJECTION_EVENT,t9=uQ.getterFor(c3),l_e=uQ.set,u_e=bA&&bA.prototype,m1=bA,n9=u_e,hQ=Md.TypeError,SA=Md.document,zT=Md.process,AA=fQ.f,d_e=AA,f_e=!!(SA&&SA.createEvent&&Md.dispatchEvent),pQ="unhandledrejection",mQ=function(e){var t;return!(!n_e(e)||!EA(t=e.then))&&t},gQ=function(e,t){var n,r,i,o=t.value,s=t.state==1,a=s?e.ok:e.fail,c=e.resolve,l=e.reject,u=e.domain;try{a?(s||(t.rejection===2&&p_e(t),t.rejection=1),a===!0?n=o:(u&&u.enter(),n=a(o),u&&(u.exit(),i=!0)),n===e.promise?l(hQ("Promise-chain cycle")):(r=mQ(n))?t2(r,n,c,l):c(n)):l(o)}catch(d){u&&!i&&u.exit(),l(d)}},vQ=function(e,t){e.notified||(e.notified=!0,HT((function(){for(var n,r=e.reactions;n=r.get();)gQ(n,e);e.notified=!1,t&&!e.rejection&&h_e(e)})))},yQ=function(e,t,n){var r,i;f_e?((r=SA.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),Md.dispatchEvent(r)):r={promise:t,reason:n},!c_e&&(i=Md["on"+e])?i(r):e===pQ&&o_e("Unhandled promise rejection",n)},h_e=function(e){t2(lQ,Md,(function(){var t,n=e.facade,r=e.value;if(tL(e)&&(t=s_e((function(){g4?zT.emit("unhandledRejection",r,n):yQ(pQ,n,r)})),e.rejection=g4||tL(e)?2:1,t.error))throw t.value}))},tL=function(e){return e.rejection!==1&&!e.parent},p_e=function(e){t2(lQ,Md,(function(){var t=e.facade;g4?zT.emit("rejectionHandled",t):yQ("rejectionhandled",t,e.value)}))},Sh=function(e,t,n){return function(r){e(t,r,n)}},Hh=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,vQ(e,!0))},CA=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw hQ("Promise can't be resolved itself");var r=mQ(t);r?HT((function(){var i={done:!1};try{t2(r,t,Sh(CA,i,e),Sh(Hh,i,e))}catch(o){Hh(i,o,e)}})):(e.value=t,e.state=1,vQ(e,!1))}catch(i){Hh({done:!1},i,e)}}};eL&&(n9=(m1=function(e){r_e(this,n9),t_e(e),t2(e9,this);var t=t9(this);try{e(Sh(CA,t),Sh(Hh,t))}catch(n){Hh(t,n)}}).prototype,(e9=function(e){l_e(this,{type:c3,done:!1,notified:!1,parent:!1,reactions:new a_e,rejection:!1,state:0,value:void 0})}).prototype=qOe(n9,"then",(function(e,t){var n=t9(this),r=AA(i_e(this,m1));return n.parent=!0,r.ok=!EA(e)||e,r.fail=EA(t)&&t,r.domain=g4?zT.domain:void 0,n.state==0?n.reactions.add(r):HT((function(){gQ(r,n)})),r.promise})),$D=function(){var e=new e9,t=t9(e);this.promise=e,this.resolve=Sh(CA,t),this.reject=Sh(Hh,t)},fQ.f=AA=function(e){return e===m1||e===void 0?new $D(e):d_e(e)}),KOe({global:!0,wrap:!0,forced:eL},{Promise:m1}),$Oe(m1,c3,!1,!0),e_e(c3);var EQ=Ur("iterator"),bQ=!1;try{var m_e=0,nL={next:function(){return{done:!!m_e++}},return:function(){bQ=!0}};nL[EQ]=function(){return this},Array.from(nL,(function(){throw 2}))}catch{}var g_e=pf,v_e=function(e,t){if(!bQ)return!1;var n=!1;try{var r={};r[EQ]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch{}return n},n6=e2.CONSTRUCTOR||!v_e((function(e){g_e.all(e).then(void 0,(function(){}))})),y_e=Ni,E_e=ja,b_e=Cl,S_e=Xp,A_e=$g;Gn({target:"Promise",stat:!0,forced:n6},{all:function(e){var t=this,n=b_e.f(t),r=n.resolve,i=n.reject,o=S_e((function(){var s=E_e(t.resolve),a=[],c=0,l=1;A_e(e,(function(u){var d=c++,f=!1;l++,y_e(s,t,u).then((function(h){f||(f=!0,a[d]=h,--l||r(a))}),i)})),--l||r(a)}));return o.error&&i(o.value),n.promise}});var C_e=Gn,w_e=e2.CONSTRUCTOR;pf&&pf.prototype,C_e({target:"Promise",proto:!0,forced:w_e,real:!0},{catch:function(e){return this.then(void 0,e)}});var T_e=Ni,I_e=ja,P_e=Cl,O_e=Xp,__e=$g;Gn({target:"Promise",stat:!0,forced:n6},{race:function(e){var t=this,n=P_e.f(t),r=n.reject,i=O_e((function(){var o=I_e(t.resolve);__e(e,(function(s){T_e(o,t,s).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}});var R_e=Ni,k_e=Cl;Gn({target:"Promise",stat:!0,forced:e2.CONSTRUCTOR},{reject:function(e){var t=k_e.f(this);return R_e(t.reject,void 0,e),t.promise}});var x_e=qo,D_e=Gs,L_e=Cl,SQ=function(e,t){if(x_e(e),D_e(t)&&t.constructor===e)return t;var n=L_e.f(e);return(0,n.resolve)(t),n.promise},N_e=Gn,M_e=pf,B_e=e2.CONSTRUCTOR,F_e=SQ,U_e=ys("Promise"),j_e=!B_e;N_e({target:"Promise",stat:!0,forced:!0},{resolve:function(e){return F_e(j_e&&this===U_e?M_e:this,e)}});var H_e=Ni,z_e=ja,W_e=Cl,V_e=Xp,G_e=$g;Gn({target:"Promise",stat:!0,forced:n6},{allSettled:function(e){var t=this,n=W_e.f(t),r=n.resolve,i=n.reject,o=V_e((function(){var s=z_e(t.resolve),a=[],c=0,l=1;G_e(e,(function(u){var d=c++,f=!1;l++,H_e(s,t,u).then((function(h){f||(f=!0,a[d]={status:"fulfilled",value:h},--l||r(a))}),(function(h){f||(f=!0,a[d]={status:"rejected",reason:h},--l||r(a))}))})),--l||r(a)}));return o.error&&i(o.value),n.promise}});var J_e=Ni,Z_e=ja,Y_e=ys,X_e=Cl,Q_e=Xp,K_e=$g,rL="No one promise resolved";Gn({target:"Promise",stat:!0,forced:n6},{any:function(e){var t=this,n=Y_e("AggregateError"),r=X_e.f(t),i=r.resolve,o=r.reject,s=Q_e((function(){var a=Z_e(t.resolve),c=[],l=0,u=1,d=!1;K_e(e,(function(f){var h=l++,p=!1;u++,J_e(a,t,f).then((function(g){p||d||(d=!0,i(g))}),(function(g){p||d||(p=!0,c[h]=g,--u||o(new n(c,rL)))}))})),--u||o(new n(c,rL))}));return s.error&&o(s.value),r.promise}});var q_e=Gn,wA=pf,$_e=Xr,eRe=ys,tRe=Li,nRe=FT,iL=SQ,rRe=wA&&wA.prototype;q_e({target:"Promise",proto:!0,real:!0,forced:!!wA&&$_e((function(){rRe.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=nRe(this,eRe("Promise")),n=tRe(e);return this.then(n?function(r){return iL(t,e()).then((function(){return r}))}:e,n?function(r){return iL(t,e()).then((function(){throw r}))}:e)}});var WT=Wr,iRe=TT,oRe=la,sRe=Gp,aRe=WT("".charAt),oL=WT("".charCodeAt),cRe=WT("".slice),sL=function(e){return function(t,n){var r,i,o=oRe(sRe(t)),s=iRe(n),a=o.length;return s<0||s>=a?e?"":void 0:(r=oL(o,s))<55296||r>56319||s+1===a||(i=oL(o,s+1))<56320||i>57343?e?aRe(o,s):r:e?cRe(o,s,s+2):i-56320+(r-55296<<10)+65536}},VT={codeAt:sL(!1),charAt:sL(!0)},lRe=VT.charAt,uRe=la,AQ=kf,dRe=YX,aL=NT,CQ="String Iterator",fRe=AQ.set,hRe=AQ.getterFor(CQ);dRe(String,"String",(function(e){fRe(this,{type:CQ,string:uRe(e),index:0})}),(function(){var e,t=hRe(this),n=t.string,r=t.index;return r>=n.length?aL(void 0,!0):(e=lRe(n,r),t.index+=e.length,aL(e,!1))}));var pRe=Cc.Promise,mRe={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},gRe=Di,vRe=Al,yRe=n0,cL=Rf,lL=Ur("toStringTag");for(var r9 in mRe){var uL=gRe[r9],i9=uL&&uL.prototype;i9&&vRe(i9)!==lL&&yRe(i9,lL,r9),cL[r9]=cL.Array}var wQ=pRe,ot=kr(wQ);const dL=xX;function TQ(e,t){const n=e&&e.navigator;if(!n.mediaDevices)return;const r=function(s){if(typeof s!="object"||s.mandatory||s.optional)return s;const a={};return Object.keys(s).forEach((c=>{if(c==="require"||c==="advanced"||c==="mediaSource")return;const l=typeof s[c]=="object"?s[c]:{ideal:s[c]};l.exact!==void 0&&typeof l.exact=="number"&&(l.min=l.max=l.exact);const u=function(d,f){return d?d+f.charAt(0).toUpperCase()+f.slice(1):f==="deviceId"?"sourceId":f};if(l.ideal!==void 0){a.optional=a.optional||[];let d={};typeof l.ideal=="number"?(d[u("min",c)]=l.ideal,a.optional.push(d),d={},d[u("max",c)]=l.ideal,a.optional.push(d)):(d[u("",c)]=l.ideal,a.optional.push(d))}l.exact!==void 0&&typeof l.exact!="number"?(a.mandatory=a.mandatory||{},a.mandatory[u("",c)]=l.exact):["min","max"].forEach((d=>{l[d]!==void 0&&(a.mandatory=a.mandatory||{},a.mandatory[u(d,c)]=l[d])}))})),s.advanced&&(a.optional=(a.optional||[]).concat(s.advanced)),a},i=function(s,a){if(t.version>=61)return a(s);if((s=JSON.parse(JSON.stringify(s)))&&typeof s.audio=="object"){const c=function(l,u,d){u in l&&!(d in l)&&(l[d]=l[u],delete l[u])};c((s=JSON.parse(JSON.stringify(s))).audio,"autoGainControl","googAutoGainControl"),c(s.audio,"noiseSuppression","googNoiseSuppression"),s.audio=r(s.audio)}if(s&&typeof s.video=="object"){let c=s.video.facingMode;c=c&&(typeof c=="object"?c:{ideal:c});const l=t.version<66;if(c&&(c.exact==="user"||c.exact==="environment"||c.ideal==="user"||c.ideal==="environment")&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||l)){let u;if(delete s.video.facingMode,c.exact==="environment"||c.ideal==="environment"?u=["back","rear"]:c.exact!=="user"&&c.ideal!=="user"||(u=["front"]),u)return n.mediaDevices.enumerateDevices().then((d=>{let f=(d=d.filter((h=>h.kind==="videoinput"))).find((h=>u.some((p=>{var g;return lt(g=h.label.toLowerCase()).call(g,p)}))));return!f&&d.length&&lt(u).call(u,"back")&&(f=d[d.length-1]),f&&(s.video.deviceId=c.exact?{exact:f.deviceId}:{ideal:f.deviceId}),s.video=r(s.video),dL("chrome: "+JSON.stringify(s)),a(s)}))}s.video=r(s.video)}return dL("chrome: "+JSON.stringify(s)),a(s)},o=function(s){return t.version>=64?s:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[s.name]||s.name,message:s.message,constraint:s.constraint||s.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=(function(s,a,c){i(s,(l=>{n.webkitGetUserMedia(l,a,(u=>{c&&c(o(u))}))}))}).bind(n),n.mediaDevices.getUserMedia){const s=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(a){return i(a,(c=>s(c).then((l=>{if(c.audio&&!l.getAudioTracks().length||c.video&&!l.getVideoTracks().length)throw l.getTracks().forEach((u=>{u.stop()})),new DOMException("","NotFoundError");return l}),(l=>ot.reject(o(l))))))}}}function IQ(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function PQ(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(n){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=n)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((s=>s.track&&s.track.id===r.track.id)):{track:r.track};const o=new Event("track");o.track=r.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)})),n.stream.getTracks().forEach((r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((s=>s.track&&s.track.id===r.id)):{track:r};const o=new Event("track");o.track=r,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else _f(e,"track",(t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t)))}function OQ(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(i,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=i.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:i}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(s,a){let c=i.apply(this,arguments);return c||(c=t(this,s),this._senders.push(c)),c};const o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(s){o.apply(this,arguments);const a=this._senders.indexOf(s);a!==-1&&this._senders.splice(a,1)}}const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(i){this._senders=this._senders||[],n.apply(this,[i]),i.getTracks().forEach((o=>{this._senders.push(t(this,o))}))};const r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(i){this._senders=this._senders||[],r.apply(this,[i]),i.getTracks().forEach((o=>{const s=this._senders.find((a=>a.track===o));s&&this._senders.splice(this._senders.indexOf(s),1)}))}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const n=t.apply(this,[]);return n.forEach((r=>r._pc=this)),n},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function _Q(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[n,r,i]=arguments;if(arguments.length>0&&typeof n=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof n!="function"))return t.apply(this,[]);const o=function(a){const c={};return a.result().forEach((l=>{const u={id:l.id,timestamp:l.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[l.type]||l.type};l.names().forEach((d=>{u[d]=l.stat(d)})),c[u.id]=u})),c},s=function(a){return new Map(Object.keys(a).map((c=>[c,a[c]])))};if(arguments.length>=2){const a=function(c){r(s(o(c)))};return t.apply(this,[a,n])}return new ot(((a,c)=>{t.apply(this,[function(l){a(s(o(l)))},c])})).then(r,i)}}function RQ(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){const i=n.apply(this,[]);return i.forEach((o=>o._pc=this)),i});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const i=r.apply(this,arguments);return i._pc=this,i}),e.RTCRtpSender.prototype.getStats=function(){const i=this;return this._pc.getStats().then((o=>cD(o,i.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){const r=n.apply(this,[]);return r.forEach((i=>i._pc=this)),r}),_f(e,"track",(r=>(r.receiver._pc=r.srcElement,r))),e.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then((i=>cD(i,r.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const n=arguments[0];let r,i,o;return this.getSenders().forEach((s=>{s.track===n&&(r?o=!0:r=s)})),this.getReceivers().forEach((s=>(s.track===n&&(i?o=!0:i=s),s.track===n))),o||r&&i?ot.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():i?i.getStats():ot.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function kQ(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((o=>this._shimmedLocalStreams[o][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(o,s){if(!s)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const a=t.apply(this,arguments);return this._shimmedLocalStreams[s.id]?this._shimmedLocalStreams[s.id].indexOf(a)===-1&&this._shimmedLocalStreams[s.id].push(a):this._shimmedLocalStreams[s.id]=[s,a],a};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._shimmedLocalStreams=this._shimmedLocalStreams||{},o.getTracks().forEach((c=>{if(this.getSenders().find((u=>u.track===c)))throw new DOMException("Track already exists.","InvalidAccessError")}));const s=this.getSenders();n.apply(this,arguments);const a=this.getSenders().filter((c=>s.indexOf(c)===-1));this._shimmedLocalStreams[o.id]=[o].concat(a)};const r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[o.id],r.apply(this,arguments)};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},o&&Object.keys(this._shimmedLocalStreams).forEach((s=>{const a=this._shimmedLocalStreams[s].indexOf(o);a!==-1&&this._shimmedLocalStreams[s].splice(a,1),this._shimmedLocalStreams[s].length===1&&delete this._shimmedLocalStreams[s]})),i.apply(this,arguments)}}function xQ(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return kQ(e);const n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const c=n.apply(this);return this._reverseStreams=this._reverseStreams||{},c.map((l=>this._reverseStreams[l.id]))};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(c){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},c.getTracks().forEach((l=>{if(this.getSenders().find((d=>d.track===l)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[c.id]){const l=new e.MediaStream(c.getTracks());this._streams[c.id]=l,this._reverseStreams[l.id]=c,c=l}r.apply(this,[c])};const i=e.RTCPeerConnection.prototype.removeStream;function o(c,l){let u=l.sdp;return Object.keys(c._reverseStreams||[]).forEach((d=>{const f=c._reverseStreams[d],h=c._streams[f.id];u=u.replace(new RegExp(h.id,"g"),f.id)})),new RTCSessionDescription({type:l.type,sdp:u})}e.RTCPeerConnection.prototype.removeStream=function(c){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[c.id]||c]),delete this._reverseStreams[this._streams[c.id]?this._streams[c.id].id:c.id],delete this._streams[c.id]},e.RTCPeerConnection.prototype.addTrack=function(c,l){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const u=[].slice.call(arguments,1);if(u.length!==1||!u[0].getTracks().find((h=>h===c)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((h=>h.track===c)))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const f=this._streams[l.id];if(f)f.addTrack(c),ot.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const h=new e.MediaStream([c]);this._streams[l.id]=h,this._reverseStreams[h.id]=l,this.addStream(h)}return this.getSenders().find((h=>h.track===c))},["createOffer","createAnswer"].forEach((function(c){const l=e.RTCPeerConnection.prototype[c],u={[c](){const d=arguments;return arguments.length&&typeof arguments[0]=="function"?l.apply(this,[f=>{const h=o(this,f);d[0].apply(null,[h])},f=>{d[1]&&d[1].apply(null,f)},arguments[2]]):l.apply(this,arguments).then((f=>o(this,f)))}};e.RTCPeerConnection.prototype[c]=u[c]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=(function(c,l){let u=l.sdp;return Object.keys(c._reverseStreams||[]).forEach((d=>{const f=c._reverseStreams[d],h=c._streams[f.id];u=u.replace(new RegExp(f.id,"g"),h.id)})),new RTCSessionDescription({type:l.type,sdp:u})})(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const c=a.get.apply(this);return c.type===""?c:o(this,c)}}),e.RTCPeerConnection.prototype.removeTrack=function(c){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!c._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(c._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let l;this._streams=this._streams||{},Object.keys(this._streams).forEach((u=>{this._streams[u].getTracks().find((d=>c.track===d))&&(l=this._streams[u])})),l&&(l.getTracks().length===1?this.removeStream(this._reverseStreams[l.id]):l.removeTrack(c.track),this.dispatchEvent(new Event("negotiationneeded")))}}function TA(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(n){const r=e.RTCPeerConnection.prototype[n],i={[n](){return arguments[0]=new(n==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[n]=i[n]}))}function DQ(e,t){_f(e,"negotiationneeded",(n=>{const r=n.target;if(!(t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")||r.signalingState==="stable")return n}))}var fL=Object.freeze({__proto__:null,fixNegotiationNeeded:DQ,shimAddTrackRemoveTrack:xQ,shimAddTrackRemoveTrackWithNative:kQ,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(typeof t=="function"?e.navigator.mediaDevices.getDisplayMedia=function(n){return t(n).then((r=>{const i=n.video&&n.video.width,o=n.video&&n.video.height,s=n.video&&n.video.frameRate;return n.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:s||3}},i&&(n.video.mandatory.maxWidth=i),o&&(n.video.mandatory.maxHeight=o),e.navigator.mediaDevices.getUserMedia(n)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))},shimGetSendersWithDtmf:OQ,shimGetStats:_Q,shimGetUserMedia:TQ,shimMediaStream:IQ,shimOnTrack:PQ,shimPeerConnection:TA,shimSenderReceiverGetStats:RQ});function LQ(e,t){const n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(i,o,s){_T("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(i).then(o,s)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){const i=function(s,a,c){a in s&&!(c in s)&&(s[c]=s[a],delete s[a])},o=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(s){return typeof s=="object"&&typeof s.audio=="object"&&(s=JSON.parse(JSON.stringify(s)),i(s.audio,"autoGainControl","mozAutoGainControl"),i(s.audio,"noiseSuppression","mozNoiseSuppression")),o(s)},r&&r.prototype.getSettings){const s=r.prototype.getSettings;r.prototype.getSettings=function(){const a=s.apply(this,arguments);return i(a,"mozAutoGainControl","autoGainControl"),i(a,"mozNoiseSuppression","noiseSuppression"),a}}if(r&&r.prototype.applyConstraints){const s=r.prototype.applyConstraints;r.prototype.applyConstraints=function(a){return this.kind==="audio"&&typeof a=="object"&&(a=JSON.parse(JSON.stringify(a)),i(a,"autoGainControl","mozAutoGainControl"),i(a,"noiseSuppression","mozNoiseSuppression")),s.apply(this,[a])}}}}function NQ(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function IA(e,t){if(typeof e!="object"||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(i){const o=e.RTCPeerConnection.prototype[i],s={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=s[i]}));const n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[i,o,s]=arguments;return r.apply(this,[i||null]).then((a=>{if(t.version<53&&!o)try{a.forEach((c=>{c.type=n[c.type]||c.type}))}catch(c){if(c.name!=="TypeError")throw c;a.forEach(((l,u)=>{a.set(u,Object.assign({},l,{type:n[l.type]||l.type}))}))}return a})).then(o,s)}}function MQ(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const r=t.apply(this,[]);return r.forEach((i=>i._pc=this)),r});const n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){const r=n.apply(this,arguments);return r._pc=this,r}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):ot.resolve(new Map)}}function BQ(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const n=t.apply(this,[]);return n.forEach((r=>r._pc=this)),n}),_f(e,"track",(n=>(n.receiver._pc=n.srcElement,n))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function FQ(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(t){_T("removeStream","removeTrack"),this.getSenders().forEach((n=>{var r;n.track&&lt(r=t.getTracks()).call(r,n.track)&&this.removeTrack(n)}))})}function UQ(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function jQ(e){if(typeof e!="object"||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let n=arguments[1]&&arguments[1].sendEncodings;n===void 0&&(n=[]),n=[...n];const r=n.length>0;r&&n.forEach((o=>{if("rid"in o&&!/^[a-z0-9]{0,16}$/i.test(o.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in o&&!(parseFloat(o.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in o&&!(parseFloat(o.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const i=t.apply(this,arguments);if(r){const{sender:o}=i,s=o.getParameters();(!("encodings"in s)||s.encodings.length===1&&Object.keys(s.encodings[0]).length===0)&&(s.encodings=n,o.sendEncodings=n,this.setParametersPromises.push(o.setParameters(s).then((()=>{delete o.sendEncodings})).catch((()=>{delete o.sendEncodings}))))}return i})}function HQ(e){if(typeof e!="object"||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const n=t.apply(this,arguments);return"encodings"in n||(n.encodings=[].concat(this.sendEncodings||[{}])),n})}function zQ(e){if(typeof e!="object"||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?ot.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function WQ(e){if(typeof e!="object"||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?ot.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var hL=Object.freeze({__proto__:null,shimAddTransceiver:jQ,shimCreateAnswer:WQ,shimCreateOffer:zQ,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!n||!n.video){const r=new DOMException("getDisplayMedia without video constraints is undefined");return r.name="NotFoundError",r.code=8,ot.reject(r)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})},shimGetParameters:HQ,shimGetUserMedia:LQ,shimOnTrack:NQ,shimPeerConnection:IA,shimRTCDataChannel:UQ,shimReceiverGetStats:BQ,shimRemoveStream:FQ,shimSenderGetStats:MQ});function VQ(e){if(typeof e=="object"&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(n){var r;this._localStreams||(this._localStreams=[]),lt(r=this._localStreams).call(r,n)||this._localStreams.push(n),n.getAudioTracks().forEach((i=>t.call(this,i,n))),n.getVideoTracks().forEach((i=>t.call(this,i,n)))},e.RTCPeerConnection.prototype.addTrack=function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return i&&i.forEach((s=>{var a;this._localStreams?lt(a=this._localStreams).call(a,s)||this._localStreams.push(s):this._localStreams=[s]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(t){this._localStreams||(this._localStreams=[]);const n=this._localStreams.indexOf(t);if(n===-1)return;this._localStreams.splice(n,1);const r=t.getTracks();this.getSenders().forEach((i=>{lt(r).call(r,i.track)&&this.removeTrack(i)}))})}}function GQ(e){if(typeof e=="object"&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(n){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=n),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach((i=>{var o;if(this._remoteStreams||(this._remoteStreams=[]),lt(o=this._remoteStreams).call(o,i))return;this._remoteStreams.push(i);const s=new Event("addstream");s.stream=i,this.dispatchEvent(s)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const n=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(r){r.streams.forEach((i=>{if(n._remoteStreams||(n._remoteStreams=[]),n._remoteStreams.indexOf(i)>=0)return;n._remoteStreams.push(i);const o=new Event("addstream");o.stream=i,n.dispatchEvent(o)}))}),t.apply(n,arguments)}}}function JQ(e){if(typeof e!="object"||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(c,l){const u=arguments.length>=2?arguments[2]:arguments[0],d=n.apply(this,[u]);return l?(d.then(c,l),ot.resolve()):d},t.createAnswer=function(c,l){const u=arguments.length>=2?arguments[2]:arguments[0],d=r.apply(this,[u]);return l?(d.then(c,l),ot.resolve()):d};let a=function(c,l,u){const d=i.apply(this,[c]);return u?(d.then(l,u),ot.resolve()):d};t.setLocalDescription=a,a=function(c,l,u){const d=o.apply(this,[c]);return u?(d.then(l,u),ot.resolve()):d},t.setRemoteDescription=a,a=function(c,l,u){const d=s.apply(this,[c]);return u?(d.then(l,u),ot.resolve()):d},t.addIceCandidate=a}function ZQ(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const n=t.mediaDevices,r=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=i=>r(YQ(i))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=(function(n,r,i){t.mediaDevices.getUserMedia(n).then(r,i)}).bind(t))}function YQ(e){return e&&e.video!==void 0?Object.assign({},e,{video:DX(e.video)}):e}function XQ(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(n,r){if(n&&n.iceServers){const i=[];for(let o=0;o<n.iceServers.length;o++){let s=n.iceServers[o];!s.hasOwnProperty("urls")&&s.hasOwnProperty("url")?(_T("RTCIceServer.url","RTCIceServer.urls"),s=JSON.parse(JSON.stringify(s)),s.urls=s.url,delete s.url,i.push(s)):i.push(n.iceServers[o])}n.iceServers=i}return new t(n,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function QQ(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function KQ(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(n){if(n){n.offerToReceiveAudio!==void 0&&(n.offerToReceiveAudio=!!n.offerToReceiveAudio);const r=this.getTransceivers().find((o=>o.receiver.track.kind==="audio"));n.offerToReceiveAudio===!1&&r?r.direction==="sendrecv"?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":r.direction==="recvonly"&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):n.offerToReceiveAudio!==!0||r||this.addTransceiver("audio",{direction:"recvonly"}),n.offerToReceiveVideo!==void 0&&(n.offerToReceiveVideo=!!n.offerToReceiveVideo);const i=this.getTransceivers().find((o=>o.receiver.track.kind==="video"));n.offerToReceiveVideo===!1&&i?i.direction==="sendrecv"?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":i.direction==="recvonly"&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):n.offerToReceiveVideo!==!0||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function qQ(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var pL=Object.freeze({__proto__:null,shimAudioContext:qQ,shimCallbacksAPI:JQ,shimConstraints:YQ,shimCreateOfferLegacy:KQ,shimGetUserMedia:ZQ,shimLocalStreamsAPI:VQ,shimRTCIceServerUrls:XQ,shimRemoteStreamsAPI:GQ,shimTrackEventTransceiver:QQ}),$Q=`
\v\f\r    \u2028\u2029\uFEFF`,ERe=Gp,bRe=la,PA=$Q,mL=Wr("".replace),SRe=RegExp("^["+PA+"]+"),ARe=RegExp("(^|[^"+PA+"])["+PA+"]+$"),CRe=function(e){return function(t){var n=bRe(ERe(t));return 1&e&&(n=mL(n,SRe,"")),2&e&&(n=mL(n,ARe,"$1")),n}},wRe={trim:CRe(3)},TRe=GX.PROPER,IRe=Xr,gL=$Q,PRe=wRe.trim;Gn({target:"String",proto:!0,forced:(function(e){return IRe((function(){return!!gL[e]()||"…"[e]()!=="…"||TRe&&gL[e].name!==e}))})("trim")},{trim:function(){return PRe(this)}});var ORe=za("String").trim,_Re=Co,RRe=ORe,o9=String.prototype,kRe=function(e){var t=e.trim;return typeof e=="string"||e===o9||_Re(o9,e)&&t===o9.trim?RRe:t},ao=kr(kRe),eK={exports:{}};(function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(n){return n.trim().split(`
`).map((r=>r.trim()))},t.splitSections=function(n){return n.split(`
m=`).map(((r,i)=>(i>0?"m="+r:r).trim()+`\r
`))},t.getDescription=function(n){const r=t.splitSections(n);return r&&r[0]},t.getMediaSections=function(n){const r=t.splitSections(n);return r.shift(),r},t.matchPrefix=function(n,r){return t.splitLines(n).filter((i=>i.indexOf(r)===0))},t.parseCandidate=function(n){let r;r=n.indexOf("a=candidate:")===0?n.substring(12).split(" "):n.substring(10).split(" ");const i={foundation:r[0],component:{1:"rtp",2:"rtcp"}[r[1]]||r[1],protocol:r[2].toLowerCase(),priority:parseInt(r[3],10),ip:r[4],address:r[4],port:parseInt(r[5],10),type:r[7]};for(let o=8;o<r.length;o+=2)switch(r[o]){case"raddr":i.relatedAddress=r[o+1];break;case"rport":i.relatedPort=parseInt(r[o+1],10);break;case"tcptype":i.tcpType=r[o+1];break;case"ufrag":i.ufrag=r[o+1],i.usernameFragment=r[o+1];break;default:i[r[o]]===void 0&&(i[r[o]]=r[o+1])}return i},t.writeCandidate=function(n){const r=[];r.push(n.foundation);const i=n.component;i==="rtp"?r.push(1):i==="rtcp"?r.push(2):r.push(i),r.push(n.protocol.toUpperCase()),r.push(n.priority),r.push(n.address||n.ip),r.push(n.port);const o=n.type;return r.push("typ"),r.push(o),o!=="host"&&n.relatedAddress&&n.relatedPort&&(r.push("raddr"),r.push(n.relatedAddress),r.push("rport"),r.push(n.relatedPort)),n.tcpType&&n.protocol.toLowerCase()==="tcp"&&(r.push("tcptype"),r.push(n.tcpType)),(n.usernameFragment||n.ufrag)&&(r.push("ufrag"),r.push(n.usernameFragment||n.ufrag)),"candidate:"+r.join(" ")},t.parseIceOptions=function(n){return n.substring(14).split(" ")},t.parseRtpMap=function(n){let r=n.substring(9).split(" ");const i={payloadType:parseInt(r.shift(),10)};return r=r[0].split("/"),i.name=r[0],i.clockRate=parseInt(r[1],10),i.channels=r.length===3?parseInt(r[2],10):1,i.numChannels=i.channels,i},t.writeRtpMap=function(n){let r=n.payloadType;n.preferredPayloadType!==void 0&&(r=n.preferredPayloadType);const i=n.channels||n.numChannels||1;return"a=rtpmap:"+r+" "+n.name+"/"+n.clockRate+(i!==1?"/"+i:"")+`\r
`},t.parseExtmap=function(n){const r=n.substring(9).split(" ");return{id:parseInt(r[0],10),direction:r[0].indexOf("/")>0?r[0].split("/")[1]:"sendrecv",uri:r[1],attributes:r.slice(2).join(" ")}},t.writeExtmap=function(n){return"a=extmap:"+(n.id||n.preferredId)+(n.direction&&n.direction!=="sendrecv"?"/"+n.direction:"")+" "+n.uri+(n.attributes?" "+n.attributes:"")+`\r
`},t.parseFmtp=function(n){const r={};let i;const o=n.substring(n.indexOf(" ")+1).split(";");for(let s=0;s<o.length;s++)i=o[s].trim().split("="),r[i[0].trim()]=i[1];return r},t.writeFmtp=function(n){let r="",i=n.payloadType;if(n.preferredPayloadType!==void 0&&(i=n.preferredPayloadType),n.parameters&&Object.keys(n.parameters).length){const o=[];Object.keys(n.parameters).forEach((s=>{n.parameters[s]!==void 0?o.push(s+"="+n.parameters[s]):o.push(s)})),r+="a=fmtp:"+i+" "+o.join(";")+`\r
`}return r},t.parseRtcpFb=function(n){const r=n.substring(n.indexOf(" ")+1).split(" ");return{type:r.shift(),parameter:r.join(" ")}},t.writeRtcpFb=function(n){let r="",i=n.payloadType;return n.preferredPayloadType!==void 0&&(i=n.preferredPayloadType),n.rtcpFeedback&&n.rtcpFeedback.length&&n.rtcpFeedback.forEach((o=>{r+="a=rtcp-fb:"+i+" "+o.type+(o.parameter&&o.parameter.length?" "+o.parameter:"")+`\r
`})),r},t.parseSsrcMedia=function(n){const r=n.indexOf(" "),i={ssrc:parseInt(n.substring(7,r),10)},o=n.indexOf(":",r);return o>-1?(i.attribute=n.substring(r+1,o),i.value=n.substring(o+1)):i.attribute=n.substring(r+1),i},t.parseSsrcGroup=function(n){const r=n.substring(13).split(" ");return{semantics:r.shift(),ssrcs:r.map((i=>parseInt(i,10)))}},t.getMid=function(n){const r=t.matchPrefix(n,"a=mid:")[0];if(r)return r.substring(6)},t.parseFingerprint=function(n){const r=n.substring(14).split(" ");return{algorithm:r[0].toLowerCase(),value:r[1].toUpperCase()}},t.getDtlsParameters=function(n,r){return{role:"auto",fingerprints:t.matchPrefix(n+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(n,r){let i="a=setup:"+r+`\r
`;return n.fingerprints.forEach((o=>{i+="a=fingerprint:"+o.algorithm+" "+o.value+`\r
`})),i},t.parseCryptoLine=function(n){const r=n.substring(9).split(" ");return{tag:parseInt(r[0],10),cryptoSuite:r[1],keyParams:r[2],sessionParams:r.slice(3)}},t.writeCryptoLine=function(n){return"a=crypto:"+n.tag+" "+n.cryptoSuite+" "+(typeof n.keyParams=="object"?t.writeCryptoKeyParams(n.keyParams):n.keyParams)+(n.sessionParams?" "+n.sessionParams.join(" "):"")+`\r
`},t.parseCryptoKeyParams=function(n){if(n.indexOf("inline:")!==0)return null;const r=n.substring(7).split("|");return{keyMethod:"inline",keySalt:r[0],lifeTime:r[1],mkiValue:r[2]?r[2].split(":")[0]:void 0,mkiLength:r[2]?r[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(n){return n.keyMethod+":"+n.keySalt+(n.lifeTime?"|"+n.lifeTime:"")+(n.mkiValue&&n.mkiLength?"|"+n.mkiValue+":"+n.mkiLength:"")},t.getCryptoParameters=function(n,r){return t.matchPrefix(n+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(n,r){const i=t.matchPrefix(n+r,"a=ice-ufrag:")[0],o=t.matchPrefix(n+r,"a=ice-pwd:")[0];return i&&o?{usernameFragment:i.substring(12),password:o.substring(10)}:null},t.writeIceParameters=function(n){let r="a=ice-ufrag:"+n.usernameFragment+`\r
a=ice-pwd:`+n.password+`\r
`;return n.iceLite&&(r+=`a=ice-lite\r
`),r},t.parseRtpParameters=function(n){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},i=t.splitLines(n)[0].split(" ");r.profile=i[2];for(let s=3;s<i.length;s++){const a=i[s],c=t.matchPrefix(n,"a=rtpmap:"+a+" ")[0];if(c){const l=t.parseRtpMap(c),u=t.matchPrefix(n,"a=fmtp:"+a+" ");switch(l.parameters=u.length?t.parseFmtp(u[0]):{},l.rtcpFeedback=t.matchPrefix(n,"a=rtcp-fb:"+a+" ").map(t.parseRtcpFb),r.codecs.push(l),l.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(l.name.toUpperCase())}}}t.matchPrefix(n,"a=extmap:").forEach((s=>{r.headerExtensions.push(t.parseExtmap(s))}));const o=t.matchPrefix(n,"a=rtcp-fb:* ").map(t.parseRtcpFb);return r.codecs.forEach((s=>{o.forEach((a=>{s.rtcpFeedback.find((c=>c.type===a.type&&c.parameter===a.parameter))||s.rtcpFeedback.push(a)}))})),r},t.writeRtpDescription=function(n,r){let i="";i+="m="+n+" ",i+=r.codecs.length>0?"9":"0",i+=" "+(r.profile||"UDP/TLS/RTP/SAVPF")+" ",i+=r.codecs.map((s=>s.preferredPayloadType!==void 0?s.preferredPayloadType:s.payloadType)).join(" ")+`\r
`,i+=`c=IN IP4 0.0.0.0\r
`,i+=`a=rtcp:9 IN IP4 0.0.0.0\r
`,r.codecs.forEach((s=>{i+=t.writeRtpMap(s),i+=t.writeFmtp(s),i+=t.writeRtcpFb(s)}));let o=0;return r.codecs.forEach((s=>{s.maxptime>o&&(o=s.maxptime)})),o>0&&(i+="a=maxptime:"+o+`\r
`),r.headerExtensions&&r.headerExtensions.forEach((s=>{i+=t.writeExtmap(s)})),i},t.parseRtpEncodingParameters=function(n){const r=[],i=t.parseRtpParameters(n),o=i.fecMechanisms.indexOf("RED")!==-1,s=i.fecMechanisms.indexOf("ULPFEC")!==-1,a=t.matchPrefix(n,"a=ssrc:").map((f=>t.parseSsrcMedia(f))).filter((f=>f.attribute==="cname")),c=a.length>0&&a[0].ssrc;let l;const u=t.matchPrefix(n,"a=ssrc-group:FID").map((f=>f.substring(17).split(" ").map((h=>parseInt(h,10)))));u.length>0&&u[0].length>1&&u[0][0]===c&&(l=u[0][1]),i.codecs.forEach((f=>{if(f.name.toUpperCase()==="RTX"&&f.parameters.apt){let h={ssrc:c,codecPayloadType:parseInt(f.parameters.apt,10)};c&&l&&(h.rtx={ssrc:l}),r.push(h),o&&(h=JSON.parse(JSON.stringify(h)),h.fec={ssrc:c,mechanism:s?"red+ulpfec":"red"},r.push(h))}})),r.length===0&&c&&r.push({ssrc:c});let d=t.matchPrefix(n,"b=");return d.length&&(d=d[0].indexOf("b=TIAS:")===0?parseInt(d[0].substring(7),10):d[0].indexOf("b=AS:")===0?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,r.forEach((f=>{f.maxBitrate=d}))),r},t.parseRtcpParameters=function(n){const r={},i=t.matchPrefix(n,"a=ssrc:").map((a=>t.parseSsrcMedia(a))).filter((a=>a.attribute==="cname"))[0];i&&(r.cname=i.value,r.ssrc=i.ssrc);const o=t.matchPrefix(n,"a=rtcp-rsize");r.reducedSize=o.length>0,r.compound=o.length===0;const s=t.matchPrefix(n,"a=rtcp-mux");return r.mux=s.length>0,r},t.writeRtcpParameters=function(n){let r="";return n.reducedSize&&(r+=`a=rtcp-rsize\r
`),n.mux&&(r+=`a=rtcp-mux\r
`),n.ssrc!==void 0&&n.cname&&(r+="a=ssrc:"+n.ssrc+" cname:"+n.cname+`\r
`),r},t.parseMsid=function(n){let r;const i=t.matchPrefix(n,"a=msid:");if(i.length===1)return r=i[0].substring(7).split(" "),{stream:r[0],track:r[1]};const o=t.matchPrefix(n,"a=ssrc:").map((s=>t.parseSsrcMedia(s))).filter((s=>s.attribute==="msid"));return o.length>0?(r=o[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(n){const r=t.parseMLine(n),i=t.matchPrefix(n,"a=max-message-size:");let o;i.length>0&&(o=parseInt(i[0].substring(19),10)),isNaN(o)&&(o=65536);const s=t.matchPrefix(n,"a=sctp-port:");if(s.length>0)return{port:parseInt(s[0].substring(12),10),protocol:r.fmt,maxMessageSize:o};const a=t.matchPrefix(n,"a=sctpmap:");if(a.length>0){const c=a[0].substring(10).split(" ");return{port:parseInt(c[0],10),protocol:c[1],maxMessageSize:o}}},t.writeSctpDescription=function(n,r){let i=[];return i=n.protocol!=="DTLS/SCTP"?["m="+n.kind+" 9 "+n.protocol+" "+r.protocol+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctp-port:"+r.port+`\r
`]:["m="+n.kind+" 9 "+n.protocol+" "+r.port+`\r
`,`c=IN IP4 0.0.0.0\r
`,"a=sctpmap:"+r.port+" "+r.protocol+` 65535\r
`],r.maxMessageSize!==void 0&&i.push("a=max-message-size:"+r.maxMessageSize+`\r
`),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(n,r,i){let o;const s=r!==void 0?r:2;return o=n||t.generateSessionId(),`v=0\r
o=`+(i||"thisisadapterortc")+" "+o+" "+s+` IN IP4 127.0.0.1\r
s=-\r
t=0 0\r
`},t.getDirection=function(n,r){const i=t.splitLines(n);for(let o=0;o<i.length;o++)switch(i[o]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[o].substring(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(n){return t.splitLines(n)[0].split(" ")[0].substring(2)},t.isRejected=function(n){return n.split(" ",2)[1]==="0"},t.parseMLine=function(n){const r=t.splitLines(n)[0].substring(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(n){const r=t.matchPrefix(n,"o=")[0].substring(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(n){if(typeof n!="string"||n.length===0)return!1;const r=t.splitLines(n);for(let i=0;i<r.length;i++)if(r[i].length<2||r[i].charAt(1)!=="=")return!1;return!0},e.exports=t})(eK);var tK=eK.exports,zh=kr(tK),xRe=XAe({__proto__:null,default:zh},[tK]);function l3(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(n){if(typeof n=="object"&&n.candidate&&n.candidate.indexOf("a=")===0&&((n=JSON.parse(JSON.stringify(n))).candidate=n.candidate.substr(2)),n.candidate&&n.candidate.length){const r=new t(n),i=zh.parseCandidate(n.candidate),o=Object.assign(r,i);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(n)},e.RTCIceCandidate.prototype=t.prototype,_f(e,"icecandidate",(n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new e.RTCIceCandidate(n.candidate),writable:"false"}),n)))}function OA(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||_f(e,"icecandidate",(t=>{if(t.candidate){const n=zh.parseCandidate(t.candidate.candidate);n.type==="relay"&&(t.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[n.priority>>24])}return t}))}function u3(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return this._sctp===void 0?null:this._sctp}});const n=function(a){if(!a||!a.sdp)return!1;const c=zh.splitSections(a.sdp);return c.shift(),c.some((l=>{const u=zh.parseMLine(l);return u&&u.kind==="application"&&u.protocol.indexOf("SCTP")!==-1}))},r=function(a){const c=a.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(c===null||c.length<2)return-1;const l=parseInt(c[1],10);return l!=l?-1:l},i=function(a){let c=65536;return t.browser==="firefox"&&(c=t.version<57?a===-1?16384:2147483637:t.version<60?t.version===57?65535:65536:2147483637),c},o=function(a,c){let l=65536;t.browser==="firefox"&&t.version===57&&(l=65535);const u=zh.matchPrefix(a.sdp,"a=max-message-size:");return u.length>0?l=parseInt(u[0].substr(19),10):t.browser==="firefox"&&c!==-1&&(l=2147483637),l},s=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){const{sdpSemantics:a}=this.getConfiguration();a==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return this._sctp===void 0?null:this._sctp},enumerable:!0,configurable:!0})}if(n(arguments[0])){const a=r(arguments[0]),c=i(a),l=o(arguments[0],a);let u;u=c===0&&l===0?Number.POSITIVE_INFINITY:c===0||l===0?Math.max(c,l):Math.min(c,l);const d={};Object.defineProperty(d,"maxMessageSize",{get:()=>u}),this._sctp=d}return s.apply(this,arguments)}}function d3(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,i){const o=r.send;r.send=function(){const s=arguments[0],a=s.length||s.size||s.byteLength;if(r.readyState==="open"&&i.sctp&&a>i.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+i.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}const n=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const r=n.apply(this,arguments);return t(r,this),r},_f(e,"datachannel",(r=>(t(r.channel,r.target),r)))}function _A(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(n){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((n=>{const r=t[n];t[n]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=i=>{const o=i.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;const s=new Event("connectionstatechange",i);o.dispatchEvent(s)}return i},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function RA(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;const n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(r){if(r&&r.sdp&&r.sdp.indexOf(`
a=extmap-allow-mixed`)!==-1){const i=r.sdp.split(`
`).filter((o=>ao(o).call(o)!=="a=extmap-allow-mixed")).join(`
`);e.RTCSessionDescription&&r instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:r.type,sdp:i}):r.sdp=i}return n.apply(this,arguments)}}function f3(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const n=e.RTCPeerConnection.prototype.addIceCandidate;n&&n.length!==0&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?ot.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),ot.resolve())})}function h3(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const n=e.RTCPeerConnection.prototype.setLocalDescription;n&&n.length!==0&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let r=arguments[0]||{};if(typeof r!="object"||r.type&&r.sdp)return n.apply(this,arguments);if(r={type:r.type,sdp:r.sdp},!r.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":r.type="offer";break;default:r.type="answer"}return r.sdp||r.type!=="offer"&&r.type!=="answer"?n.apply(this,[r]):(r.type==="offer"?this.createOffer:this.createAnswer).apply(this).then((i=>n.apply(this,[i])))})}var DRe=Object.freeze({__proto__:null,removeExtmapAllowMixed:RA,shimAddIceCandidateNullOrEmpty:f3,shimConnectionState:_A,shimMaxMessageSize:u3,shimParameterlessSetLocalDescription:h3,shimRTCIceCandidate:l3,shimRTCIceCandidateRelayProtocol:OA,shimSendThrowTypeError:d3});(function(){let{window:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const n=xX,r=(function(o){const s={browser:null,version:null};if(o===void 0||!o.navigator)return s.browser="Not a browser.",s;const{navigator:a}=o;if(a.mozGetUserMedia)s.browser="firefox",s.version=z2(a.userAgent,/Firefox\/(\d+)\./,1);else if(a.webkitGetUserMedia||o.isSecureContext===!1&&o.webkitRTCPeerConnection)s.browser="chrome",s.version=z2(a.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!o.RTCPeerConnection||!a.userAgent.match(/AppleWebKit\/(\d+)\./))return s.browser="Not a supported browser.",s;s.browser="safari",s.version=z2(a.userAgent,/AppleWebKit\/(\d+)\./,1),s.supportsUnifiedPlan=o.RTCRtpTransceiver&&"currentDirection"in o.RTCRtpTransceiver.prototype}return s})(e),i={browserDetails:r,commonShim:DRe,extractVersion:z2,disableLog:_Te,disableWarnings:RTe,sdp:xRe};switch(r.browser){case"chrome":if(!fL||!TA||!t.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(r.version===null)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=fL,f3(e,r),h3(e),TQ(e,r),IQ(e),TA(e,r),PQ(e),xQ(e,r),OQ(e),_Q(e),RQ(e),DQ(e,r),l3(e),OA(e),_A(e),u3(e,r),d3(e),RA(e,r);break;case"firefox":if(!hL||!IA||!t.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=hL,f3(e,r),h3(e),LQ(e,r),IA(e,r),NQ(e),FQ(e),MQ(e),BQ(e),UQ(e),jQ(e),HQ(e),zQ(e),WQ(e),l3(e),_A(e),u3(e,r),d3(e);break;case"safari":if(!pL||!t.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=pL,f3(e,r),h3(e),XQ(e),KQ(e),JQ(e),VQ(e),GQ(e),QQ(e),ZQ(e),qQ(e),l3(e),OA(e),u3(e,r),d3(e),RA(e,r);break;default:n("Unsupported browser!")}})({window:typeof window>"u"?void 0:window});var LRe=za("Array").keys,NRe=Al,MRe=Gi,BRe=Co,FRe=LRe,s9=Array.prototype,URe={DOMTokenList:!0,NodeList:!0},jRe=function(e){var t=e.keys;return e===s9||BRe(s9,e)&&t===s9.keys||MRe(URe,NRe(e))?FRe:t},Ts=kr(jRe),vL=Zp,HRe=TypeError,zRe=Jy,WRe=Ha,VRe=$d,r6=function(e,t,n){var r=zRe(t);r in e?WRe.f(e,r,VRe(0,n)):e[r]=n},yL=IT,GRe=Ru,JRe=r6,ZRe=Array,YRe=Math.max,GT=function(e,t,n){for(var r=GRe(e),i=yL(t,r),o=yL(n===void 0?r:n,r),s=ZRe(YRe(o-i,0)),a=0;i<o;i++,a++)JRe(s,a,e[i]);return s.length=a,s},EL=GT,XRe=Math.floor,kA=function(e,t){var n=e.length,r=XRe(n/2);return n<8?QRe(e,t):KRe(e,kA(EL(e,0,r),t),kA(EL(e,r),t),t)},QRe=function(e,t){for(var n,r,i=e.length,o=1;o<i;){for(r=o,n=e[o];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==o++&&(e[r]=n)}return e},KRe=function(e,t,n,r){for(var i=t.length,o=n.length,s=0,a=0;s<i||a<o;)e[s+a]=s<i&&a<o?r(t[s],n[a])<=0?t[s++]:n[a++]:s<i?t[s++]:n[a++];return e},nK=kA,bL=Of.match(/firefox\/(\d+)/i),qRe=!!bL&&+bL[1],$Re=/MSIE|Trident/.test(Of),SL=Of.match(/AppleWebKit\/(\d+)\./),eke=!!SL&&+SL[1],tke=Gn,rK=Wr,nke=ja,rke=Sl,AL=Ru,ike=function(e,t){if(!delete e[t])throw HRe("Cannot delete property "+vL(t)+" of "+vL(e))},CL=la,JT=Xr,oke=nK,ske=Zy,wL=qRe,ake=$Re,TL=ff,IL=eke,Ed=[],PL=rK(Ed.sort),cke=rK(Ed.push),lke=JT((function(){Ed.sort(void 0)})),uke=JT((function(){Ed.sort(null)})),dke=ske("sort"),OL=!JT((function(){if(TL)return TL<70;if(!(wL&&wL>3)){if(ake)return!0;if(IL)return IL<603;var e,t,n,r,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)Ed.push({k:t+r,v:n})}for(Ed.sort((function(o,s){return s.v-o.v})),r=0;r<Ed.length;r++)t=Ed[r].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return i!=="DGBEFHACIJK"}}));tke({target:"Array",proto:!0,forced:lke||!uke||!dke||!OL},{sort:function(e){e!==void 0&&nke(e);var t=rke(this);if(OL)return e===void 0?PL(t):PL(t,e);var n,r,i=[],o=AL(t);for(r=0;r<o;r++)r in t&&cke(i,t[r]);for(oke(i,(function(s){return function(a,c){return c===void 0?-1:a===void 0?1:s!==void 0?+s(a,c)||0:CL(a)>CL(c)?1:-1}})(e)),n=AL(i),r=0;r<n;)t[r]=i[r++];for(;r<o;)ike(t,r++);return t}});var a9,c9,fke=za("Array").sort,hke=Co,pke=fke,l9=Array.prototype,mke=function(e){var t=e.sort;return e===l9||hke(l9,e)&&t===l9.sort?pke:t},n2=kr(mke),xA={exports:{}};a9=xA,c9=xA.exports,(function(e,t){var n="function",r="undefined",i="object",o="string",s="major",a="model",c="name",l="type",u="vendor",d="version",f="architecture",h="console",p="mobile",g="tablet",m="smarttv",y="wearable",v="embedded",E="Amazon",b="Apple",S="ASUS",w="BlackBerry",C="Browser",_="Chrome",I="Firefox",O="Google",L="Huawei",R="LG",F="Microsoft",W="Motorola",J="Opera",Y="Samsung",M="Sharp",B="Sony",q="Xiaomi",z="Zebra",A="Facebook",T="Chromium OS",k="Mac OS",j=function(K){for(var ce={},ye=0;ye<K.length;ye++)ce[K[ye].toUpperCase()]=K[ye];return ce},re=function(K,ce){return typeof K===o&&me(ce).indexOf(me(K))!==-1},me=function(K){return K.toLowerCase()},te=function(K,ce){if(typeof K===o)return K=K.replace(/^\s\s*/,""),typeof ce===r?K:K.substring(0,350)},X=function(K,ce){for(var ye,ee,$,ge,ie,Ie,Ce=0;Ce<ce.length&&!ie;){var oe=ce[Ce],Ne=ce[Ce+1];for(ye=ee=0;ye<oe.length&&!ie&&oe[ye];)if(ie=oe[ye++].exec(K))for($=0;$<Ne.length;$++)Ie=ie[++ee],typeof(ge=Ne[$])===i&&ge.length>0?ge.length===2?typeof ge[1]==n?this[ge[0]]=ge[1].call(this,Ie):this[ge[0]]=ge[1]:ge.length===3?typeof ge[1]!==n||ge[1].exec&&ge[1].test?this[ge[0]]=Ie?Ie.replace(ge[1],ge[2]):t:this[ge[0]]=Ie?ge[1].call(this,Ie,ge[2]):t:ge.length===4&&(this[ge[0]]=Ie?ge[3].call(this,Ie.replace(ge[1],ge[2])):t):this[ge]=Ie||t;Ce+=2}},fe=function(K,ce){for(var ye in ce)if(typeof ce[ye]===i&&ce[ye].length>0){for(var ee=0;ee<ce[ye].length;ee++)if(re(ce[ye][ee],K))return ye==="?"?t:ye}else if(re(ce[ye],K))return ye==="?"?t:ye;return K},le={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ve={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[d,[c,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[d,[c,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[c,d],[/opios[\/ ]+([\w\.]+)/i],[d,[c,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[d,[c,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[c,d],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[d,[c,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[d,[c,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[d,[c,"WeChat"]],[/konqueror\/([\w\.]+)/i],[d,[c,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[d,[c,"IE"]],[/yabrowser\/([\w\.]+)/i],[d,[c,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[c,/(.+)/,"$1 Secure "+C],d],[/\bfocus\/([\w\.]+)/i],[d,[c,I+" Focus"]],[/\bopt\/([\w\.]+)/i],[d,[c,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[d,[c,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[d,[c,"Dolphin"]],[/coast\/([\w\.]+)/i],[d,[c,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[d,[c,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[d,[c,I]],[/\bqihu|(qi?ho?o?|360)browser/i],[[c,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[c,/(.+)/,"$1 "+C],d],[/(comodo_dragon)\/([\w\.]+)/i],[[c,/_/g," "],d],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[c,d],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[c],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[c,A],d],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[c,d],[/\bgsa\/([\w\.]+) .*safari\//i],[d,[c,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[d,[c,_+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[c,_+" WebView"],d],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[d,[c,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[c,d],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[d,[c,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[d,c],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[c,[d,fe,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[c,d],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[c,"Netscape"],d],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[d,[c,I+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[c,d],[/(cobalt)\/([\w\.]+)/i],[c,[d,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,me]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",me]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,me]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[a,[u,Y],[l,g]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[a,[u,Y],[l,p]],[/\((ip(?:hone|od)[\w ]*);/i],[a,[u,b],[l,p]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[a,[u,b],[l,g]],[/(macintosh);/i],[a,[u,b]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[a,[u,M],[l,p]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[a,[u,L],[l,g]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[a,[u,L],[l,p]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[a,/_/g," "],[u,q],[l,p]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[a,/_/g," "],[u,q],[l,g]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[a,[u,"OPPO"],[l,p]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[a,[u,"Vivo"],[l,p]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[a,[u,"Realme"],[l,p]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[a,[u,W],[l,p]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[a,[u,W],[l,g]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[a,[u,R],[l,g]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[a,[u,R],[l,p]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[a,[u,"Lenovo"],[l,g]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[a,/_/g," "],[u,"Nokia"],[l,p]],[/(pixel c)\b/i],[a,[u,O],[l,g]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[a,[u,O],[l,p]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[a,[u,B],[l,p]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[a,"Xperia Tablet"],[u,B],[l,g]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[a,[u,"OnePlus"],[l,p]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[a,[u,E],[l,g]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[a,/(.+)/g,"Fire Phone $1"],[u,E],[l,p]],[/(playbook);[-\w\),; ]+(rim)/i],[a,u,[l,g]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[a,[u,w],[l,p]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[a,[u,S],[l,g]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[a,[u,S],[l,p]],[/(nexus 9)/i],[a,[u,"HTC"],[l,g]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[u,[a,/_/g," "],[l,p]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[a,[u,"Acer"],[l,g]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[a,[u,"Meizu"],[l,p]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[u,a,[l,p]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[u,a,[l,g]],[/(surface duo)/i],[a,[u,F],[l,g]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[a,[u,"Fairphone"],[l,p]],[/(u304aa)/i],[a,[u,"AT&T"],[l,p]],[/\bsie-(\w*)/i],[a,[u,"Siemens"],[l,p]],[/\b(rct\w+) b/i],[a,[u,"RCA"],[l,g]],[/\b(venue[\d ]{2,7}) b/i],[a,[u,"Dell"],[l,g]],[/\b(q(?:mv|ta)\w+) b/i],[a,[u,"Verizon"],[l,g]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[a,[u,"Barnes & Noble"],[l,g]],[/\b(tm\d{3}\w+) b/i],[a,[u,"NuVision"],[l,g]],[/\b(k88) b/i],[a,[u,"ZTE"],[l,g]],[/\b(nx\d{3}j) b/i],[a,[u,"ZTE"],[l,p]],[/\b(gen\d{3}) b.+49h/i],[a,[u,"Swiss"],[l,p]],[/\b(zur\d{3}) b/i],[a,[u,"Swiss"],[l,g]],[/\b((zeki)?tb.*\b) b/i],[a,[u,"Zeki"],[l,g]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[u,"Dragon Touch"],a,[l,g]],[/\b(ns-?\w{0,9}) b/i],[a,[u,"Insignia"],[l,g]],[/\b((nxa|next)-?\w{0,9}) b/i],[a,[u,"NextBook"],[l,g]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[u,"Voice"],a,[l,p]],[/\b(lvtel\-)?(v1[12]) b/i],[[u,"LvTel"],a,[l,p]],[/\b(ph-1) /i],[a,[u,"Essential"],[l,p]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[a,[u,"Envizen"],[l,g]],[/\b(trio[-\w\. ]+) b/i],[a,[u,"MachSpeed"],[l,g]],[/\btu_(1491) b/i],[a,[u,"Rotor"],[l,g]],[/(shield[\w ]+) b/i],[a,[u,"Nvidia"],[l,g]],[/(sprint) (\w+)/i],[u,a,[l,p]],[/(kin\.[onetw]{3})/i],[[a,/\./g," "],[u,F],[l,p]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[a,[u,z],[l,g]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[a,[u,z],[l,p]],[/smart-tv.+(samsung)/i],[u,[l,m]],[/hbbtv.+maple;(\d+)/i],[[a,/^/,"SmartTV"],[u,Y],[l,m]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[u,R],[l,m]],[/(apple) ?tv/i],[u,[a,b+" TV"],[l,m]],[/crkey/i],[[a,_+"cast"],[u,O],[l,m]],[/droid.+aft(\w)( bui|\))/i],[a,[u,E],[l,m]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[a,[u,M],[l,m]],[/(bravia[\w ]+)( bui|\))/i],[a,[u,B],[l,m]],[/(mitv-\w{5}) bui/i],[a,[u,q],[l,m]],[/Hbbtv.*(technisat) (.*);/i],[u,a,[l,m]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[u,te],[a,te],[l,m]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[l,m]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[u,a,[l,h]],[/droid.+; (shield) bui/i],[a,[u,"Nvidia"],[l,h]],[/(playstation [345portablevi]+)/i],[a,[u,B],[l,h]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[a,[u,F],[l,h]],[/((pebble))app/i],[u,a,[l,y]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[a,[u,b],[l,y]],[/droid.+; (glass) \d/i],[a,[u,O],[l,y]],[/droid.+; (wt63?0{2,3})\)/i],[a,[u,z],[l,y]],[/(quest( 2| pro)?)/i],[a,[u,A],[l,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[u,[l,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[a,[l,p]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[a,[l,g]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[l,g]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[l,p]],[/(android[-\w\. ]{0,9});.+buil/i],[a,[u,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[d,[c,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[d,[c,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[c,d],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[d,c]],os:[[/microsoft (windows) (vista|xp)/i],[c,d],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[c,[d,fe,le]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[c,"Windows"],[d,fe,le]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[d,/_/g,"."],[c,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[c,k],[d,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[d,c],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[c,d],[/\(bb(10);/i],[d,[c,w]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[d,[c,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[d,[c,I+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[d,[c,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[d,[c,"watchOS"]],[/crkey\/([\d\.]+)/i],[d,[c,_+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[c,T],d],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[c,d],[/(sunos) ?([\w\.\d]*)/i],[[c,"Solaris"],d],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[c,d]]},Z=function(K,ce){if(typeof K===i&&(ce=K,K=t),!(this instanceof Z))return new Z(K,ce).getResult();var ye=typeof e!==r&&e.navigator?e.navigator:t,ee=K||(ye&&ye.userAgent?ye.userAgent:""),$=ye&&ye.userAgentData?ye.userAgentData:t,ge=ce?(function(ie,Ie){var Ce={};for(var oe in ie)Ie[oe]&&Ie[oe].length%2==0?Ce[oe]=Ie[oe].concat(ie[oe]):Ce[oe]=ie[oe];return Ce})(ve,ce):ve;return this.getBrowser=function(){var ie={};return ie[c]=t,ie[d]=t,X.call(ie,ee,ge.browser),ie[s]=(function(Ie){return typeof Ie===o?Ie.replace(/[^\d\.]/g,"").split(".")[0]:t})(ie[d]),ye&&ye.brave&&typeof ye.brave.isBrave==n&&(ie[c]="Brave"),ie},this.getCPU=function(){var ie={};return ie[f]=t,X.call(ie,ee,ge.cpu),ie},this.getDevice=function(){var ie={};return ie[u]=t,ie[a]=t,ie[l]=t,X.call(ie,ee,ge.device),!ie[l]&&$&&$.mobile&&(ie[l]=p),ie[a]=="Macintosh"&&ye&&typeof ye.standalone!==r&&ye.maxTouchPoints&&ye.maxTouchPoints>2&&(ie[a]="iPad",ie[l]=g),ie},this.getEngine=function(){var ie={};return ie[c]=t,ie[d]=t,X.call(ie,ee,ge.engine),ie},this.getOS=function(){var ie={};return ie[c]=t,ie[d]=t,X.call(ie,ee,ge.os),!ie[c]&&$&&$.platform!="Unknown"&&(ie[c]=$.platform.replace(/chrome os/i,T).replace(/macos/i,k)),ie},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return ee},this.setUA=function(ie){return ee=typeof ie===o&&ie.length>350?te(ie,350):ie,this},this.setUA(ee),this};Z.VERSION="0.7.34",Z.BROWSER=j([c,d,s]),Z.CPU=j([f]),Z.DEVICE=j([a,u,l,h,p,m,g,y,v]),Z.ENGINE=Z.OS=j([c,d]),a9.exports&&(c9=a9.exports=Z),c9.UAParser=Z;var ae=typeof e!==r&&(e.jQuery||e.Zepto);if(ae&&!ae.ua){var pe=new Z;ae.ua=pe.getResult(),ae.ua.get=function(){return pe.getUA()},ae.ua.set=function(K){pe.setUA(K);var ce=pe.getResult();for(var ye in ce)ae.ua[ye]=ce[ye]}}})(typeof window=="object"?window:jh);var gke=kr(xA.exports),vke=Al,yke=Gi,Eke=Vp,bke=Rf,Ske=Ur("iterator"),Ake=Object,Cke=function(e){if(Eke(e))return!1;var t=Ake(e);return t[Ske]!==void 0||"@@iterator"in t||yke(bke,vke(t))},wke=kr(Cke),u9=Di;Gn({global:!0,forced:u9.globalThis!==u9},{globalThis:u9});var _L=kr(Di);function iK(e,t){return function(){return e.apply(t,arguments)}}const{toString:Tke}=Object.prototype,{getPrototypeOf:ZT}=Object,v4=(d9=Object.create(null),e=>{const t=Tke.call(e);return d9[t]||(d9[t]=t.slice(8,-1).toLowerCase())});var d9;const wl=e=>(e=e.toLowerCase(),t=>v4(t)===e),i6=e=>t=>typeof t===e,{isArray:ph}=Array,M1=i6("undefined"),RL=wl("ArrayBuffer"),Ike=i6("string"),fa=i6("function"),kL=i6("number"),X2=e=>e!==null&&typeof e=="object",Q2=e=>{if(v4(e)!=="object")return!1;const t=ZT(e);return!(t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.toStringTag in e||wke(e))},Pke=wl("Date"),Oke=wl("File"),_ke=wl("Blob"),Rke=wl("FileList"),kke=wl("URLSearchParams");function B1(e,t){let n,r,{allOwnKeys:i=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(e!=null)if(typeof e!="object"&&(e=[e]),ph(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{const o=i?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let a;for(n=0;n<s;n++)a=o[n],t.call(null,e[a],a,e)}}function xL(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const oK=_L!==void 0?_L:typeof self<"u"?self:typeof window<"u"?window:global,DL=e=>!M1(e)&&e!==oK,xke=(f9=typeof Uint8Array<"u"&&ZT(Uint8Array),e=>f9&&e instanceof f9);var f9;const Dke=wl("HTMLFormElement"),LL=(e=>{let{hasOwnProperty:t}=e;return(n,r)=>t.call(n,r)})(Object.prototype),Lke=wl("RegExp"),NL=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};B1(n,((i,o)=>{let s;(s=t(i,o,e))!==!1&&(r[o]=s||i)})),Object.defineProperties(e,r)},h9="abcdefghijklmnopqrstuvwxyz",ML="0123456789",BL={DIGIT:ML,ALPHA:h9,ALPHA_DIGIT:h9+h9.toUpperCase()+ML},Nke=wl("AsyncFunction");var dt={isArray:ph,isArrayBuffer:RL,isBuffer:function(e){return e!==null&&!M1(e)&&e.constructor!==null&&!M1(e.constructor)&&fa(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||fa(e.append)&&((t=v4(e))==="formdata"||t==="object"&&fa(e.toString)&&e.toString()==="[object FormData]"))},isArrayBufferView:function(e){let t;return t=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&RL(e.buffer),t},isString:Ike,isNumber:kL,isBoolean:e=>e===!0||e===!1,isObject:X2,isPlainObject:Q2,isUndefined:M1,isDate:Pke,isFile:Oke,isBlob:_ke,isRegExp:Lke,isFunction:fa,isStream:e=>X2(e)&&fa(e.pipe),isURLSearchParams:kke,isTypedArray:xke,isFileList:Rke,forEach:B1,merge:function e(){const{caseless:t}=DL(this)&&this||{},n={},r=(i,o)=>{const s=t&&xL(n,o)||o;Q2(n[s])&&Q2(i)?n[s]=e(n[s],i):Q2(i)?n[s]=e({},i):ph(i)?n[s]=i.slice():n[s]=i};for(let i=0,o=arguments.length;i<o;i++)arguments[i]&&B1(arguments[i],r);return n},extend:function(e,t,n){let{allOwnKeys:r}=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return B1(t,((i,o)=>{n&&fa(i)?e[o]=iK(i,n):e[o]=i}),{allOwnKeys:r}),e},trim:e=>ao(e)?ao(e).call(e):e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let i,o,s;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)s=i[o],r&&!r(s,e,t)||a[s]||(t[s]=e[s],a[s]=!0);e=n!==!1&&ZT(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:v4,kindOfTest:wl,endsWith:(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},toArray:e=>{if(!e)return null;if(ph(e))return e;let t=e.length;if(!kL(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const i=r.value;t.call(e,i[0],i[1])}},matchAll:(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},isHTMLForm:Dke,hasOwnProperty:LL,hasOwnProp:LL,reduceDescriptors:NL,freezeMethods:e=>{NL(e,((t,n)=>{if(fa(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];fa(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=i=>{i.forEach((o=>{n[o]=!0}))};return ph(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,n,r){return n.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:xL,global:oK,isContextDefined:DL,ALPHABET:BL,generateString:function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:16,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:BL.ALPHA_DIGIT,n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&fa(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(r,i)=>{if(X2(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[i]=r;const o=ph(r)?[]:{};return B1(r,((s,a)=>{const c=n(s,i+1);!M1(c)&&(o[a]=c)})),t[i]=void 0,o}}return r};return n(e,0)},isAsyncFn:Nke,isThenable:e=>e&&(X2(e)||fa(e))&&fa(e.then)&&fa(e.catch)};function cr(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}dt.inherits(cr,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:dt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const FL=cr.prototype,UL={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{UL[e]={value:e}})),Object.defineProperties(cr,UL),Object.defineProperty(FL,"isAxiosError",{value:!0}),cr.from=(e,t,n,r,i,o)=>{const s=Object.create(FL);return dt.toFlatObject(e,s,(function(a){return a!==Error.prototype}),(a=>a!=="isAxiosError")),cr.call(s,e.message,t,n,r,i),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};function p9(e){return dt.isPlainObject(e)||dt.isArray(e)}function sK(e){return dt.endsWith(e,"[]")?e.slice(0,-2):e}function jL(e,t,n){return e?e.concat(t).map((function(r,i){return r=sK(r),!n&&i?"["+r+"]":r})).join(n?".":""):t}const Mke=dt.toFlatObject(dt,{},null,(function(e){return/^is[A-Z]/.test(e)}));function y4(e,t,n){if(!dt.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=dt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(f,h){return!dt.isUndefined(h[f])}))).metaTokens,i=n.visitor||l,o=n.dots,s=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&dt.isSpecCompliantForm(t);if(!dt.isFunction(i))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(dt.isDate(f))return f.toISOString();if(!a&&dt.isBlob(f))throw new cr("Blob is not supported. Use a Buffer instead.");return dt.isArrayBuffer(f)||dt.isTypedArray(f)?a&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,h,p){let g=f;if(f&&!p&&typeof f=="object"){if(dt.endsWith(h,"{}"))h=r?h:h.slice(0,-2),f=JSON.stringify(f);else if(dt.isArray(f)&&(function(m){return dt.isArray(m)&&!m.some(p9)})(f)||(dt.isFileList(f)||dt.endsWith(h,"[]"))&&(g=dt.toArray(f)))return h=sK(h),g.forEach((function(m,y){!dt.isUndefined(m)&&m!==null&&t.append(s===!0?jL([h],y,o):s===null?h:h+"[]",c(m))})),!1}return!!p9(f)||(t.append(jL(p,h,o),c(f)),!1)}const u=[],d=Object.assign(Mke,{defaultVisitor:l,convertValue:c,isVisitable:p9});if(!dt.isObject(e))throw new TypeError("data must be an object");return(function f(h,p){if(!dt.isUndefined(h)){if(u.indexOf(h)!==-1)throw Error("Circular reference detected in "+p.join("."));u.push(h),dt.forEach(h,(function(g,m){(!(dt.isUndefined(g)||g===null)&&i.call(t,g,dt.isString(m)?ao(m).call(m):m,p,d))===!0&&f(g,p?p.concat(m):[m])})),u.pop()}})(e),t}function HL(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(n){return t[n]}))}function YT(e,t){this._pairs=[],e&&y4(e,this,t)}const zL=YT.prototype;function Bke(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function aK(e,t,n){if(!t)return e;const r=n&&n.encode||Bke,i=n&&n.serialize;let o;if(o=i?i(t,n):dt.isURLSearchParams(t)?t.toString():new YT(t,n).toString(r),o){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}zL.append=function(e,t){this._pairs.push([e,t])},zL.toString=function(e){const t=e?function(n){return e.call(this,n,HL)}:HL;return this._pairs.map((function(n){return t(n[0])+"="+t(n[1])}),"").join("&")};var WL=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){dt.forEach(this.handlers,(function(t){t!==null&&e(t)}))}},cK={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lK={exports:{}},Fke=Gn,Uke=ca,VL=Ha.f;Fke({target:"Object",stat:!0,forced:Object.defineProperty!==VL,sham:!Uke},{defineProperty:VL});var uK=Cc.Object,jke=lK.exports=function(e,t,n){return uK.defineProperty(e,t,n)};uK.defineProperty.sham&&(jke.sham=!0);var dK=kr(lK.exports),Hke=bl,r2=Array.isArray||function(e){return Hke(e)=="Array"},zke=TypeError,GL=r2,Wke=e6,Vke=Gs,Gke=Ur("species"),JL=Array,Jke=function(e){var t;return GL(e)&&(t=e.constructor,(Wke(t)&&(t===JL||GL(t.prototype))||Vke(t)&&(t=t[Gke])===null)&&(t=void 0)),t===void 0?JL:t},fK=function(e,t){return new(Jke(e))(t===0?0:t)},Zke=Xr,Yke=ff,Xke=Ur("species"),hK=function(e){return Yke>=51||!Zke((function(){var t=[];return(t.constructor={})[Xke]=function(){return{foo:1}},t[e](Boolean).foo!==1}))},Qke=Gn,Kke=Xr,qke=r2,$ke=Gs,exe=Sl,txe=Ru,ZL=function(e){if(e>9007199254740991)throw zke("Maximum allowed index exceeded");return e},YL=r6,nxe=fK,rxe=hK,ixe=ff,pK=Ur("isConcatSpreadable"),oxe=ixe>=51||!Kke((function(){var e=[];return e[pK]=!1,e.concat()[0]!==e})),sxe=function(e){if(!$ke(e))return!1;var t=e[pK];return t!==void 0?!!t:qke(e)};Qke({target:"Array",proto:!0,forced:!oxe||!rxe("concat")},{concat:function(e){var t,n,r,i,o,s=exe(this),a=nxe(s,0),c=0;for(t=-1,r=arguments.length;t<r;t++)if(sxe(o=t===-1?s:arguments[t]))for(i=txe(o),ZL(c+i),n=0;n<i;n++,c++)n in o&&YL(a,c,o[n]);else ZL(c+1),YL(a,c++,o);return a.length=c,a}});var mK={},axe=bl,cxe=e0,XL=Xy.f,lxe=GT,QL=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];mK.f=function(e){return QL&&axe(e)=="Window"?(function(t){try{return XL(t)}catch{return lxe(QL)}})(e):XL(cxe(e))};var Qp={},uxe=Ur;Qp.f=uxe;var KL=Cc,dxe=Gi,fxe=Qp,hxe=Ha.f,Ii=function(e){var t=KL.Symbol||(KL.Symbol={});dxe(t,e)||hxe(t,e,{value:fxe.f(e)})},pxe=Ni,mxe=ys,gxe=Ur,vxe=r0,gK=function(){var e=mxe("Symbol"),t=e&&e.prototype,n=t&&t.valueOf,r=gxe("toPrimitive");t&&!t[r]&&vxe(t,r,(function(i){return pxe(n,this)}),{})},yxe=t0,Exe=Vy,bxe=Sl,Sxe=Ru,Axe=fK,qL=Wr([].push),Cxe=function(e){var t=e==1,n=e==2,r=e==3,i=e==4,o=e==6,s=e==7,a=e==5||o;return function(c,l,u,d){for(var f,h,p=bxe(c),g=Exe(p),m=yxe(l,u),y=Sxe(g),v=0,E=d||Axe,b=t?E(c,y):n||s?E(c,0):void 0;y>v;v++)if((a||v in g)&&(h=m(f=g[v],v,p),e))if(t)b[v]=h;else if(h)switch(e){case 3:return!0;case 5:return f;case 6:return v;case 2:qL(b,f)}else switch(e){case 4:return!1;case 7:qL(b,f)}return o?-1:r||i?i:b}},vK={forEach:Cxe(0)},K2=Gn,XT=Di,QT=Ni,wxe=Wr,Wh=ca,Jf=Jp,Txe=Xr,go=Gi,Ixe=Co,DA=qo,o6=e0,KT=Jy,Pxe=la,LA=$d,ng=qg,yK=Ky,Oxe=Xy,EK=mK,_xe=Kg,bK=Zg,SK=Ha,Rxe=xT,AK=Wy,$L=r0,kxe=$y,qT=Yp,CK=Qy,eN=CT,xxe=Ur,Dxe=Qp,Lxe=Ii,Nxe=gK,Mxe=i0,wK=kf,s6=vK.forEach,Ps=Yy("hidden"),E4="Symbol",rg="prototype",Bxe=wK.set,tN=wK.getterFor(E4),ac=Object[rg],Ah=XT.Symbol,p3=Ah&&Ah[rg],Fxe=XT.TypeError,m9=XT.QObject,TK=bK.f,O0=SK.f,IK=EK.f,Uxe=AK.f,PK=wxe([].push),Su=qT("symbols"),i2=qT("op-symbols"),jxe=qT("wks"),g9=!m9||!m9[rg]||!m9[rg].findChild,NA=Wh&&Txe((function(){return ng(O0({},"a",{get:function(){return O0(this,"a",{value:7}).a}})).a!=7}))?function(e,t,n){var r=TK(ac,t);r&&delete ac[t],O0(e,t,n),r&&e!==ac&&O0(ac,t,r)}:O0,v9=function(e,t){var n=Su[e]=ng(p3);return Bxe(n,{type:E4,tag:e,description:t}),Wh||(n.description=t),n},b4=function(e,t,n){e===ac&&b4(i2,t,n),DA(e);var r=KT(t);return DA(n),go(Su,r)?(n.enumerable?(go(e,Ps)&&e[Ps][r]&&(e[Ps][r]=!1),n=ng(n,{enumerable:LA(0,!1)})):(go(e,Ps)||O0(e,Ps,LA(1,{})),e[Ps][r]=!0),NA(e,r,n)):O0(e,r,n)},y9=function(e,t){DA(e);var n=o6(t),r=yK(n).concat(_K(n));return s6(r,(function(i){Wh&&!QT(OK,n,i)||b4(e,i,n[i])})),e},OK=function(e){var t=KT(e),n=QT(Uxe,this,t);return!(this===ac&&go(Su,t)&&!go(i2,t))&&(!(n||!go(this,t)||!go(Su,t)||go(this,Ps)&&this[Ps][t])||n)},nN=function(e,t){var n=o6(e),r=KT(t);if(n!==ac||!go(Su,r)||go(i2,r)){var i=TK(n,r);return!i||!go(Su,r)||go(n,Ps)&&n[Ps][r]||(i.enumerable=!0),i}},rN=function(e){var t=IK(o6(e)),n=[];return s6(t,(function(r){go(Su,r)||go(CK,r)||PK(n,r)})),n},_K=function(e){var t=e===ac,n=IK(t?i2:o6(e)),r=[];return s6(n,(function(i){!go(Su,i)||t&&!go(ac,i)||PK(r,Su[i])})),r};Jf||($L(p3=(Ah=function(){if(Ixe(p3,this))throw Fxe("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==void 0?Pxe(arguments[0]):void 0,t=eN(e),n=function(r){this===ac&&QT(n,i2,r),go(this,Ps)&&go(this[Ps],t)&&(this[Ps][t]=!1),NA(this,t,LA(1,r))};return Wh&&g9&&NA(ac,t,{configurable:!0,set:n}),v9(t,e)})[rg],"toString",(function(){return tN(this).tag})),$L(Ah,"withoutSetter",(function(e){return v9(eN(e),e)})),AK.f=OK,SK.f=b4,Rxe.f=y9,bK.f=nN,Oxe.f=EK.f=rN,_xe.f=_K,Dxe.f=function(e){return v9(xxe(e),e)},Wh&&kxe(p3,"description",{configurable:!0,get:function(){return tN(this).description}})),K2({global:!0,wrap:!0,forced:!Jf,sham:!Jf},{Symbol:Ah}),s6(yK(jxe),(function(e){Lxe(e)})),K2({target:E4,stat:!0,forced:!Jf},{useSetter:function(){g9=!0},useSimple:function(){g9=!1}}),K2({target:"Object",stat:!0,forced:!Jf,sham:!Wh},{create:function(e,t){return t===void 0?ng(e):y9(ng(e),t)},defineProperty:b4,defineProperties:y9,getOwnPropertyDescriptor:nN}),K2({target:"Object",stat:!0,forced:!Jf},{getOwnPropertyNames:rN}),Nxe(),Mxe(Ah,E4),CK[Ps]=!0;var RK=Jp&&!!Symbol.for&&!!Symbol.keyFor,Hxe=Gn,zxe=ys,Wxe=Gi,Vxe=la,kK=Yp,Gxe=RK,E9=kK("string-to-symbol-registry"),Jxe=kK("symbol-to-string-registry");Hxe({target:"Symbol",stat:!0,forced:!Gxe},{for:function(e){var t=Vxe(e);if(Wxe(E9,t))return E9[t];var n=zxe("Symbol")(t);return E9[t]=n,Jxe[n]=t,n}});var Zxe=Gn,Yxe=Gi,Xxe=Yg,Qxe=Zp,Kxe=RK,iN=Yp("symbol-to-string-registry");Zxe({target:"Symbol",stat:!0,forced:!Kxe},{keyFor:function(e){if(!Xxe(e))throw TypeError(Qxe(e)+" is not a symbol");if(Yxe(iN,e))return iN[e]}});var oN=r2,qxe=Li,sN=bl,$xe=la,aN=Wr([].push),eDe=Gn,xK=ys,DK=ST,tDe=Ni,o2=Wr,LK=Xr,cN=Li,lN=Yg,NK=UT,nDe=function(e){if(qxe(e))return e;if(oN(e)){for(var t=e.length,n=[],r=0;r<t;r++){var i=e[r];typeof i=="string"?aN(n,i):typeof i!="number"&&sN(i)!="Number"&&sN(i)!="String"||aN(n,$xe(i))}var o=n.length,s=!0;return function(a,c){if(s)return s=!1,c;if(oN(this))return c;for(var l=0;l<o;l++)if(n[l]===a)return c}}},rDe=Jp,iDe=String,Pd=xK("JSON","stringify"),q2=o2(/./.exec),uN=o2("".charAt),oDe=o2("".charCodeAt),sDe=o2("".replace),aDe=o2(1 .toString),cDe=/[\uD800-\uDFFF]/g,dN=/^[\uD800-\uDBFF]$/,fN=/^[\uDC00-\uDFFF]$/,hN=!rDe||LK((function(){var e=xK("Symbol")();return Pd([e])!="[null]"||Pd({a:e})!="{}"||Pd(Object(e))!="{}"})),pN=LK((function(){return Pd("\uDF06\uD834")!=='"\\udf06\\ud834"'||Pd("\uDEAD")!=='"\\udead"'})),lDe=function(e,t){var n=NK(arguments),r=nDe(t);if(cN(r)||e!==void 0&&!lN(e))return n[1]=function(i,o){if(cN(r)&&(o=tDe(r,this,iDe(i),o)),!lN(o))return o},DK(Pd,null,n)},uDe=function(e,t,n){var r=uN(n,t-1),i=uN(n,t+1);return q2(dN,e)&&!q2(fN,i)||q2(fN,e)&&!q2(dN,r)?"\\u"+aDe(oDe(e,0),16):e};Pd&&eDe({target:"JSON",stat:!0,forced:hN||pN},{stringify:function(e,t,n){var r=NK(arguments),i=DK(hN?lDe:Pd,null,r);return pN&&typeof i=="string"?sDe(i,cDe,uDe):i}});var mN=Kg,dDe=Sl;Gn({target:"Object",stat:!0,forced:!Jp||Xr((function(){mN.f(1)}))},{getOwnPropertySymbols:function(e){var t=mN.f;return t?t(dDe(e)):[]}}),Ii("asyncIterator"),Ii("hasInstance"),Ii("isConcatSpreadable"),Ii("iterator"),Ii("match"),Ii("matchAll"),Ii("replace"),Ii("search"),Ii("species"),Ii("split");var fDe=gK;Ii("toPrimitive"),fDe();var hDe=ys,pDe=i0;Ii("toStringTag"),pDe(hDe("Symbol"),"Symbol"),Ii("unscopables"),i0(Di.JSON,"JSON",!0);var mDe=Cc.Symbol,gDe=Ur,vDe=Ha.f,gN=gDe("metadata"),vN=Function.prototype;vN[gN]===void 0&&vDe(vN,gN,{value:null}),Ii("dispose"),Ii("metadata");var yDe=mDe;Ii("asyncDispose");var EDe=Wr,$T=ys("Symbol"),bDe=$T.keyFor,SDe=EDe($T.prototype.valueOf),MK=$T.isRegisteredSymbol||function(e){try{return bDe(SDe(e))!==void 0}catch{return!1}};Gn({target:"Symbol",stat:!0},{isRegisteredSymbol:MK});for(var ADe=Yp,yN=ys,CDe=Wr,wDe=Yg,TDe=Ur,$2=yN("Symbol"),EN=$2.isWellKnownSymbol,BK=yN("Object","getOwnPropertyNames"),IDe=CDe($2.prototype.valueOf),bN=ADe("wks"),b9=0,SN=BK($2),PDe=SN.length;b9<PDe;b9++)try{var AN=SN[b9];wDe($2[AN])&&TDe(AN)}catch{}var CN=function(e){if(EN&&EN(e))return!0;try{for(var t=IDe(e),n=0,r=BK(bN),i=r.length;n<i;n++)if(bN[r[n]]==t)return!0}catch{}return!1};Gn({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:CN}),Ii("matcher"),Ii("observable"),Gn({target:"Symbol",stat:!0},{isRegistered:MK}),Gn({target:"Symbol",stat:!0,forced:!0},{isWellKnown:CN}),Ii("metadataKey"),Ii("patternMatch"),Ii("replaceAll");var Ch=kr(yDe),FK=kr(Qp.f("iterator"));function ym(e){return ym=typeof Ch=="function"&&typeof FK=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Ch=="function"&&t.constructor===Ch&&t!==Ch.prototype?"symbol":typeof t},ym(e)}var ODe=kr(Qp.f("toPrimitive"));function _De(e){var t=(function(n,r){if(ym(n)!=="object"||n===null)return n;var i=n[ODe];if(i!==void 0){var o=i.call(n,r);if(ym(o)!=="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(n)})(e,"string");return ym(t)==="symbol"?t:String(t)}function H(e,t,n){return(t=_De(t))in e?dK(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var RDe=Xr,kDe=Ur("iterator"),eI=!RDe((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n=new URLSearchParams("a=1&a=2"),r="";return e.pathname="c%20d",t.forEach((function(i,o){t.delete("b"),r+=o+i})),n.delete("a",2),!e.toJSON||!n.has("a",1)||n.has("a",2)||!t.size&&!0||!t.sort||e.href!=="http://a/c%20d?a=1&c=3"||t.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!t[kDe]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://тест").host!=="xn--e1aybc"||new URL("http://a#б").hash!=="#%D0%B1"||r!=="a1c3"||new URL("http://x",void 0).host!=="x"})),xDe=r0,S9=Gn,vp=Di,e5=Ni,pl=Wr,wh=ca,wN=eI,TN=r0,DDe=$y,LDe=function(e,t,n){for(var r in t)n&&n.unsafe&&e[r]?e[r]=t[r]:xDe(e,r,t[r],n);return e},NDe=i0,MDe=LT,tI=kf,UK=MT,A9=Li,BDe=Gi,FDe=t0,UDe=Al,jDe=qo,jK=Gs,ss=la,HDe=qg,IN=$d,MA=DT,zDe=qy,Zf=t6,WDe=nK,VDe=Ur("iterator"),ig="URLSearchParams",HK=ig+"Iterator",zK=tI.set,Aa=tI.getterFor(ig),GDe=tI.getterFor(HK),JDe=Object.getOwnPropertyDescriptor,nI=function(e){if(!wh)return vp[e];var t=JDe(vp,e);return t&&t.value},PN=nI("fetch"),S4=nI("Request"),Em=nI("Headers"),C9=S4&&S4.prototype,ON=Em&&Em.prototype,ZDe=vp.RegExp,YDe=vp.TypeError,WK=vp.decodeURIComponent,XDe=vp.encodeURIComponent,QDe=pl("".charAt),_N=pl([].join),U0=pl([].push),BA=pl("".replace),KDe=pl([].shift),RN=pl([].splice),kN=pl("".split),qDe=pl("".slice),$De=/\+/g,xN=Array(4),eLe=function(e){return xN[e-1]||(xN[e-1]=ZDe("((?:%[\\da-f]{2}){"+e+"})","gi"))},tLe=function(e){try{return WK(e)}catch{return e}},DN=function(e){var t=BA(e,$De," "),n=4;try{return WK(t)}catch{for(;n;)t=BA(t,eLe(n--),tLe);return t}},nLe=/[!'()~]|%20/g,rLe={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},iLe=function(e){return rLe[e]},LN=function(e){return BA(XDe(e),nLe,iLe)},w9=MDe((function(e,t){zK(this,{type:HK,iterator:MA(Aa(e).entries),kind:t})}),"Iterator",(function(){var e=GDe(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value=t==="keys"?r.key:t==="values"?r.value:[r.key,r.value]),n}),!0),VK=function(e){this.entries=[],this.url=null,e!==void 0&&(jK(e)?this.parseObject(e):this.parseQuery(typeof e=="string"?QDe(e,0)==="?"?qDe(e,1):e:ss(e)))};VK.prototype={type:ig,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,n,r,i,o,s,a,c=zDe(e);if(c)for(n=(t=MA(e,c)).next;!(r=e5(n,t)).done;){if(o=(i=MA(jDe(r.value))).next,(s=e5(o,i)).done||(a=e5(o,i)).done||!e5(o,i).done)throw YDe("Expected sequence with length 2");U0(this.entries,{key:ss(s.value),value:ss(a.value)})}else for(var l in e)BDe(e,l)&&U0(this.entries,{key:l,value:ss(e[l])})},parseQuery:function(e){if(e)for(var t,n,r=kN(e,"&"),i=0;i<r.length;)(t=r[i++]).length&&(n=kN(t,"="),U0(this.entries,{key:DN(KDe(n)),value:DN(_N(n,"="))}))},serialize:function(){for(var e,t=this.entries,n=[],r=0;r<t.length;)e=t[r++],U0(n,LN(e.key)+"="+LN(e.value));return _N(n,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var A4=function(){UK(this,mh);var e=zK(this,new VK(arguments.length>0?arguments[0]:void 0));wh||(this.size=e.entries.length)},mh=A4.prototype;if(LDe(mh,{append:function(e,t){var n=Aa(this);Zf(arguments.length,2),U0(n.entries,{key:ss(e),value:ss(t)}),wh||this.length++,n.updateURL()},delete:function(e){for(var t=Aa(this),n=Zf(arguments.length,1),r=t.entries,i=ss(e),o=n<2?void 0:arguments[1],s=o===void 0?o:ss(o),a=0;a<r.length;){var c=r[a];if(c.key!==i||s!==void 0&&c.value!==s)a++;else if(RN(r,a,1),s!==void 0)break}wh||(this.size=r.length),t.updateURL()},get:function(e){var t=Aa(this).entries;Zf(arguments.length,1);for(var n=ss(e),r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){var t=Aa(this).entries;Zf(arguments.length,1);for(var n=ss(e),r=[],i=0;i<t.length;i++)t[i].key===n&&U0(r,t[i].value);return r},has:function(e){for(var t=Aa(this).entries,n=Zf(arguments.length,1),r=ss(e),i=n<2?void 0:arguments[1],o=i===void 0?i:ss(i),s=0;s<t.length;){var a=t[s++];if(a.key===r&&(o===void 0||a.value===o))return!0}return!1},set:function(e,t){var n=Aa(this);Zf(arguments.length,1);for(var r,i=n.entries,o=!1,s=ss(e),a=ss(t),c=0;c<i.length;c++)(r=i[c]).key===s&&(o?RN(i,c--,1):(o=!0,r.value=a));o||U0(i,{key:s,value:a}),wh||(this.size=i.length),n.updateURL()},sort:function(){var e=Aa(this);WDe(e.entries,(function(t,n){return t.key>n.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,n=Aa(this).entries,r=FDe(e,arguments.length>1?arguments[1]:void 0),i=0;i<n.length;)r((t=n[i++]).value,t.key,this)},keys:function(){return new w9(this,"keys")},values:function(){return new w9(this,"values")},entries:function(){return new w9(this,"entries")}},{enumerable:!0}),TN(mh,VDe,mh.entries,{}),TN(mh,"toString",(function(){return Aa(this).serialize()}),{enumerable:!0}),wh&&DDe(mh,"size",{get:function(){return Aa(this).entries.length},configurable:!0,enumerable:!0}),NDe(A4,ig),S9({global:!0,forced:!wN},{URLSearchParams:A4}),!wN&&A9(Em)){var oLe=pl(ON.has),sLe=pl(ON.set),NN=function(e){if(jK(e)){var t,n=e.body;if(UDe(n)===ig)return t=e.headers?new Em(e.headers):new Em,oLe(t,"content-type")||sLe(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),HDe(e,{body:IN(0,ss(n)),headers:IN(0,t)})}return e};if(A9(PN)&&S9({global:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return PN(e,arguments.length>1?NN(arguments[1]):{})}}),A9(S4)){var T9=function(e){return UK(this,C9),new S4(e,arguments.length>1?NN(arguments[1]):{})};C9.constructor=T9,T9.prototype=C9,S9({global:!0,dontCallGetSet:!0,forced:!0},{Request:T9})}}var aLe={URLSearchParams:A4,getState:Aa},MN=kr(Cc.URLSearchParams),cLe={isBrowser:!0,classes:{URLSearchParams:MN!==void 0?MN:YT,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]};const GK=typeof window<"u"&&typeof document<"u",lLe=(BN=typeof navigator<"u"&&navigator.product,GK&&["ReactNative","NativeScript","NS"].indexOf(BN)<0);var BN;const uLe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function";function FN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function UN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FN(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FN(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var Kc=UN(UN({},Object.freeze({__proto__:null,hasBrowserEnv:GK,hasStandardBrowserEnv:lLe,hasStandardBrowserWebWorkerEnv:uLe})),cLe),dLe=qo,fLe=Ni,hLe=Gi,pLe=Co,mLe=function(){var e=dLe(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},jN=RegExp.prototype,JK=function(e){var t=e.flags;return t!==void 0||"flags"in jN||hLe(e,"flags")||!pLe(jN,e)?t:fLe(mLe,e)},gLe=VT.charAt,HN=Ni,vLe=qo,yLe=Li,ELe=bl,bLe=/./.exec,SLe=TypeError,ALe=Gn,zN=Ni,ZK=eg,CLe=LT,t5=NT,WN=Gp,YK=IX,og=la,wLe=qo,TLe=Vp,ILe=bl,PLe=PX,XK=JK,OLe=Gy,_Le=Xr,RLe=FT,kLe=function(e,t,n){return t+(n?gLe(e,t).length:1)},xLe=function(e,t){var n=e.exec;if(yLe(n)){var r=HN(n,e,t);return r!==null&&vLe(r),r}if(ELe(e)==="RegExp")return HN(bLe,e,t);throw SLe("RegExp#exec called on incompatible receiver")},QK=kf,DLe=Ur("matchAll"),KK="RegExp String",qK=KK+" Iterator",LLe=QK.set,NLe=QK.getterFor(qK),MLe=TypeError,FA=ZK("".indexOf),C4=ZK("".matchAll),I9=!!C4&&!_Le((function(){C4("a",/./)})),BLe=CLe((function(e,t,n,r){LLe(this,{type:qK,regexp:e,string:t,global:n,unicode:r,done:!1})}),KK,(function(){var e=NLe(this);if(e.done)return t5(void 0,!0);var t=e.regexp,n=e.string,r=xLe(t,n);return r===null?(e.done=!0,t5(void 0,!0)):e.global?(og(r[0])===""&&(t.lastIndex=kLe(n,YK(t.lastIndex),e.unicode)),t5(r,!1)):(e.done=!0,t5(r,!1))})),VN=function(e){var t,n,r,i=wLe(this),o=og(e),s=RLe(i,RegExp),a=og(XK(i));return t=new s(s===RegExp?i.source:i,a),n=!!~FA(a,"g"),r=!!~FA(a,"u"),t.lastIndex=YK(i.lastIndex),new BLe(t,o,n,r)};ALe({target:"String",proto:!0,forced:I9},{matchAll:function(e){var t,n,r,i,o=WN(this);if(TLe(e)){if(I9)return C4(o,e)}else{if(PLe(e)&&(t=og(WN(XK(e))),!~FA(t,"g")))throw MLe("`.matchAll` does not allow non-global regexes");if(I9)return C4(o,e);if((r=OLe(e,DLe))===void 0&&ILe(e)=="RegExp"&&(r=VN),r)return zN(r,e,o)}return n=og(o),i=new RegExp(e,"g"),zN(VN,i,n)}});var FLe=za("String").matchAll,ULe=Co,jLe=FLe,P9=String.prototype,HLe=function(e){var t=e.matchAll;return typeof e=="string"||e===P9||ULe(P9,e)&&t===P9.matchAll?jLe:t},zLe=kr(HLe);function $K(e){function t(n,r,i,o){let s=n[o++];if(s==="__proto__")return!0;const a=Number.isFinite(+s),c=o>=n.length;return s=!s&&dt.isArray(i)?i.length:s,c?(dt.hasOwnProp(i,s)?i[s]=[i[s],r]:i[s]=r,!a):(i[s]&&dt.isObject(i[s])||(i[s]=[]),t(n,r,i[s],o)&&dt.isArray(i[s])&&(i[s]=(function(l){const u={},d=Object.keys(l);let f;const h=d.length;let p;for(f=0;f<h;f++)p=d[f],u[p]=l[p];return u})(i[s])),!a)}if(dt.isFormData(e)&&dt.isFunction(e.entries)){const n={};return dt.forEachEntry(e,((r,i)=>{t((function(o){return zLe(dt).call(dt,/\w+|\[(\w*)]/g,o).map((s=>s[0]==="[]"?"":s[1]||s[0]))})(r),i,n,0)})),n}return null}const rI={transitional:cK,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=dt.isObject(e);if(i&&dt.isHTMLForm(e)&&(e=new FormData(e)),dt.isFormData(e))return r?JSON.stringify($K(e)):e;if(dt.isArrayBuffer(e)||dt.isBuffer(e)||dt.isStream(e)||dt.isFile(e)||dt.isBlob(e))return e;if(dt.isArrayBufferView(e))return e.buffer;if(dt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return(function(s,a){return y4(s,new Kc.classes.URLSearchParams,Object.assign({visitor:function(c,l,u,d){return Kc.isNode&&dt.isBuffer(c)?(this.append(l,c.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)}},a))})(e,this.formSerializer).toString();if((o=dt.isFileList(e))||n.indexOf("multipart/form-data")>-1){const s=this.env&&this.env.FormData;return y4(o?{"files[]":e}:e,s&&new s,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),(function(s,a,c){if(dt.isString(s))try{return(a||JSON.parse)(s),ao(dt).call(dt,s)}catch(l){if(l.name!=="SyntaxError")throw l}return(c||JSON.stringify)(s)})(e)):e}],transformResponse:[function(e){const t=this.transitional||rI.transitional,n=t&&t.forcedJSONParsing,r=this.responseType==="json";if(e&&dt.isString(e)&&(n&&!this.responseType||r)){const i=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(o){if(i)throw o.name==="SyntaxError"?cr.from(o,cr.ERR_BAD_RESPONSE,this,null,this.response):o}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Kc.classes.FormData,Blob:Kc.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};dt.forEach(["delete","get","head","post","put","patch"],(e=>{rI.headers[e]={}}));var iI=rI;const WLe=dt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),GN=Symbol("internals");function g1(e){var t;return e&&ao(t=String(e)).call(t).toLowerCase()}function m3(e){return e===!1||e==null?e:dt.isArray(e)?e.map(m3):String(e)}function O9(e,t,n,r,i){return dt.isFunction(r)?r.call(this,t,n):(i&&(t=n),dt.isString(t)?dt.isString(r)?t.indexOf(r)!==-1:dt.isRegExp(r)?r.test(t):void 0:void 0)}class g3{constructor(t){t&&this.set(t)}set(t,n,r){const i=this;function o(c,l,u){const d=g1(l);if(!d)throw new Error("header name must be a non-empty string");const f=dt.findKey(i,d);(!f||i[f]===void 0||u===!0||u===void 0&&i[f]!==!1)&&(i[f||l]=m3(c))}const s=(c,l)=>dt.forEach(c,((u,d)=>o(u,d,l)));var a;return dt.isPlainObject(t)||t instanceof this.constructor?s(t,n):dt.isString(t)&&(t=ao(t).call(t))&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(ao(a=t).call(a))?s((c=>{const l={};let u,d,f;return c&&c.split(`
`).forEach((function(h){var p,g;f=h.indexOf(":"),u=ao(p=h.substring(0,f)).call(p).toLowerCase(),d=ao(g=h.substring(f+1)).call(g),!u||l[u]&&WLe[u]||(u==="set-cookie"?l[u]?l[u].push(d):l[u]=[d]:l[u]=l[u]?l[u]+", "+d:d)})),l})(t),n):t!=null&&o(n,t,r),this}get(t,n){if(t=g1(t)){const r=dt.findKey(this,t);if(r){const i=this[r];if(!n)return i;if(n===!0)return(function(o){const s=Object.create(null),a=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let c;for(;c=a.exec(o);)s[c[1]]=c[2];return s})(i);if(dt.isFunction(n))return n.call(this,i,r);if(dt.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=g1(t)){const r=dt.findKey(this,t);return!(!r||this[r]===void 0||n&&!O9(0,this[r],r,n))}return!1}delete(t,n){const r=this;let i=!1;function o(s){if(s=g1(s)){const a=dt.findKey(r,s);!a||n&&!O9(0,r[a],a,n)||(delete r[a],i=!0)}}return dt.isArray(t)?t.forEach(o):o(t),i}clear(t){const n=Object.keys(this);let r=n.length,i=!1;for(;r--;){const o=n[r];t&&!O9(0,this[o],o,t,!0)||(delete this[o],i=!0)}return i}normalize(t){const n=this,r={};return dt.forEach(this,((i,o)=>{var s;const a=dt.findKey(r,o);if(a)return n[a]=m3(i),void delete n[o];const c=t?(function(l){return ao(l).call(l).toLowerCase().replace(/([a-z\d])(\w*)/g,((u,d,f)=>d.toUpperCase()+f))})(o):ao(s=String(o)).call(s);c!==o&&delete n[o],n[c]=m3(i),r[c]=!0})),this}concat(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return this.constructor.concat(this,...n)}toJSON(t){const n=Object.create(null);return dt.forEach(this,((r,i)=>{r!=null&&r!==!1&&(n[i]=t&&dt.isArray(r)?r.join(", "):r)})),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((t=>{let[n,r]=t;return n+": "+r})).join(`
`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t){const n=new this(t);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return i.forEach((s=>n.set(s))),n}static accessor(t){const n=(this[GN]=this[GN]={accessors:{}}).accessors,r=this.prototype;function i(o){const s=g1(o);n[s]||((function(a,c){const l=dt.toCamelCase(" "+c);["get","set","has"].forEach((u=>{Object.defineProperty(a,u+l,{value:function(d,f,h){return this[u].call(this,c,d,f,h)},configurable:!0})}))})(r,o),n[s]=!0)}return dt.isArray(t)?t.forEach(i):i(t),this}}g3.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),dt.reduceDescriptors(g3.prototype,((e,t)=>{let{value:n}=e,r=t[0].toUpperCase()+t.slice(1);return{get:()=>n,set(i){this[r]=i}}})),dt.freezeMethods(g3);var hu=g3;function _9(e,t){const n=this||iI,r=t||n,i=hu.from(r.headers);let o=r.data;return dt.forEach(e,(function(s){o=s.call(n,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function eq(e){return!(!e||!e.__CANCEL__)}function s2(e,t,n){cr.call(this,e??"canceled",cr.ERR_CANCELED,t,n),this.name="CanceledError"}dt.inherits(s2,cr,{__CANCEL__:!0});var VLe=Kc.hasStandardBrowserEnv?{write(e,t,n,r,i,o){const s=[e+"="+encodeURIComponent(t)];dt.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),dt.isString(r)&&s.push("path="+r),dt.isString(i)&&s.push("domain="+i),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function tq(e,t){return e&&!(function(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)})(t)?(function(n,r){return r?n.replace(/\/?\/$/,"")+"/"+r.replace(/^\/+/,""):n})(e,t):t}var GLe=Kc.hasStandardBrowserEnv?(function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(i){let o=i;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(i){const o=dt.isString(i)?r(i):i;return o.protocol===n.protocol&&o.host===n.host}})():function(){return!0};function JN(e,t){let n=0;const r=(function(i,o){i=i||10;const s=new Array(i),a=new Array(i);let c,l=0,u=0;return o=o!==void 0?o:1e3,function(d){const f=Date.now(),h=a[u];c||(c=f),s[l]=d,a[l]=f;let p=u,g=0;for(;p!==l;)g+=s[p++],p%=i;if(l=(l+1)%i,l===u&&(u=(u+1)%i),f-c<o)return;const m=h&&f-h;return m?Math.round(1e3*g/m):void 0}})(50,250);return i=>{const o=i.loaded,s=i.lengthComputable?i.total:void 0,a=o-n,c=r(a);n=o;const l={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&o<=s?(s-o)/c:void 0,event:i};l[t?"download":"upload"]=!0,e(l)}}var JLe=typeof XMLHttpRequest<"u"&&function(e){return new ot((function(t,n){let r=e.data;const i=hu.from(e.headers).normalize();let o,s,{responseType:a,withXSRFToken:c}=e;function l(){e.cancelToken&&e.cancelToken.unsubscribe(o),e.signal&&e.signal.removeEventListener("abort",o)}if(dt.isFormData(r)){if(Kc.hasStandardBrowserEnv||Kc.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((s=i.getContentType())!==!1){const[p,...g]=s?s.split(";").map((m=>ao(m).call(m))).filter(Boolean):[];i.setContentType([p||"multipart/form-data",...g].join("; "))}}let u=new XMLHttpRequest;if(e.auth){const p=e.auth.username||"",g=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(p+":"+g))}const d=tq(e.baseURL,e.url);function f(){if(!u)return;const p=hu.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());(function(g,m,y){const v=y.config.validateStatus;y.status&&v&&!v(y.status)?m(new cr("Request failed with status code "+y.status,[cr.ERR_BAD_REQUEST,cr.ERR_BAD_RESPONSE][Math.floor(y.status/100)-4],y.config,y.request,y)):g(y)})((function(g){t(g),l()}),(function(g){n(g),l()}),{data:a&&a!=="text"&&a!=="json"?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:p,config:e,request:u}),u=null}if(u.open(e.method.toUpperCase(),aK(d,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){u&&u.readyState===4&&(u.status!==0||u.responseURL&&u.responseURL.indexOf("file:")===0)&&setTimeout(f)},u.onabort=function(){u&&(n(new cr("Request aborted",cr.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new cr("Network Error",cr.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let p=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const g=e.transitional||cK;e.timeoutErrorMessage&&(p=e.timeoutErrorMessage),n(new cr(p,g.clarifyTimeoutError?cr.ETIMEDOUT:cr.ECONNABORTED,e,u)),u=null},Kc.hasStandardBrowserEnv&&(c&&dt.isFunction(c)&&(c=c(e)),c||c!==!1&&GLe(d))){const p=e.xsrfHeaderName&&e.xsrfCookieName&&VLe.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}r===void 0&&i.setContentType(null),"setRequestHeader"in u&&dt.forEach(i.toJSON(),(function(p,g){u.setRequestHeader(g,p)})),dt.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),a&&a!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",JN(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",JN(e.onUploadProgress)),(e.cancelToken||e.signal)&&(o=p=>{u&&(n(!p||p.type?new s2(null,e,u):p),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(o),e.signal&&(e.signal.aborted?o():e.signal.addEventListener("abort",o)));const h=(function(p){const g=/^([-+\w]{1,25})(:?\/\/|:)/.exec(p);return g&&g[1]||""})(d);h&&Kc.protocols.indexOf(h)===-1?n(new cr("Unsupported protocol "+h+":",cr.ERR_BAD_REQUEST,e)):u.send(r||null)}))};const UA={http:null,xhr:JLe};dt.forEach(UA,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}}));const ZN=e=>"- ".concat(e),ZLe=e=>dt.isFunction(e)||e===null||e===!1;var nq={getAdapter:e=>{e=dt.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o<t;o++){let s;if(n=e[o],r=n,!ZLe(n)&&(r=UA[(s=String(n)).toLowerCase()],r===void 0))throw new cr("Unknown adapter '".concat(s,"'"));if(r)break;i[s||"#"+o]=r}if(!r){const o=Object.entries(i).map((s=>{let[a,c]=s;return"adapter ".concat(a," ")+(c===!1?"is not supported by the environment":"is not available in the build")}));throw new cr("There is no suitable adapter to dispatch the request "+(t?o.length>1?`since :
`+o.map(ZN).join(`
`):" "+ZN(o[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r},adapters:UA};function R9(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new s2(null,e)}function YN(e){return R9(e),e.headers=hu.from(e.headers),e.data=_9.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),nq.getAdapter(e.adapter||iI.adapter)(e).then((function(t){return R9(e),t.data=_9.call(e,e.transformResponse,t),t.headers=hu.from(t.headers),t}),(function(t){return eq(t)||(R9(e),t&&t.response&&(t.response.data=_9.call(e,e.transformResponse,t.response),t.response.headers=hu.from(t.response.headers))),ot.reject(t)}))}function XN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}const QN=e=>e instanceof hu?(function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?XN(Object(r),!0).forEach((function(i){H(t,i,r[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):XN(Object(r)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))}))}return t})({},e):e;function yp(e,t){t=t||{};const n={};function r(l,u,d){return dt.isPlainObject(l)&&dt.isPlainObject(u)?dt.merge.call({caseless:d},l,u):dt.isPlainObject(u)?dt.merge({},u):dt.isArray(u)?u.slice():u}function i(l,u,d){return dt.isUndefined(u)?dt.isUndefined(l)?void 0:r(void 0,l,d):r(l,u,d)}function o(l,u){if(!dt.isUndefined(u))return r(void 0,u)}function s(l,u){return dt.isUndefined(u)?dt.isUndefined(l)?void 0:r(void 0,l):r(void 0,u)}function a(l,u,d){return d in t?r(l,u):d in e?r(void 0,l):void 0}const c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,u)=>i(QN(l),QN(u),!0)};return dt.forEach(Object.keys(Object.assign({},e,t)),(function(l){const u=c[l]||i,d=u(e[l],t[l],l);dt.isUndefined(d)&&u!==a||(n[l]=d)})),n}const rq="1.6.8",oI={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{oI[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const KN={};oI.transitional=function(e,t,n){function r(i,o){return"[Axios v"+rq+"] Transitional option '"+i+"'"+o+(n?". "+n:"")}return(i,o,s)=>{if(e===!1)throw new cr(r(o," has been removed"+(t?" in "+t:"")),cr.ERR_DEPRECATED);return t&&!KN[o]&&(KN[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(i,o,s)}};var jA={assertOptions:function(e,t,n){if(typeof e!="object")throw new cr("options must be an object",cr.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],s=t[o];if(s){const a=e[o],c=a===void 0||s(a,o,e);if(c!==!0)throw new cr("option "+o+" must be "+c,cr.ERR_BAD_OPTION_VALUE)}else if(n!==!0)throw new cr("Unknown option "+o,cr.ERR_BAD_OPTION)}},validators:oI};const Wu=jA.validators;let v3=class{constructor(e){this.defaults=e,this.interceptors={request:new WL,response:new WL}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const i=r.stack?r.stack.replace(/^.+\n/,""):"";n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
`+i):n.stack=i}throw n}}_request(e,t){typeof e=="string"?(t=t||{}).url=e:t=e||{},t=yp(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&jA.assertOptions(n,{silentJSONParsing:Wu.transitional(Wu.boolean),forcedJSONParsing:Wu.transitional(Wu.boolean),clarifyTimeoutError:Wu.transitional(Wu.boolean)},!1),r!=null&&(dt.isFunction(r)?t.paramsSerializer={serialize:r}:jA.assertOptions(r,{encode:Wu.function,serialize:Wu.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&dt.merge(i.common,i[t.method]);i&&dt.forEach(["delete","get","head","post","put","patch","common"],(h=>{delete i[h]})),t.headers=hu.concat(o,i);const s=[];let a=!0;this.interceptors.request.forEach((function(h){typeof h.runWhen=="function"&&h.runWhen(t)===!1||(a=a&&h.synchronous,s.unshift(h.fulfilled,h.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(h){c.push(h.fulfilled,h.rejected)}));let u,d=0;if(!a){const h=[YN.bind(this),void 0];for(h.unshift.apply(h,s),h.push.apply(h,c),u=h.length,l=ot.resolve(t);d<u;)l=l.then(h[d++],h[d++]);return l}u=s.length;let f=t;for(d=0;d<u;){const h=s[d++],p=s[d++];try{f=h(f)}catch(g){p.call(this,g);break}}try{l=YN.call(this,f)}catch(h){return ot.reject(h)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(e){return aK(tq((e=yp(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}};dt.forEach(["delete","get","head","options"],(function(e){v3.prototype[e]=function(t,n){return this.request(yp(n||{},{method:e,url:t,data:(n||{}).data}))}})),dt.forEach(["post","put","patch"],(function(e){function t(n){return function(r,i,o){return this.request(yp(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:r,data:i}))}}v3.prototype[e]=t(),v3.prototype[e+"Form"]=t(!0)}));var y3=v3;class sI{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new ot((function(i){n=i}));const r=this;this.promise.then((i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null})),this.promise.then=i=>{let o;const s=new ot((a=>{r.subscribe(a),o=a})).then(i);return s.cancel=function(){r.unsubscribe(o)},s},t((function(i,o,s){r.reason||(r.reason=new s2(i,o,s),n(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new sI((function(n){t=n})),cancel:t}}}var YLe=sI;const HA={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HA).forEach((e=>{let[t,n]=e;HA[n]=t}));var XLe=HA;const Xi=(function e(t){const n=new y3(t),r=iK(y3.prototype.request,n);return dt.extend(r,y3.prototype,n,{allOwnKeys:!0}),dt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(i){return e(yp(t,i))},r})(iI);Xi.Axios=y3,Xi.CanceledError=s2,Xi.CancelToken=YLe,Xi.isCancel=eq,Xi.VERSION=rq,Xi.toFormData=y4,Xi.AxiosError=cr,Xi.Cancel=Xi.CanceledError,Xi.all=function(e){return ot.all(e)},Xi.spread=function(e){return function(t){return e.apply(null,t)}},Xi.isAxiosError=function(e){return dt.isObject(e)&&e.isAxiosError===!0},Xi.mergeConfig=yp,Xi.AxiosHeaders=hu,Xi.formToJSON=e=>$K(dt.isHTMLForm(e)?new FormData(e):e),Xi.getAdapter=nq.getAdapter,Xi.HttpStatusCode=XLe,Xi.default=Xi;var Lo=Xi;const QLe=()=>{};function sg(){const e={promise:void 0,isResolved:!1,isRejected:!1,isFinished:!1,resolve:void 0,reject:void 0,cancel:QLe};return e.promise=new ot(((t,n)=>{e.resolve=r=>{e.isFinished||(e.isResolved=!0,e.isFinished=!0,t(r),e.value=r)},e.reject=r=>{e.isFinished||(e.isRejected=!0,e.isFinished=!0,n(r))}})),e}const n5=new Map,r5=new Map,Rc=new Map;let ii=(function(e){return e.WIN_10="Windows 10",e.WIN_81="Windows 8.1",e.WIN_8="Windows 8",e.WIN_7="Windows 7",e.WIN_VISTA="Windows Vista",e.WIN_SERVER_2003="Windows Server 2003",e.WIN_XP="Windows XP",e.WIN_2000="Windows 2000",e.ANDROID="Android",e.HARMONY_OS="HarmonyOS",e.OPEN_BSD="Open BSD",e.SUN_OS="Sun OS",e.LINUX="Linux",e.IOS="iOS",e.MAC_OS="Mac OS",e.CHROMIUM_OS="Chromium OS",e.QNX="QNX",e.UNIX="UNIX",e.BEOS="BeOS",e.OS_2="OS/2",e.SEARCH_BOT="Search Bot",e})({}),An=(function(e){return e.CHROME="Chrome",e.SAFARI="Safari",e.EDGE="Edge",e.FIREFOX="Firefox",e.OPERA="OPR",e.QQ="QQBrowser",e.WECHAT="MicroMessenger",e})({});const iq=new gke;let nc=iq.getResult(),k9=null;function an(e){if(!k9){nc=iq.getResult();const t=(function(a){if(a.engine.name==="Blink"&&a.browser.name!=="WeChat")return An.CHROME;switch(a.browser.name){case"Chrome Headless":case"Chrome":case"Chromium":return An.CHROME;case"Safari":case"Mobile Safari":return An.SAFARI;case"Edge":return An.EDGE;case"Firefox":return An.FIREFOX;case"QQ":case"QQBrowser":return An.QQ;case"Opera":return An.OPERA;case"WeChat":return An.WECHAT;default:return a.browser.name||""}})(nc),n=qN(nc),r=(function(a){return a.os.name==="Windows"?a.os.version?a.os.name+" "+a.os.version:a.os.name:a.os.name||""})(nc),i=nc.os.version,o=qN(nc,!1),s=nc.device.type;if(!(t&&n&&r&&i))return{name:t,version:n,os:r,osVersion:i,browserVersion:o,deviceType:s};k9={name:t,version:n,os:r,osVersion:i,browserVersion:o,deviceType:s}}return k9}function qN(e){let t,n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return t=e.engine.name==="Blink"?e.engine.version||"":e.browser.version||"",n?t.split(".")[0]:t}function a6(){return an().os}function $N(){const e=an();return"".concat(e.os," ").concat(e.osVersion)}function w4(){const e=an();return!!(nc.engine.name==="WebKit"&&e.os===ii.MAC_OS&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0&&e.name!==An.SAFARI||vo()&&e.name!==An.SAFARI)}function Od(){return an().name===An.CHROME}function Ri(){return an().name===An.SAFARI}function oq(){return an().name===An.EDGE}function Er(){return an().name===An.FIREFOX}function vo(){return an().os===ii.IOS}function zA(e){const t=an();return!(t.name!==An.CHROME||!t.osVersion)&&Number(t.version)>=e}function sq(e){const t=an();return!(t.name!==An.CHROME||!t.osVersion)&&Number(t.version)<e}function eM(e){const t=an();return!(t.name!==An.EDGE||!t.osVersion)&&Number(t.version)>=e}function aq(e){const t=an();return!(t.name!==An.SAFARI||!t.osVersion)&&Number(t.version)>=e}function cq(e,t,n){const r=an();if(r.os!==ii.IOS||!r.osVersion)return!1;const i=r.osVersion.split(".");return t&&Number(i[0])===e&&Number(i[1])<t||Number(i[0])<e}function lq(e,t,n){const r=an();if(r.name!==An.SAFARI||!r.osVersion||!r.browserVersion)return!1;const i=r.browserVersion.split(".");return n?t&&Number(i[0])===e&&Number(i[1])<t||Number(i[0])<e:t?Number(i[0])===e&&Number(i[1])<=t||Number(i[0])<e:Number(i[0])<=e}function tM(e){const t=an();return!(t.name!==An.OPERA||!t.osVersion)&&Number(t.version)>=e}function nM(){const e=an();if(e.os!==ii.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])<14||Number(t[0])===14&&Number(t[1])<=6}function Ep(){const e=an();if(e.os!==ii.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])===15}function WA(){const e=an();if(e.os!==ii.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])===16}function rM(){const e=an();if(e.os!==ii.IOS||!e.osVersion)return!1;const t=e.osVersion.split(".");return Number(t[0])===15&&Number(t[1])>=1}function Ma(){return Ri()&&navigator.maxTouchPoints>0}function uq(){return an().name===An.WECHAT}function dq(){return window.navigator.appVersion&&window.navigator.appVersion.match(/Chrome\/([\w\W]*?)\./)!==null&&window.navigator.appVersion.match(/Chrome\/([\w\W]*?)\./)[1]<=35}function aI(){const e=a6();return(function(){const{deviceType:t}=an();return t==="mobile"||t==="tablet"})()||e===ii.ANDROID||e===ii.IOS||e===ii.HARMONY_OS}function Bd(){const e=an();return e.name!==An.EDGE&&e.name!==An.SAFARI&&!!navigator.userAgent.toLocaleLowerCase().match(/chrome\/[\d]./i)}function c6(){return a6()===ii.ANDROID}function ag(){const e=an();return c6()&&(e.name===An.CHROME||e.name===An.WECHAT||/chrome|chromium/i.test(navigator.userAgent))}function er(e,t,n){return(t=(function(r){var i=(function(o,s){if(typeof o!="object"||!o)return o;var a=o[Symbol.toPrimitive];if(a!==void 0){var c=a.call(o,"string");if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(o)})(r);return typeof i=="symbol"?i:i+""})(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function pt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?iM(Object(n),!0).forEach((function(r){er(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iM(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let Q=(function(e){return e.UNEXPECTED_ERROR="UNEXPECTED_ERROR",e.UNEXPECTED_RESPONSE="UNEXPECTED_RESPONSE",e.TIMEOUT="TIMEOUT",e.INVALID_PARAMS="INVALID_PARAMS",e.NOT_READABLE="NOT_READABLE",e.NOT_SUPPORTED="NOT_SUPPORTED",e.INVALID_OPERATION="INVALID_OPERATION",e.OPERATION_ABORTED="OPERATION_ABORTED",e.WEB_SECURITY_RESTRICT="WEB_SECURITY_RESTRICT",e.EXCHANGE_SDP_FAILED="EXCHANGE_SDP_FAILED",e.ADD_CANDIDATE_FAILED="ADD_CANDIDATE_FAILED",e.DATACHANNEL_FAILED="DATACHANNEL_FAILED",e.NETWORK_ERROR="NETWORK_ERROR",e.NETWORK_TIMEOUT="NETWORK_TIMEOUT",e.NETWORK_RESPONSE_ERROR="NETWORK_RESPONSE_ERROR",e.API_INVOKE_TIMEOUT="API_INVOKE_TIMEOUT",e.ENUMERATE_DEVICES_FAILED="ENUMERATE_DEVICES_FAILED",e.DEVICE_NOT_FOUND="DEVICE_NOT_FOUND",e.ELECTRON_IS_NULL="ELECTRON_IS_NULL",e.ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR="ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR",e.CHROME_PLUGIN_NO_RESPONSE="CHROME_PLUGIN_NO_RESPONSE",e.CHROME_PLUGIN_NOT_INSTALL="CHROME_PLUGIN_NOT_INSTALL",e.MEDIA_OPTION_INVALID="MEDIA_OPTION_INVALID",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONSTRAINT_NOT_SATISFIED="CONSTRAINT_NOT_SATISFIED",e.TRACK_IS_DISABLED="TRACK_IS_DISABLED",e.GET_VIDEO_ELEMENT_VISIBLE_ERROR="GET_VIDEO_ELEMENT_VISIBLE_ERROR",e.SHARE_AUDIO_NOT_ALLOWED="SHARE_AUDIO_NOT_ALLOWED",e.LOW_STREAM_ENCODING_ERROR="LOW_STREAM_ENCODING_ERROR",e.SET_ENCODING_PARAMETER_ERROR="SET_ENCODING_PARAMETER_ERROR",e.TRACK_STATE_UNREACHABLE="TRACK_STATE_UNREACHABLE",e.INVALID_UINT_UID_FROM_STRING_UID="INVALID_UINT_UID_FROM_STRING_UID",e.CAN_NOT_GET_PROXY_SERVER="CAN_NOT_GET_PROXY_SERVER",e.CAN_NOT_GET_GATEWAY_SERVER="CAN_NOT_GET_GATEWAY_SERVER",e.VOID_GATEWAY_ADDRESS="VOID_GATEWAY_ADDRESS",e.UID_CONFLICT="UID_CONFLICT",e.MULTI_UNILBS_RESPONSE_ERROR="MULTI_UNILBS_RESPONSE_ERROR",e.UPDATE_TICKET_FAILED="UPDATE_TICKET_FAILED",e.INVALID_LOCAL_TRACK="INVALID_LOCAL_TRACK",e.INVALID_TRACK="INVALID_TRACK",e.SENDER_NOT_FOUND="SENDER_NOT_FOUND",e.CREATE_OFFER_FAILED="CREATE_OFFER_FAILED",e.SET_ANSWER_FAILED="SET_ANSWER_FAILED",e.ICE_FAILED="ICE_FAILED",e.PC_CLOSED="PC_CLOSED",e.SENDER_REPLACE_FAILED="SENDER_REPLACE_FAILED",e.GET_LOCAL_CAPABILITIES_FAILED="GET_LOCAL_CAPABILITIES_FAILED",e.GET_LOCAL_CONNECTION_PARAMS_FAILED="GET_LOCAL_CONNECTION_PARAMS_FAILED",e.SUBSCRIBE_FAILED="SUBSCRIBE_FAILED",e.UNSUBSCRIBE_FAILED="UNSUBSCRIBE_FAILED",e.GATEWAY_P2P_LOST="GATEWAY_P2P_LOST",e.NO_ICE_CANDIDATE="NO_ICE_CANDIDATE",e.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS="CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS",e.EXIST_DISABLED_VIDEO_TRACK="EXIST_DISABLED_VIDEO_TRACK",e.INVALID_REMOTE_USER="INVALID_REMOTE_USER",e.REMOTE_USER_IS_NOT_PUBLISHED="REMOTE_USER_IS_NOT_PUBLISHED",e.CUSTOM_REPORT_SEND_FAILED="CUSTOM_REPORT_SEND_FAILED",e.CUSTOM_REPORT_FREQUENCY_TOO_HIGH="CUSTOM_REPORT_FREQUENCY_TOO_HIGH",e.FETCH_AUDIO_FILE_FAILED="FETCH_AUDIO_FILE_FAILED",e.READ_LOCAL_AUDIO_FILE_ERROR="READ_LOCAL_AUDIO_FILE_ERROR",e.DECODE_AUDIO_FILE_FAILED="DECODE_AUDIO_FILE_FAILED",e.WS_ABORT="WS_ABORT",e.WS_DISCONNECT="WS_DISCONNECT",e.WS_ERR="WS_ERR",e.EXTERNAL_SIGNAL_ABORT="EXTERNAL_SIGNAL_ABORT",e.LIVE_STREAMING_TASK_CONFLICT="LIVE_STREAMING_TASK_CONFLICT",e.LIVE_STREAMING_INVALID_ARGUMENT="LIVE_STREAMING_INVALID_ARGUMENT",e.LIVE_STREAMING_INTERNAL_SERVER_ERROR="LIVE_STREAMING_INTERNAL_SERVER_ERROR",e.LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED="LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED",e.LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED="LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED",e.LIVE_STREAMING_CDN_ERROR="LIVE_STREAMING_CDN_ERROR",e.LIVE_STREAMING_INVALID_RAW_STREAM="LIVE_STREAMING_INVALID_RAW_STREAM",e.LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT="LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT",e.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE="LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE",e.LIVE_STREAMING_WARN_FREQUENT_REQUEST="LIVE_STREAMING_WARN_FREQUENT_REQUEST",e.WEBGL_INTERNAL_ERROR="WEBGL_INTERNAL_ERROR",e.BEAUTY_PROCESSOR_INTERNAL_ERROR="BEAUTY_PROCESSOR_INTERNAL_ERROR",e.CROSS_CHANNEL_WAIT_STATUS_ERROR="CROSS_CHANNEL_WAIT_STATUS_ERROR",e.CROSS_CHANNEL_FAILED_JOIN_SRC="CROSS_CHANNEL_FAILED_JOIN_SEC",e.CROSS_CHANNEL_FAILED_JOIN_DEST="CROSS_CHANNEL_FAILED_JOIN_DEST",e.CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST="CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST",e.CROSS_CHANNEL_SERVER_ERROR_RESPONSE="CROSS_CHANNEL_SERVER_ERROR_RESPONSE",e.METADATA_OUT_OF_RANGE="METADATA_OUT_OF_RANGE",e.LOCAL_AEC_ERROR="LOCAL_AEC_ERROR",e.INVALID_PLUGIN="INVALID_PLUGIN",e.DISCONNECT_P2P="DISCONNECT_P2P",e.CONVERTING_IMAGEDATA_TO_BLOB_FAILED="CONVERTING_IMAGEDATA_TO_BLOB_FAILED",e.CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED="CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED",e.INIT_DATACHANNEL_TIMEOUT="INIT_DATACHANNEL_TIMEOUT",e.CREATE_DATACHANNEL_ERROR="CREATE_DATACHANNEL_ERROR",e.DATACHANNEL_CONNECTION_TIMEOUT="DATACHANNEL_CONNECTION_TIMEOUT",e.PROHIBITED_OPERATION="PROHIBITED_OPERATION",e.IMAGE_MODERATION_UPLOAD_FAILED="IMAGE_MODERATION_UPLOAD_FAILED",e.P2P_MESSAGE_FAILED="P2P_MESSAGE_FAILED",e})({}),Be=class extends Error{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0;super(t),er(this,"code",void 0),er(this,"message",void 0),er(this,"data",void 0),er(this,"name","AgoraRTCException"),this.code=e,this.message="AgoraRTCError ".concat(this.code,": ").concat(t),this.data=n}toString(){return this.data?"data: ".concat(JSON.stringify(this.data),`
`).concat(this.stack):"".concat(this.stack)}print(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"error",t=arguments.length>1?arguments[1]:void 0;return e==="error"&&(t||console).error(this.toString()),e==="warning"&&(t||console).warn(this.toString()),this}throw(e){throw this.print("error",e),this}};function nu(e,t){if(typeof e!="boolean")throw new Be(Q.INVALID_PARAMS,"Invalid ".concat(t,": The value is of the boolean type."))}function Kr(e,t,n){if(!lt(n).call(n,e))throw new Be(Q.INVALID_PARAMS,"".concat(t," can only be set as ").concat(JSON.stringify(n)))}function Ln(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1e4;if(e<n||e>r||(!(arguments.length>4&&arguments[4]!==void 0)||arguments[4])&&!(function(i){return typeof i=="number"&&i%1==0})(e))throw new Be(Q.INVALID_PARAMS,"invalid ".concat(t,": the value range is [").concat(n,", ").concat(r,"]. integer only"))}function x9(e,t){if(typeof e!="number"){if(!(e.min||e.max||e.ideal||e.exact))throw new Be(Q.INVALID_PARAMS,"".concat(t," is not a valid ConstrainLong"));e.min!==void 0&&Ln(e.min,"".concat(t,".min"),0,1/0),e.max!==void 0&&Ln(e.max,"".concat(t,".max"),1,1/0),e.exact!==void 0&&Ln(e.exact,"".concat(t,".exact"),1,1/0),e.ideal!==void 0&&Ln(e.ideal,"".concat(t,".ideal"),1,1/0)}else Ln(e,t,1,1/0)}function pi(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:255,i=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4];if(e==null)throw new Be(Q.INVALID_PARAMS,"".concat(t||"param"," cannot be empty"));if(!fq(e,n,r,i))throw new Be(Q.INVALID_PARAMS,"Invalid ".concat(t||"string param",": Length of the string: [").concat(n,",").concat(r,"].").concat(i?" ASCII characters only.":""))}function Zl(e,t){if(!Array.isArray(e))throw new Be(Q.INVALID_PARAMS,"".concat(t," should be an array"))}function ur(e){return e==null}function fq(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:255,r=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];return typeof e=="string"&&e.length<=n&&e.length>=t&&(!r||(function(i){if(typeof i!="string")return!1;for(let o=0;o<i.length;o+=1){const s=i.charCodeAt(o);if(s<0||s>255)return!1}return!0})(e))}var F1=(function(e){return e.COVERED="COVERED",e.POSITION="POSITION",e.SIZE="SIZE",e.STYLE="STYLE",e})(F1||{}),VA=(function(e){return e.UNMOUNTED="UNMOUNTED",e.INVALID_HTML_ELEMENT="INVALID_HTML_ELEMENT",e})(VA||{});const hq=new class{constructor(){er(this,"_clientSize",null),er(this,"getClientWidth",(()=>document.documentElement?document.documentElement.clientWidth:document.body.clientWidth)),er(this,"getClientHeight",(()=>document.documentElement?document.documentElement.clientHeight:document.body.clientHeight)),er(this,"getStyle",(e=>window.getComputedStyle(e,null))),er(this,"checkCssVisibleProperty",(e=>{var t;let n=!0;const r=this.getStyle(e),{display:i,visibility:o,opacity:s,filter:a}=r;return(i==="none"||lt(t=["hidden","collapse"]).call(t,o)||Number(s)<.1)&&(n=!1),!!n&&(a&&a.split(" ").filter((c=>{var l;const u=c.split("(")[0];return lt(l=["brightness","blur","opacity"]).call(l,u)})).map((c=>{const[l,u]=c.split(/\(|\)/);return[l,Number(u.match(/^[0-9\.]+/))]})).forEach((c=>{const[l,u]=c;switch(l){case"brightness":(u<.1||u>3)&&(n=!1);break;case"blur":u>3&&(n=!1);break;case"opacity":u<.1&&(n=!1)}})),n)})),er(this,"checkPropertyUpToAllParentNodes",((e,t)=>{let n=!0,r=!0;const i=s=>t(s);let o=e;for(;o&&r;)i(o)||(n=!1,r=!1),o=o.parentElement,o||(r=!1);return n})),er(this,"checkActualCssVisibleIncludeInherit",(e=>this.checkPropertyUpToAllParentNodes(e,this.checkCssVisibleProperty))),er(this,"getSizeAboutClient",(e=>{const{width:t,height:n,left:r,right:i,top:o,bottom:s}=e.getBoundingClientRect(),a=this.getClientWidth(),c=this.getClientHeight();return{width:t,height:n,left:r,right:i,top:o,bottom:s,clientWidth:a,clientHeight:c,clientMin:Math.min(a,c)}})),er(this,"checkActualSize",(()=>{const{width:e,height:t,clientMin:n}=this._clientSize;return this.checkSizeIsVisible(e,t,n)})),er(this,"elementFromPoint",((e,t)=>document.elementFromPoint?document.elementFromPoint(e,t):null)),er(this,"checkCoverForAPoint",((e,t,n)=>{const r=this.elementFromPoint(e,t);return r!==null&&r!==n})),er(this,"getPointPositionList",(()=>{const{width:e,height:t,left:n,top:r}=this._clientSize,i=e/6,o=t/6,s=[],a=10**6;for(let c=0;c<5;c++)for(let l=0;l<5;l++){const u=(n*a+(c===0?.1:c===4?(i*c*a-1e5)/a:i*c)*a)/a,d=(r*a+(l===0?.1:l===4?(o*l*a-1e5)/a:o*l)*a)/a;s.push({x:u,y:d})}return[...s]})),er(this,"checkElementCover",(e=>this.getPointPositionList().map((t=>this.checkCoverForAPoint(t.x,t.y,e))).filter((t=>!!t)).length>6)),er(this,"checkSizeIsVisible",((e,t,n)=>(e>50||n/e<=10)&&(t>50||n/t<=10))),er(this,"checkSizeOfPartInClient",(()=>{const{left:e,right:t,top:n,bottom:r,clientHeight:i,clientWidth:o,clientMin:s}=this._clientSize;let a,c,l,u;if(e<0)a=0;else{if(!(e<o))return!1;a=e}if(t<0)return!1;if(c=t<o?t:o,n<0)l=0;else{if(!(n<i))return!1;l=n}if(r<0)return!1;u=r<i?r:i;const d=c-a,f=u-l;return this.checkSizeIsVisible(d,f,s)})),er(this,"returnHiddenResult",(e=>(this._clientSize=null,{visible:!1,reason:e}))),er(this,"checkOneElementVisible",(e=>{if(e instanceof HTMLElement){if(this.checkElementIsMountedOnDom(e)){if(this.checkActualCssVisibleIncludeInherit(e)){if(this._clientSize=this.getSizeAboutClient(e),this.checkElementCover(e))return this.returnHiddenResult(F1.COVERED);{const t=this.checkActualSize(),n=this.checkSizeOfPartInClient();return t&&!n?this.returnHiddenResult(F1.POSITION):t?(this._clientSize=null,{visible:!0}):this.returnHiddenResult(F1.SIZE)}}return this.returnHiddenResult(F1.STYLE)}return this.returnHiddenResult(VA.UNMOUNTED)}return this.returnHiddenResult(VA.INVALID_HTML_ELEMENT)})),er(this,"checkElementIsMountedOnDom",(e=>this.checkPropertyUpToAllParentNodes(e,(t=>t.nodeName.toUpperCase()!=="HTML"?t.parentElement!==null:!!document.documentElement))))}};function cI(e){return new TextEncoder().encode(e)}const oM=function(e,t){const n=new Uint8Array(e.byteLength+t.byteLength);return n.set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n},GA=async e=>(function(t,n){let r="";return new Uint8Array(t).forEach((i=>{r+=i.toString(n).padStart(2,"0")})),r})(await crypto.subtle.digest("SHA-256",cI(e)),16);let fr=class{constructor(){er(this,"_events",{}),er(this,"addListener",this.on)}getListeners(e){return this._events[e]?this._events[e].map((t=>t.listener)):[]}on(e,t){this._events[e]||(this._events[e]=[]);const n=this._events[e];this._indexOfListener(n,t)===-1&&n.push({listener:t,once:!1})}once(e,t){this._events[e]||(this._events[e]=[]);const n=this._events[e];this._indexOfListener(n,t)===-1&&n.push({listener:t,once:!0})}off(e,t){if(!this._events[e])return;const n=this._events[e],r=this._indexOfListener(n,t);r!==-1&&n.splice(r,1),this._events[e].length===0&&delete this._events[e]}removeAllListeners(e){e?delete this._events[e]:this._events={}}emit(e){this._events[e]||(this._events[e]=[]);const t=this._events[e].map((o=>o));for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];for(let o=0;o<t.length;o+=1){const s=t[o];s.once&&this.off(e,s.listener),s.listener.apply(this,r||[])}}safeEmit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];[...this._events[e]||[]].forEach((i=>{i.once&&this.off(e,i.listener);try{i.listener.apply(this,n)}catch(o){console.error("safeEmit event:".concat(e," error ").concat(o==null?void 0:o.toString()))}}))}_indexOfListener(e,t){let n=e.length;for(;n--;)if(e[n].listener===t)return n;return-1}},v1=null;function pq(){if(v1)return v1;if(window.electron)return v1=window.electron;if(!window.require)return null;try{return v1=window.require("electron"),v1}catch{return null}}let Zr=(function(e){return e.CREATE_CLIENT="createClient",e.CHECK_SYSTEM_REQUIREMENTS="checkSystemRequirements",e.SET_AREA="setArea",e.PRELOAD="PRELOAD",e.CHECK_VIDEO_TRACK_IS_ACTIVE="checkVideoTrackIsActive",e.CHECK_AUDIO_TRACK_IS_ACTIVE="checkAudioTrackIsActive",e.CREATE_MIC_AUDIO_TRACK="createMicrophoneAudioTrack",e.CREATE_CUSTOM_AUDIO_TRACK="createCustomAudioTrack",e.CREATE_BUFFER_AUDIO_TRACK="createBufferSourceAudioTrack",e.CREATE_CAM_VIDEO_TRACK="createCameraVideoTrack",e.CREATE_CUSTOM_VIDEO_TRACK="createCustomVideoTrack",e.CREATE_MIC_AND_CAM_TRACKS="createMicrophoneAndCameraTracks",e.CREATE_SCREEN_VIDEO_TRACK="createScreenVideoTrack",e.SET_ENCRYPTION_CONFIG="Client.setEncryptionConfig",e.START_PROXY_SERVER="Client.startProxyServer",e.STOP_PROXY_SERVER="Client.stopProxyServer",e.SET_PROXY_SERVER="Client.setProxyServer",e.SET_TURN_SERVER="Client.setTurnServer",e.SET_CLIENT_ROLE="Client.setClientRole",e.SET_LOW_STREAM_PARAMETER="Client.setLowStreamParameter",e.ENABLE_DUAL_STREAM="Client.enableDualStream",e.DISABLE_DUAL_STREAM="Client.disableDualStream",e.JOIN="Client.join",e.LEAVE="Client.leave",e.PUBLISH="Client.publish",e.UNPUBLISH="Client.unpublish",e.SUBSCRIBE="Client.subscribe",e.MASS_SUBSCRIBE="Client.massSubscribe",e.MASS_UNSUBSCRIBE="Client.massUnsubscribe",e.UNSUBSCRIBE="Client.unsubscribe",e.RENEW_TOKEN="Client.renewToken",e.SET_REMOTE_VIDEO_STREAM_TYPE="Client.setRemoteVideoStreamType",e.SET_STREAM_FALLBACK_OPTION="Client.setStreamFallbackOption",e.ENABLE_AUDIO_VOLUME_INDICATOR="Client.enableAudioVolumeIndicator",e.SEND_CUSTOM_REPORT_MESSAGE="Client.sendCustomReportMessage",e.INSPECT_VIDEO_CONTENT="Client.inspectVideoContent",e.STOP_INSPECT_VIDEO_CONTENT="Client.stopInspectVideoContent",e.JOIN_FALLBACK_TO_PROXY="Client._joinFallbackToProxy",e.ON_LIVE_STREAM_WARNING="Client.onLiveStreamWarning",e.ON_LIVE_STREAM_ERROR="Client.onLiveStreamingError",e.START_LIVE_STREAMING="Client.startLiveStreaming",e.SET_LIVE_TRANSCODING="Client.setLiveTranscoding",e.STOP_LIVE_STREAMING="Client.stopLiveStreaming",e.START_CHANNEL_MEDIA_RELAY="Client.startChannelMediaRelay",e.UPDATE_CHANNEL_MEDIA_RELAY="Client.updateChannelMediaRelay",e.STOP_CHANNEL_MEDIA_RELAY="Client.stopChannelMediaRelay",e.REQUEST_CONFIG_DISTRIBUTE="_config-distribute-request",e.SET_CONFIG_DISTRIBUTE="_configDistribute",e.LOCAL_TRACK_SET_MUTED="LocalTrack.setMute",e.LOCAL_AUDIO_TRACK_PLAY="LocalAudioTrack.play",e.LOCAL_AUDIO_TRACK_PLAY_IN_ELEMENT="LocalAudioTrack.playInElement",e.LOCAL_AUDIO_TRACK_STOP="LocalAudioTrack.stop",e.LOCAL_AUDIO_TRACK_SET_VOLUME="LocalAudioTrack.setVolume",e.MIC_AUDIO_TRACK_SET_DEVICE="MicrophoneAudioTrack.setDevice",e.BUFFER_AUDIO_TRACK_START="BufferSourceAudioTrack.startProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_STOP="BufferSourceAudioTrack.stopProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_PAUSE="BufferSourceAudioTrack.pauseProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_RESUME="BufferSourceAudioTrack.resumeProcessAudioBuffer",e.BUFFER_AUDIO_TRACK_SEEK="BufferSourceAudioTrack.seekAudioBuffer",e.LOCAL_VIDEO_TRACK_PLAY="LocalVideoTrack.play",e.LOCAL_VIDEO_TRACK_STOP="LocalVideoTrack.stop",e.LOCAL_VIDEO_TRACK_GET_VIDEO_VISIBLE="LocalVideoTrack.getVideoElementVisibleStatus",e.LOCAL_VIDEO_TRACK_BEAUTY="LocalVideoTrack.setBeautyEffect",e.LOCAL_VIDEO_SEND_SEI_DATA="LocalVideoTrack.sendSeiData",e.CAM_VIDEO_TRACK_SET_DEVICE="CameraVideoTrack.setDevice",e.CAM_VIDEO_TRACK_SET_ENCODER_CONFIG="CameraVideoTrack.setEncoderConfiguration",e.REMOTE_VIDEO_TRACK_PLAY="RemoteVideoTrack.play",e.REMOTE_VIDEO_TRACK_STOP="RemoteVideoTrack.stop",e.REMOTE_VIDEO_TRACK_GET_VIDEO_VISIBLE="RemoteVideoTrack.getVideoElementVisibleStatus",e.REMOTE_AUDIO_TRACK_PLAY="RemoteAudioTrack.play",e.REMOTE_AUDIO_TRACK_STOP="RemoteAudioTrack.stop",e.REMOTE_AUDIO_SET_VOLUME="RemoteAudioTrack.setVolume",e.REMOTE_AUDIO_SET_OUTPUT_DEVICE="RemoteAudioTrack.setOutputDevice",e.GET_MEDIA_STREAM_TRACK="Track.getMediaStreamTrack",e.STREAM_TYPE_CHANGE="streamTypeChange",e.CONNECTION_STATE_CHANGE="connectionStateChange",e.LOAD_CONFIG_FROM_LOCALSTORAGE="loadConfigFromLocalStorage",e.IMAGE_MODERATION_UPLOAD="imageModerationUpload",e})({}),vr=(function(e){return e.TRACER="tracer",e})({});function sM(e){return Ln(e.timeout,"config.timeout",0,1e5),Ln(e.timeoutFactor,"config.timeoutFactor",0,100,!1),Ln(e.maxRetryCount,"config.maxRetryConfig",0,1/0),Ln(e.maxRetryTimeout,"config.maxRetryTimeout",0,1/0),!0}let KLe=(function(e){return e[e.AUDIENCE_LEVEL_LOW_LATENCY=1]="AUDIENCE_LEVEL_LOW_LATENCY",e[e.AUDIENCE_LEVEL_ULTRA_LOW_LATENCY=2]="AUDIENCE_LEVEL_ULTRA_LOW_LATENCY",e[e.AUDIENCE_LEVEL_SYNC_LATENCY=3]="AUDIENCE_LEVEL_SYNC_LATENCY",e})({}),Tn=(function(e){return e.LEAVE="LEAVE",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.UID_BANNED="UID_BANNED",e.FALLBACK="FALLBACK",e.IP_BANNED="IP_BANNED",e.CHANNEL_BANNED="CHANNEL_BANNED",e.LICENSE_MISSING="LICENSE_MISSING",e.LICENSE_EXPIRED="LICENSE_EXPIRED",e.LICENSE_MINUTES_EXCEEDED="LICENSE_MINUTES_EXCEEDED",e.LICENSE_PERIOD_INVALID="LICENSE_PERIOD_INVALID",e.LICENSE_MULTIPLE_SDK_SERVICE="LICENSE_MULTIPLE_SDK_SERVICE",e.LICENSE_ILLEGAL="LICENSE_ILLEGAL",e.TOKEN_EXPIRE="TOKEN_EXPIRE",e})({});function l6(e){if(!Array.isArray(e)||e.length<1)return!1;try{e.forEach((t=>{if(!t.urls)throw Error()}))}catch{return!1}return!0}function mq(e){return pi(e.turnServerURL,"turnServerURL"),pi(e.username,"username"),pi(e.password,"password"),e.udpport&&Ln(e.udpport,"udpport",1,99999,!0),e.forceturn&&nu(e.forceturn,"forceturn"),e.security&&nu(e.security,"security"),e.tcpport&&Ln(e.tcpport,"tcpport",1,99999,!0),!0}function aM(e){return e.level!==void 0&&Kr(e.level,"level",[1,2,3]),e.delay!==void 0&&Ln(e.delay,"delay",0,3e3,!0),!0}let $t=(function(e){return e.CONNECTION_STATE_CHANGE="connection-state-change",e.MEDIA_RECONNECT_START="media-reconnect-start",e.MEDIA_RECONNECT_END="media-reconnect-end",e.IS_USING_CLOUD_PROXY="is-using-cloud-proxy",e.USER_JOINED="user-joined",e.USER_LEAVED="user-left",e.USER_PUBLISHED="user-published",e.USER_UNPUBLISHED="user-unpublished",e.USER_INFO_UPDATED="user-info-updated",e.CLIENT_BANNED="client-banned",e.CHANNEL_MEDIA_RELAY_STATE="channel-media-relay-state",e.CHANNEL_MEDIA_RELAY_EVENT="channel-media-relay-event",e.VOLUME_INDICATOR="volume-indicator",e.CRYPT_ERROR="crypt-error",e.ON_TOKEN_PRIVILEGE_WILL_EXPIRE="token-privilege-will-expire",e.ON_TOKEN_PRIVILEGE_DID_EXPIRE="token-privilege-did-expire",e.NETWORK_QUALITY="network-quality",e.STREAM_TYPE_CHANGED="stream-type-changed",e.STREAM_FALLBACK="stream-fallback",e.RECEIVE_METADATA="receive-metadata",e.STREAM_MESSAGE="stream-message",e.LIVE_STREAMING_ERROR="live-streaming-error",e.LIVE_STREAMING_WARNING="live-streaming-warning",e.EXCEPTION="exception",e.ERROR="error",e.P2P_LOST="p2p_lost",e.JOIN_FALLBACK_TO_PROXY="join-fallback-to-proxy",e.CHANNEL_FALLBACK_TO_WEBSOCKET="channel-fallback-to-websocket",e.MEDIA_CONNECTION_TYPE_CHANGE="media-connection-type-change",e.PUBLISHED_USER_LIST="published-user-list",e.CONTENT_INSPECT_CONNECTION_STATE_CHANGE="content-inspect-connection-state-change",e.CONTENT_INSPECT_ERROR="content-inspect-error",e.CONTENT_INSPECT_RESULT="content-inspect-result",e.IMAGE_MODERATION_CONNECTION_STATE_CHANGE="image-moderation-connection-state-change",e})({}),Oi=(function(e){return e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.MULTI_IP="MULTI_IP",e.TIMEOUT="TIMEOUT",e.OFFLINE="OFFLINE",e.LEAVE="LEAVE",e.P2P_FAILED="P2P_FAILED",e.FALLBACK="FALLBACK",e})({}),cs=(function(e){return e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e})({}),Th=(function(e){return e.NETWORK_STATE_CHANGE="NETWORK_STATE_CHANGE",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e})({});function ki(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.getListeners(t).length===0?ot.reject(new Be(Q.UNEXPECTED_ERROR,"can not emit promise")):new ot(((o,s)=>{e.emit(t,...r,o,s)}))}function Fn(e,t){if(e.getListeners(t).length===0)return ot.resolve();for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return ki(e,t,...r)}function ia(e,t){if(e.getListeners(t).length===0)return null;for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return cg(e,t,...r)}function cg(e,t){let n=null,r=null;for(var i=arguments.length,o=new Array(i>2?i-2:0),s=2;s<i;s++)o[s-2]=arguments[s];if(e.emit(t,...o,(a=>{n=a}),(a=>{r=a})),r!==null)throw r;if(n===null)throw new Be(Q.UNEXPECTED_ERROR,"handler is not sync");return n}const Fr=new class extends fr{set networkState(e){this.emit(Th.NETWORK_STATE_CHANGE,e,this._networkState),e===cs.ONLINE?this.emit(Th.ONLINE):e===cs.OFFLINE&&(this.onlineWaiter=new ot((t=>{this.once(Th.ONLINE,(()=>{this.onlineWaiter=void 0,t(cs.ONLINE)}))})),this.emit(Th.OFFLINE)),this._networkState=e}get networkState(){return this._networkState}get isOnline(){return this._networkState===cs.ONLINE}constructor(){super(),er(this,"_moduleName","network-indicator"),er(this,"_networkState",cs.ONLINE),er(this,"onlineWaiter",void 0),window.addEventListener("online",(()=>{this.networkState=cs.ONLINE})),window.addEventListener("offline",(()=>{this.networkState=cs.OFFLINE}))}};function T4(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}function Ih(e){const t=[];return e.forEach((n=>{t.indexOf(n)===-1&&t.push(n)})),t}function u6(e){ot!==void 0?ot.resolve().then(e):setTimeout(e,0)}function Lr(e){return JSON.parse(JSON.stringify(e))}function j0(e){try{return Lr(e)}catch{return e}}const cM={};function Fd(e,t){cM[t]||(cM[t]=!0,e())}function H0(e){const t=window.atob(e),n=new Uint8Array(new ArrayBuffer(t.length));for(let r=0;r<t.length;r+=1)n[r]=t.charCodeAt(r);return n}function _d(e){let t="";for(let n=0;n<e.length;n+=1)t+=String.fromCharCode(e[n]);return window.btoa(t)}function gq(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:16,n=new TextEncoder().encode(e);if(n.length>t)n=n.slice(0,t);else if(n.length<t){const r=new Uint8Array(t);r.set(n),n=r}return n}function lM(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=vc(t).call(t,((s,a)=>s+a.length),0),i=new Uint8Array(new ArrayBuffer(r));let o=0;return t.forEach((s=>{i.set(s,o),o+=s.length})),i}function qc(e){return window.TextEncoder?new TextEncoder().encode(e).length:e.length}function vq(e){let t=0;return(/DingTalk/i.test(navigator.userAgent)||/AliApp/i.test(navigator.userAgent))&&e.realFormData&&(e=e.realFormData),e.forEach((n=>{t+=typeof n=="string"?qc(n):n.size})),t+138}function qLe(e){const t=new Be(Q.TIMEOUT,"timeout");return new ot(((n,r)=>{window.setTimeout((()=>r(t)),e)}))}function Ei(e){return new ot((t=>{window.setTimeout(t,e)}))}function Wn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:7,t=arguments.length>1?arguments[1]:void 0;const n=Math.random().toString(16).substr(2,e).toLowerCase();return n.length===e?"".concat(t).concat(n):"".concat(t).concat(n)+Wn(e-n.length,"")}function Ph(){return Wn(32,"").toUpperCase()}const d6=()=>{},uM=new class{constructor(){er(this,"fnMap",new Map)}throttleByKey(e,t,n,r){for(var i=arguments.length,o=new Array(i>4?i-4:0),s=4;s<i;s++)o[s-4]=arguments[s];if(this.fnMap.has(t)){const a=this.fnMap.get(t);if(a.threshold!==n){a.fn(...a.args),clearTimeout(a.timer);const c=window.setTimeout((()=>{const l=this.fnMap.get(t);l&&l.fn(...l.args),this.fnMap.delete(t)}),n);this.fnMap.set(t,{fn:e,threshold:n,timer:c,args:o,skipFn:r})}else a.skipFn&&a.skipFn(...a.args),this.fnMap.set(t,pt(pt({},a),{},{fn:e,args:o,skipFn:r}))}else{const a=window.setTimeout((()=>{const c=this.fnMap.get(t);c&&c.fn(...c.args),this.fnMap.delete(t)}),n);this.fnMap.set(t,{fn:e,threshold:n,timer:a,args:o,skipFn:r})}}},dM=uM.throttleByKey.bind(uM);function fM(e){return typeof e=="object"&&e!==null&&!(e instanceof RegExp)}function JA(e,t){if(!fM(e)||!fM(t)||Array.isArray(e)&&!Array.isArray(t)||!Array.isArray(e)&&Array.isArray(t))return t;if(Array.isArray(t)&&Array.isArray(e)){const n=[...e];for(let r=0;r<t.length;r++)n[r]=JA(e[r],t[r]);return n}{const n=pt({},e);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(e,r)?n[r]=JA(e[r],t[r]):n[r]=t[r]);return n}}function hM(e,t){let n=[0];if(n=new Array(t).fill(0),e===0)return n;let r=0;for(;e>0&&(n[r]=255&e,e>>=8,r++,r!==t););return n}function D9(e){return typeof e=="number"?e:e.exact||e.ideal||e.max||e.min||0}function yq(e){const t="0123456789abcdef";function n(E){let b,S="";for(b=0;b<=3;b++)S+=t.charAt(E>>8*b+4&15)+t.charAt(E>>8*b&15);return S}function r(E,b){const S=(65535&E)+(65535&b);return(E>>16)+(b>>16)+(S>>16)<<16|65535&S}function i(E,b,S,w,C,_){return r((function(I,O){return I<<O|I>>>32-O})(r(r(b,E),r(w,_)),C),S)}function o(E,b,S,w,C,_,I){return i(b&S|~b&w,E,b,C,_,I)}function s(E,b,S,w,C,_,I){return i(b&w|S&~w,E,b,C,_,I)}function a(E,b,S,w,C,_,I){return i(b^S^w,E,b,C,_,I)}function c(E,b,S,w,C,_,I){return i(S^(b|~w),E,b,C,_,I)}const l=(function(E){let b;const S=1+(E.length+8>>6),w=new Array(16*S);for(b=0;b<16*S;b++)w[b]=0;for(b=0;b<E.length;b++)w[b>>2]|=E.charCodeAt(b)<<b%4*8;return w[b>>2]|=128<<b%4*8,w[16*S-2]=8*E.length,w})(e);let u,d,f,h,p,g=1732584193,m=-271733879,y=-1732584194,v=271733878;for(u=0;u<l.length;u+=16)d=g,f=m,h=y,p=v,g=o(g,m,y,v,l[u+0],7,-680876936),v=o(v,g,m,y,l[u+1],12,-389564586),y=o(y,v,g,m,l[u+2],17,606105819),m=o(m,y,v,g,l[u+3],22,-1044525330),g=o(g,m,y,v,l[u+4],7,-176418897),v=o(v,g,m,y,l[u+5],12,1200080426),y=o(y,v,g,m,l[u+6],17,-1473231341),m=o(m,y,v,g,l[u+7],22,-45705983),g=o(g,m,y,v,l[u+8],7,1770035416),v=o(v,g,m,y,l[u+9],12,-1958414417),y=o(y,v,g,m,l[u+10],17,-42063),m=o(m,y,v,g,l[u+11],22,-1990404162),g=o(g,m,y,v,l[u+12],7,1804603682),v=o(v,g,m,y,l[u+13],12,-40341101),y=o(y,v,g,m,l[u+14],17,-1502002290),m=o(m,y,v,g,l[u+15],22,1236535329),g=s(g,m,y,v,l[u+1],5,-165796510),v=s(v,g,m,y,l[u+6],9,-1069501632),y=s(y,v,g,m,l[u+11],14,643717713),m=s(m,y,v,g,l[u+0],20,-373897302),g=s(g,m,y,v,l[u+5],5,-701558691),v=s(v,g,m,y,l[u+10],9,38016083),y=s(y,v,g,m,l[u+15],14,-660478335),m=s(m,y,v,g,l[u+4],20,-405537848),g=s(g,m,y,v,l[u+9],5,568446438),v=s(v,g,m,y,l[u+14],9,-1019803690),y=s(y,v,g,m,l[u+3],14,-187363961),m=s(m,y,v,g,l[u+8],20,1163531501),g=s(g,m,y,v,l[u+13],5,-1444681467),v=s(v,g,m,y,l[u+2],9,-51403784),y=s(y,v,g,m,l[u+7],14,1735328473),m=s(m,y,v,g,l[u+12],20,-1926607734),g=a(g,m,y,v,l[u+5],4,-378558),v=a(v,g,m,y,l[u+8],11,-2022574463),y=a(y,v,g,m,l[u+11],16,1839030562),m=a(m,y,v,g,l[u+14],23,-35309556),g=a(g,m,y,v,l[u+1],4,-1530992060),v=a(v,g,m,y,l[u+4],11,1272893353),y=a(y,v,g,m,l[u+7],16,-155497632),m=a(m,y,v,g,l[u+10],23,-1094730640),g=a(g,m,y,v,l[u+13],4,681279174),v=a(v,g,m,y,l[u+0],11,-358537222),y=a(y,v,g,m,l[u+3],16,-722521979),m=a(m,y,v,g,l[u+6],23,76029189),g=a(g,m,y,v,l[u+9],4,-640364487),v=a(v,g,m,y,l[u+12],11,-421815835),y=a(y,v,g,m,l[u+15],16,530742520),m=a(m,y,v,g,l[u+2],23,-995338651),g=c(g,m,y,v,l[u+0],6,-198630844),v=c(v,g,m,y,l[u+7],10,1126891415),y=c(y,v,g,m,l[u+14],15,-1416354905),m=c(m,y,v,g,l[u+5],21,-57434055),g=c(g,m,y,v,l[u+12],6,1700485571),v=c(v,g,m,y,l[u+3],10,-1894986606),y=c(y,v,g,m,l[u+10],15,-1051523),m=c(m,y,v,g,l[u+1],21,-2054922799),g=c(g,m,y,v,l[u+8],6,1873313359),v=c(v,g,m,y,l[u+15],10,-30611744),y=c(y,v,g,m,l[u+6],15,-1560198380),m=c(m,y,v,g,l[u+13],21,1309151649),g=c(g,m,y,v,l[u+4],6,-145523070),v=c(v,g,m,y,l[u+11],10,-1120210379),y=c(y,v,g,m,l[u+2],15,718787259),m=c(m,y,v,g,l[u+9],21,-343485551),g=r(g,d),m=r(m,f),y=r(y,h),v=r(v,p);return n(g)+n(m)+n(y)+n(v)}let $Le=1,i5=console,Hi=class{static setLogger(e){i5=e}constructor(e){er(this,"lockingPromise",ot.resolve()),er(this,"locks",0),er(this,"name",""),er(this,"lockId",void 0),this.lockId=$Le++,e&&(this.name=e),i5.debug("[lock-".concat(this.name,"-").concat(this.lockId,"] is created."))}get isLocked(){return this.locks>0}lock(e){let t;this.locks+=1,i5.debug("[lock-".concat(this.name,"-").concat(this.lockId,"] is locked, current queue ").concat(this.locks,". ").concat(typeof e=="string"?e:""));const n=new ot((i=>{t=()=>{this.locks-=1,i5.debug("[lock-".concat(this.name,"-").concat(this.lockId,"] is not locked, current queue ").concat(this.locks,". ").concat(typeof e=="string"?e:"")),i()}})),r=this.lockingPromise.then((()=>t));return this.lockingPromise=this.lockingPromise.then((()=>n)),r}};function bp(e,t){return function(n,r,i){const o=i.value;if(typeof o!="function")throw new Error("Cannot use mutex on object property.");return i.value=async function(){const s=this[t];if(!s)throw new Error("mutex property key ".concat(t," doesn't exist on ").concat(e));const a=await s.lock("From ".concat(e,".").concat(r));try{for(var c=arguments.length,l=new Array(c),u=0;u<c;u++)l[u]=arguments[u];return await o.apply(this,l)}finally{a()}},i}}const jr={timeout:500,timeoutFactor:1.5,maxRetryCount:1/0,maxRetryTimeout:1e4};function lI(e,t){const n=Math.floor(t.timeout*Math.pow(t.timeoutFactor,e));return Math.min(t.maxRetryTimeout,n)}function wc(e,t,n,r){const i=Object.assign({},jr,r);let o=i.timeout;const s=async()=>{await(function(l){return new ot((u=>{window.setTimeout(u,l)}))})(o),o*=i.timeoutFactor,o=Math.min(i.maxRetryTimeout,o)};let a=!1;const c=new ot((async(l,u)=>{t=t||(()=>!1),n=n||(()=>!0);for(let d=0;d<i.maxRetryCount;d+=1){if(a)return u(new Be(Q.OPERATION_ABORTED));try{const f=await e();if(!t(f,d)||d+1===i.maxRetryCount)return l(f);await s()}catch(f){if(!n(f,d)||d+1===i.maxRetryCount)return u(f);await s()}}}));return c.cancel=()=>a=!0,c}class Eq{constructor(t){er(this,"input",[]),er(this,"size",void 0),this.size=t}add(t){this.input.push(t),this.input.length>this.size&&this.input.splice(0,1)}mean(){var t;return this.input.length===0?0:vc(t=this.input).call(t,((n,r)=>n+r))/this.input.length}}let o5,s5=0,L9=0;function ZA(e,t,n,r){return new ot(((i,o)=>{t.responseType=t.responseType||"json",t.data&&!n?(t.data=JSON.stringify(t.data),s5+=qc(t.data)):n&&(t.data.size?s5+=t.data.size:t.data instanceof FormData?s5+=vq(t.data):s5+=qc(JSON.stringify(t.data))),t.headers=t.headers||{},t.headers["Content-Type"]=t.headers["Content-Type"]||"application/json",t.method="POST",t.url=e,Lo.request(t).then((s=>{typeof s.data=="string"?L9+=qc(s.data):s.data instanceof ArrayBuffer||s.data instanceof Uint8Array?L9+=s.data.byteLength:L9+=qc(JSON.stringify(s.data)),i(s.data)})).catch((s=>{Lo.isCancel(s)?o(new Be(Q.OPERATION_ABORTED,"cancel token canceled")):s.code==="ECONNABORTED"?o(new Be(Q.NETWORK_TIMEOUT,s.message)):s.response?o(new Be(Q.NETWORK_RESPONSE_ERROR,s.response.status)):o(new Be(Q.NETWORK_ERROR,s.message))}))}))}async function eNe(e,t){const n=new Blob([t.data],{type:"buffer"});return await ZA(e,pt(pt({},t),{},{data:n,headers:{"Content-Type":"application/octet-stream"}}),!0)}const pM=()=>window.isSecureContext!==void 0,oa=(function(e){if(e.match(/[0-9]+\.[0-9]+\.[0-9]+$/))return e;const t=e.match(/([0-9]+\.[0-9]+\.[0-9]+)\-alpha\.([0-9]+)/);if(t&&t[1]&&t[2]){const r=t[1],i=t[2];return"".concat(r,".").concat(i)}const n=e.match(/([0-9]+\.[0-9]+\.[0-9]+)\-special\.([0-9]+)/);if(n&&n[1]&&n[2]){const r=n[1],i=n[2];return"".concat(r,".").concat(100*(Number(i)+1))}return"4.0.0.999"})("4.22.0"),uI=(function(){try{return JSON.parse("true")===!0}catch{return!0}})();let S0=(function(e){return e.Default="default",e.Auto="auto",e.Relay="relay",e.SdRtn="sd-rtn",e})({});const dI={MIN_FRAME_RATE:1,MAX_FRAME_RATE:30,MAX_THRESHOLD_FRAMERATE:30,BITRATE_MIN_THRESHOLD:100,BITRATE_MAX_THRESHOLD:100,MAX_SCALE:5,BWE_SCALE_UP_THRESHOLD:.6,BWE_SCALE_DOWN_THRESHOLD:.6,PERF_SCALE_UP_THRESHOLD:.7,PERF_SCALE_DOWN_THRESHOLD:.6,MOTION_RESOLUTION_FACTOR:.8,MOTION_BITRATE_FACTOR:.6,DETAIL_FRAMERATE_FACTOR:.8,DETAIL_BITRATE_FACTOR:.6,BALANCE_RESOLUTION_FACTOR:.9,BALANCE_FRAMERATE_FACTOR:.9,BALANCE_BITRATE_FACTOR:.6,OVERUSE_TIMES_THRESHOLD:10,UNDERUSE_TIMES_THRESHOLD:40},fI="v4.22.0-0-g8569241d-dirty(8/15/2024, 7:04:06 PM)",Pr=pt(pt({PROCESS_ID:"",ENCRYPT_AES:!0,AREAS:["CHINA","GLOBAL"],WEBCS_DOMAIN:["webrtc2-ap-web-1.agora.io","webrtc2-2.ap.sd-rtn.com"],WEBCS_DOMAIN_BACKUP_LIST:["webrtc2-ap-web-3.agora.io","webrtc2-4.ap.sd-rtn.com"],PROXY_CS:["ap-proxy-1.agora.io","ap-proxy-2.agora.io"],CDS_AP:["cds-ap-web-1.agora.io","cds-web-2.ap.sd-rtn.com","cds-ap-web-3.agora.io","cds-web-4.ap.sd-rtn.com"],ACCOUNT_REGISTER:["sua-ap-web-1.agora.io","sua-web-2.ap.sd-rtn.com","sua-ap-web-3.agora.io","sua-web-4.ap.sd-rtn.com"],UAP_AP:["uap-ap-web-1.agora.io","uap-web-2.ap.sd-rtn.com","uap-ap-web-3.agora.io","uap-web-4.ap.sd-rtn.com"],LOG_UPLOAD_SERVER:"logservice.agora.io",EVENT_REPORT_DOMAIN:"statscollector-1.agora.io",EVENT_REPORT_BACKUP_DOMAIN:"web-2.statscollector.sd-rtn.com",ENABLE_EVENT_REPORT:!0,GATEWAY_ADDRESS:[],GATEWAY_WSS_ADDRESS:"",LIVE_STREAMING_ADDRESS:"",HTTP_CONNECT_TIMEOUT:5e3,SIGNAL_REQUEST_TIMEOUT:1e4,REPORT_STATS:!0,UPLOAD_LOG:!1,NOT_REPORT_EVENT:[],PING_PONG_TIME_OUT:10,WEBSOCKET_TIMEOUT_MIN:1e4,EVENT_REPORT_SEND_INTERVAL:3e3,CONFIG_DISTRIBUTE_INTERVAL:3e5,ENABLE_CONFIG_DISTRIBUTE:!0,CANDIDATE_TIMEOUT:5e3,SHOW_REPORT_INVOKER_LOG:!1,JOIN_EXTEND:"",PUB_EXTEND:"",SUB_EXTEND:"",FORCE_TURN:!1,TURN_ENABLE_TCP:!0,TURN_ENABLE_UDP:!0,MAX_UPLOAD_CACHE:50,UPLOAD_CACHE_INTERVAL:2e3,AJAX_REQUEST_CONCURRENT:3,REPORT_APP_SCENARIO:void 0,GATEWAY_DOMAINS:["edge.agora.io","edge.sd-rtn.com"],CONNECT_GATEWAY_WITHOUT_DOMAIN:!1,WORKER_DOMAIN:"edge.agora.io",TURN_DOMAIN:"edge.agora.io",EVENT_REPORT_RETRY:!0,CHROME_FORCE_PLAN_B:!1,AUDIO_SOURCE_VOLUME_UPDATE_INTERVAL:400,AUDIO_SOURCE_AVG_VOLUME_DURATION:3e3,AUDIO_VOLUME_INDICATION_INTERVAL:2e3,VOLUME_VOICE_WEIGHT:10,GET_VOLUME_OF_MUTED_AUDIO_TRACK:!1,STATS_UPDATE_INTERVAL:250,NORMAL_EVENT_QUEUE_CAPACITY:100,CUSTOM_REPORT:!0,CUSTOM_REPORT_LIMIT:20,PROXY_SERVER_TYPE2:"webnginx-proxy.agora.io",PROXY_SERVER_TYPE3:["webrtc-cloud-proxy.sd-rtn.com","webrtc-cloud-proxy.agora.io"],CUSTOM_PUB_ANSWER_MODIFIER:null,CUSTOM_SUB_ANSWER_MODIFIER:null,CUSTOM_PUB_OFFER_MODIFIER:null,CUSTOM_SUB_OFFER_MODIFIER:null,DSCP_TYPE:"high",REMOVE_NEW_CODECS:!0,FRAGEMENT_LENGTH:3,WEBSOCKET_COMPRESS:!1,SIMULCAST:!1,PRELOAD_MEDIA_COUNT:0,CHECK_VIDEO_VISIBLE_INTERVAL:3e4,CHECK_LOCAL_STATS_INTERVAL:250,PROFILE_SWITCH_INTERVAL:2e3,UNSUPPORTED_VIDEO_CODEC:[],ENUMERATE_DEVICES_INTERVAL:!1,ENUMERATE_DEVICES_INTERVAL_TIME:1e4,USE_NEW_TOKEN:!1,CLOSE_AFB_FOR_LOCAL_AP:!0,JOIN_MAX_CONCURRENCY:6,JOIN_WITH_FALLBACK_SIGNAL_PROXY:!0,JOIN_WITH_FALLBACK_MEDIA_PROXY:!0,JOIN_WITH_FALLBACK_MEDIA_PROXY_FORCE:!1,JOIN_GATEWAY_TRY_443PORT_DURATION:2e3,JOIN_GATEWAY_USE_443PORT_ONLY:!1,JOIN_GATEWAY_USE_DUAL_DOMAIN:!0,JOIN_GATEWAY_FALLBACK_PORT:443,USE_TURN_SERVER_OF_GATEWAY:!1,H264_PROFILE_LEVEL_ID:"",USE_NEW_LOG:!1,LOG_VERSION:3,MEDIA_DEVICE_CONSTRAINTS:null,ENCRYPT_PROXY_USERNAME_AND_PSW:!0,SDP_LOGGING:!1,CSP_DETECTED_HOSTNAME_LIST:["agora.io","sd-rtn.com"],REMOTE_AUDIO_TRACK_USES_WEB_AUDIO:!1,LOCAL_AUDIO_TRACK_USES_WEB_AUDIO:!1,BITRATE_ADAPTER_TYPE:"STANDARD_BITRATE",AI_DENOISER_PARAMETERS:{excludedLinks:[]},ADJUST_3A_FROM_PLUGINS:!0,RAISE_H264_BASELINE_PRIORITY:!0,FILTER_SEND_H264_BASELINE:!1,X_GOOGLE_START_BITRATE:void 0,NEW_REPORT_SERVER:!1,NEW_REPORT_SERVER_DOMAINS:["data-reporting.agora.io","data-reporting.agora.io"],VIDEO_INSPECT_WORKER_MESSAGE_LENGTH_LIMIT:3e5,VIDEO_INSPECT_INTERVAL_MINIMUM:1e3,VIDEO_INSPECT_QUALITY_RATIO:.9,VIDEO_INSPECT_WORKER_MANAGER_HOST:"edge.agora.io",VIDEO_INSPECT_WORKER_MANAGER_PORT:"",VIDEO_INSPECT_WORKER_PORT:"",SHOW_VIDEO_INSPECT_WORKER_MESSAGE:!1,STATS_COLLECTOR_PORT:443,FORCE_TURN_TCP:!1,WEBAUDIO_INIT_OPTIONS:void 0,FILTER_VIDEO_FEC:!0,FILTER_AUDIO_FEC:!1,CHROME_DUAL_STREAM_USE_ENCODING:!0,DISABLE_DUAL_STREAM_USE_ENCODING:!1,EXTENSION_USAGE_UPLOAD_INTERVAL:1e4,ICE_RESTART:!0,ICE_RESTART_INTERVAL:1e4,NEW_ICE_RESTART:!1,TRANSMITTER_INITIAL_RTT:30,TRANSMITTER_INITIAL_RTO:30,TRANSMITTER_MAX_BATCH_ACK_COUNT:2,TRANSMITTER_MAX_RTO:500,DATACHANNEL_COMPRESS:!1,FINGERPRINT:null,DC_JOIN_WITH_FAILBACK:5e3,ENABLE_VIDEO_FRAME_CALLBACK:!0,VIDEO_FREEZE_DURATION:500,SPATIALIZER_PARAMETERS:{},UPLOAD_LOG_INTERVAL:3e3,UPLOAD_LOG_REQUEST_RETRY_INTERVAL:2e3,UPLOAD_LOG_REQUEST_MAX_RETRY_INTERVAL:2e4,UPLOAD_LOG_TRY_INTERVAL_WHILE_OFF:5e3,UPLOAD_LOG_RETRY_INTERVAL_V1:1e4,UPLOAD_LOG_TWICE_RETRY_INTERVAL_V1:200,UPLOAD_LOG_LENGTH_EACH_TIME:10,APP_TYPE:0,DISABLE_WEBAUDIO:!1,CHANNEL_MEDIA_RELAY_SERVERS:void 0,KEEP_LAST_FRAME:!0,FORWARD_P2P_CREATION:!0,SYNC_GROUP:!0,BLOCK_LOCAL_CLIENT:!1,AP_AREA:!0,ENABLE_ENCODED_TRANSFORM:!1,ENABLE_VIDEO_SEI:!1,IMAGE_MODERATION_WORKER_HOST:"edge.agora.io",IMAGE_MODERATION_WORKER_MESSAGE_LENGTH_LIMIT:3e5,IMAGE_MODERATION_INTERVAL_MINIMUM:1e3,SHOW_IMAGE_MODERATION_WORKER_MESSAGE:!1,IMAGE_MODERATION_QUALITY_RATIO:.9,IMAGE_MODERATION_UPLOAD_REPORT_INTERVAL:5e3,SHOW_GLOBAL_CLIENT_LIST:!1,DATASTREAM_MAX_RETRANSMITS:10,TCP_CANDIDATE_ONLY:!1,EXTERNAL_SIGNAL_REQUEST_TIMEOUT:3e3,SHOW_P2P_LOG:!1,MAX_P2P_TIMEOUT:3e4,P2P_TOKEN_INTERVAL:1e3,SHOW_DATASTREAM2_LOG:!1,RESTRICTION_SET_PLAYBACK_DEVICE:!0,USE_PURE_ENCRYPTION_MASTER_KEY:!1,ACCOUNT_REGISTER_RETRY_TIMEOUT:1,ACCOUNT_REGISTER_RETRY_RATIO:2,ACCOUNT_REGISTER_RETRY_TIMEOUT_MAX:6e4,ACCOUNT_REGISTER_RETRY_COUNT_MAX:1e5,AUDIO_CONTEXT:null,WEBCS_BACKUP_CONNECT_TIMEOUT:6e3,PLAYER_STATE_DEFER:2e3,SIGNAL_REQUEST_WATCH_INTERVAL:1e3,FILEPATH_LENMAX:255,DUALSTREAM_OPERATION_CHECK:!0,MEDIA_ELEMENT_EXISTS_DEPTH:3,SHIM_CANDIDATE:!1,LEAVE_MSG_TIMEOUT:2e3,STATS_FILTER:{transportId:!0,googTrackId:!0},FILTER_VIDEO_CODEC:[],USE_NEW_NETWORK_CONFIG:!1,AUTO_RESET_AUDIO_ROUTE:!1,PLUGIN_INFO:[],OVERUSE_DETECTOR_PARAMS:dI,ENABLE_AG_ADAPTATION:!0,FORCE_AG_HIGH_FRAMERATE:!1,FORCE_SUPPORT_AG_ADAPTATION:!1,CUSTOM_ADAPTATION_DEFAULT_MODE:"",ENCODER_CONFIG_LIMIT:{},CAMERA_CAPTURE_CONFIG:void 0,HIDE_NO_POSTER:!1,AP_CACHE_NUM:10,AP_UPDATE_INTERVAL:12e4,AP_CACHE_LIFETIME:12e4,MAX_PRELOAD_ASYNC_LENGTH:3,ENABLE_PRELOAD:!0},{ENABLE_PUBLISHED_USER_LIST:!0,MAX_SUBSCRIPTION:50,SUBSCRIBE_AUDIO_FILTER_TOPN:void 0,ENABLE_PUBLISH_AUDIO_FILTER:void 0,ENABLE_USER_LICENSE_CHECK:!0,USE_PUB_RTX:!0,USE_SUB_RTX:!0,DISABLE_FEC:void 0,ENABLE_NTP_REPORT:!1,ENABLE_INSTANT_VIDEO:!1,ENABLE_DATASTREAM_2:!1,ENABLE_USER_AUTO_REBALANCE_CHECK:!0,USE_XR:!0,ENABLE_LOSSBASED_BWE:!0,ENABLE_AUT_CC:!1,ENABLE_CC_FALLBACK:void 0,ENABLE_PREALLOC_PC:!1,SUBSCRIBE_TWCC:!0,PUBLISH_TWCC:!1,ENABLE_SVC:!1,ENABLE_SVC_DEFAULT_CODECS:["H264","VP8","VP9","AV1"],SVC:[],ENABLE_FULL_LINK_AV_SYNC:!1,SVC_MODE:null,PRE_SUB_NUM:2,ENABLE_PRE_SUB:!1,ENABLE_AUT_FEEDBACK:!1}),{},{USE_CANDIDATE_FROM_AP_DETAIL:!1});function Dn(e,t,n){var r,i,o;lt(r=Object.keys(Pr)).call(r,e)&&(!n&&lt(i=Object.keys(bd)).call(i,e)||(Pr[e]=t,e==="ENABLE_VIDEO_SEI"&&t===!0&&(Pr.ENABLE_ENCODED_TRANSFORM=!0),e==="USE_NEW_NETWORK_CONFIG"&&t&&(o=!!t,Pr.USE_NEW_NETWORK_CONFIG=o,o&&(Pr.WEBCS_DOMAIN=["webrtc2-2.ap.sd-rtn.com"],Pr.WEBCS_DOMAIN_BACKUP_LIST=["webrtc2-4.ap.sd-rtn.com"],Pr.CDS_AP=["cds-web-2.ap.sd-rtn.com","cds-web-4.ap.sd-rtn.com"],Pr.ACCOUNT_REGISTER=["sua-web-2.ap.sd-rtn.com","sua-web-4.ap.sd-rtn.com"],Pr.EVENT_REPORT_DOMAIN="web-2.statscollector.sd-rtn.com",Pr.EVENT_REPORT_BACKUP_DOMAIN="statscollector-1.agora.io",Pr.GATEWAY_DOMAINS=["edge.sd-rtn.com"])),e==="ENABLE_PRE_SUB"&&t&&(Pr.ENABLE_INSTANT_VIDEO=!0,Pr.ENABLE_PREALLOC_PC=!0),e==="ENABLE_SVC"&&t&&(Pr.ENABLE_AUT_CC=!0)))}function he(e){return Pr[e]}const bd={};var Qt=(function(e){return e.SET_SESSION_ID="SET_SESSION_ID",e.SET_P2P_ID="SET_P2P_id",e.SET_DC_ID="SET_DC_id",e.SET_UID="SET_UID",e.SET_INT_UID="SET_INT_UID",e.SET_PUB_ID="SET_PUB_ID",e.SET_CLOUD_PROXY_SERVER_MODE="SET_CLOUD_PROXY_SERVER_MODE",e.KEY_METRIC_CLIENT_CREATED="KEY_METRIC_CLIENT_CREATED",e.KEY_METRIC_JOIN_START="KEY_METRIC_JOIN_START",e.AVOID_JOIN_START="AVOID_JOIN_START",e.KEY_METRIC_JOIN_END="KEY_METRIC_JOIN_END",e.KEY_METRIC_REQUEST_AP_START="KEY_METRIC_REQUEST_AP_START",e.KEY_METRIC_REQUEST_AP_END="KEY_METRIC_REQUEST_AP_END",e.KEY_METRIC_JOIN_GATEWAY_START="KEY_METRIC_JOIN_GATEWAY_START",e.KEY_METRIC_JOIN_GATEWAY_END="KEY_METRIC_JOIN_GATEWAY_END",e.KEY_METRIC_PEER_CONNECTION_START="KEY_METRIC_PEER_CONNECTION_START",e.KEY_METRIC_PEER_CONNECTION_END="KEY_METRIC_PEER_CONNECTION_END",e.KEY_METRIC_DESCRIPTION_START="KEY_METRIC_DESCRIPTION_START",e.KEY_METRIC_ICE_CONNECTION_END="KEY_METRIC_ICE_CONNECTION_END",e.KEY_METRIC_SIGNAL_CHANNEL_OPEN="KEY_METRIC_SIGNAL_CHANNEL_OPEN",e.KEY_METRIC_PUBLISH="KEY_METRIC_PUBLISH",e.KEY_METRIC_SUBSCRIBE="KEY_METRIC_SUBSCRIBE",e.RECORD_JOIN_CHANNEL_SERVICE="RECORD_JOIN_CHANNEL_SERVICE",e.RESET_JOIN_CHANNEL_SERVICE_RECORDS="RESET_JOIN_CHANNEL_SERVICE_RECORDS",e.RESET_KEY_METRICS="RESET_KEY_METRICS",e.SET_USE_P2P="SET_USE_P2P",e.SET_TRANSPORT_TYPE="SET_TRANSPORT_TYPE",e})(Qt||{});class tNe{constructor(t,n,r,i){er(this,"state",void 0),this.state={codec:t,audioCodec:n,mode:r,clientId:i,sessionId:null,p2pId:0,dcId:0,pubId:0,subId:0,avoidJoinStart:0,keyMetrics:{publish:[],subscribe:[]},joinChannelServiceRecords:[],cloudProxyServerMode:"disabled",useP2P:!1,p2pTransport:S0.Default}}dispatch(t){this.state=(function(n,r){switch(r.type){case Qt.SET_SESSION_ID:return pt(pt({},n),{},{sessionId:r.sessionId});case Qt.SET_P2P_ID:return pt(pt({},n),{},{p2pId:r.p2pId});case Qt.SET_UID:return pt(pt({},n),{},{uid:r.uid});case Qt.SET_INT_UID:return pt(pt({},n),{},{intUid:r.intUid});case Qt.SET_PUB_ID:return pt(pt({},n),{},{pubId:r.pubId});case Qt.KEY_METRIC_CLIENT_CREATED:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{clientCreated:r.metric})});case Qt.KEY_METRIC_JOIN_START:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{joinStart:r.metric})});case Qt.AVOID_JOIN_START:return pt(pt({},n),{},{avoidJoinStart:r.avoidJoinStart});case Qt.KEY_METRIC_JOIN_END:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{joinEnd:r.metric})});case Qt.KEY_METRIC_REQUEST_AP_START:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{requestAPStart:r.metric})});case Qt.KEY_METRIC_REQUEST_AP_END:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{requestAPEnd:r.metric})});case Qt.KEY_METRIC_JOIN_GATEWAY_START:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{joinGatewayStart:r.metric})});case Qt.KEY_METRIC_JOIN_GATEWAY_END:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{joinGatewayEnd:r.metric})});case Qt.KEY_METRIC_PEER_CONNECTION_START:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{peerConnectionStart:r.metric})});case Qt.KEY_METRIC_PEER_CONNECTION_END:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{peerConnectionEnd:r.metric})});case Qt.KEY_METRIC_DESCRIPTION_START:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{descriptionStart:r.metric})});case Qt.KEY_METRIC_SIGNAL_CHANNEL_OPEN:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{signalChannelOpen:r.metric})});case Qt.KEY_METRIC_ICE_CONNECTION_END:return pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{iceConnectionEnd:r.metric})});case Qt.KEY_METRIC_PUBLISH:{const i=n.keyMetrics.publish,o=i.findIndex((s=>s.trackId===r.metric.trackId));return o!==-1?(i[o]=pt(pt({},i[o]),r.metric),pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{publish:[...i]})})):pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{publish:[...n.keyMetrics.publish,r.metric]})})}case Qt.KEY_METRIC_SUBSCRIBE:{const i=n.keyMetrics.subscribe,o=i.findIndex((s=>s.userId===r.metric.userId&&s.type===r.metric.type));return o!==-1?(i[o]=pt(pt({},i[o]),r.metric),pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{subscribe:[...i]})})):pt(pt({},n),{},{keyMetrics:pt(pt({},n.keyMetrics),{},{subscribe:[...n.keyMetrics.subscribe,r.metric]})})}case Qt.SET_CLOUD_PROXY_SERVER_MODE:return n.cloudProxyServerMode=r.mode,n;case Qt.RECORD_JOIN_CHANNEL_SERVICE:return typeof r.index!="number"?n.joinChannelServiceRecords=[...n.joinChannelServiceRecords,r.record]:(n.joinChannelServiceRecords[r.index]=pt(pt({},n.joinChannelServiceRecords[r.index]),r.record),n.joinChannelServiceRecords=[...n.joinChannelServiceRecords]),n;case Qt.RESET_JOIN_CHANNEL_SERVICE_RECORDS:return n.joinChannelServiceRecords=[],n;case Qt.RESET_KEY_METRICS:return n.keyMetrics={publish:[],subscribe:[]},n;case Qt.SET_USE_P2P:return pt(pt({},n),{},{useP2P:r.val});case Qt.SET_TRANSPORT_TYPE:return pt(pt({},n),{},{p2pTransport:r.val});default:return n}})(this.state,t)}set sessionId(t){this.dispatch({type:Qt.SET_SESSION_ID,sessionId:t})}get sessionId(){return this.state.sessionId}set codec(t){this.state.codec=t}get codec(){return this.state.codec}get mode(){return this.state.mode}get audioCodec(){return this.state.audioCodec}get clientId(){return this.state.clientId}set p2pId(t){this.dispatch({type:Qt.SET_P2P_ID,p2pId:t})}get p2pId(){return this.state.p2pId}set dcId(t){this.dispatch({type:Qt.SET_DC_ID,dcId:t})}get dcId(){return this.state.dcId}set uid(t){this.dispatch({type:Qt.SET_UID,uid:t})}get uid(){return this.state.uid}set intUid(t){this.dispatch({type:Qt.SET_INT_UID,intUid:t})}get intUid(){return this.state.intUid}set pubId(t){this.dispatch({type:Qt.SET_PUB_ID,pubId:t})}get pubId(){return this.state.pubId}set cloudProxyServerMode(t){this.dispatch({type:Qt.SET_CLOUD_PROXY_SERVER_MODE,mode:t})}get cloudProxyServerMode(){return this.state.cloudProxyServerMode}set useP2P(t){this.dispatch({type:Qt.SET_USE_P2P,val:t})}get useP2P(){return this.state.useP2P}set p2pTransport(t){this.dispatch({type:Qt.SET_TRANSPORT_TYPE,val:t})}get p2pTransport(){return this.state.p2pTransport}clientCreated(){this.dispatch({type:Qt.KEY_METRIC_CLIENT_CREATED,metric:Date.now()})}joinStart(){this.dispatch({type:Qt.KEY_METRIC_JOIN_START,metric:Date.now()})}joinEnd(){this.dispatch({type:Qt.KEY_METRIC_JOIN_END,metric:Date.now()})}requestAPStart(){this.dispatch({type:Qt.KEY_METRIC_REQUEST_AP_START,metric:Date.now()})}requestAPEnd(){this.dispatch({type:Qt.KEY_METRIC_REQUEST_AP_END,metric:Date.now()})}joinGatewayStart(){this.dispatch({type:Qt.KEY_METRIC_JOIN_GATEWAY_START,metric:Date.now()})}joinGatewayEnd(){this.dispatch({type:Qt.KEY_METRIC_JOIN_GATEWAY_END,metric:Date.now()})}peerConnectionStart(){this.dispatch({type:Qt.KEY_METRIC_PEER_CONNECTION_START,metric:Date.now()})}peerConnectionEnd(){this.dispatch({type:Qt.KEY_METRIC_PEER_CONNECTION_END,metric:Date.now()})}descriptionStart(){this.dispatch({type:Qt.KEY_METRIC_DESCRIPTION_START,metric:Date.now()})}signalChannelOpen(){this.dispatch({type:Qt.KEY_METRIC_SIGNAL_CHANNEL_OPEN,metric:Date.now()})}iceConnectionEnd(){this.dispatch({type:Qt.KEY_METRIC_ICE_CONNECTION_END,metric:Date.now()})}publish(t,n,r,i){this.dispatch({type:Qt.KEY_METRIC_PUBLISH,metric:pt(pt({trackId:t,type:n},r&&{publishStart:r}),i&&{publishEnd:i})})}subscribe(t,n,r,i,o,s,a){this.dispatch({type:Qt.KEY_METRIC_SUBSCRIBE,metric:pt(pt(pt(pt(pt({userId:t,type:n},r&&{subscribeStart:r}),i&&{subscribeEnd:i}),o&&{firstFrame:o}),s&&{streamAdded:s}),a&&{firstDecoded:a})})}massSubscribe(t,n,r,i){t.forEach((o=>{this.dispatch({type:Qt.KEY_METRIC_SUBSCRIBE,metric:pt(pt(pt({userId:o.userId,type:o.type},n&&{subscribeStart:n}),r&&{subscribeEnd:r}),i&&{firstFrame:i})})}))}get keyMetrics(){return this.state.keyMetrics}recordJoinChannelService(t,n){t.service==="gateway"&&Array.isArray(t.urls)&&(t.urls=t.urls.map((r=>r.replace(/(\d+)-\d+-\d+-(\d+)/,"$1-*-*-$2"))));try{return typeof n!="number"?(this.dispatch({type:Qt.RECORD_JOIN_CHANNEL_SERVICE,record:pt(pt({},t),{},{sessionId:this.sessionId,cloudProxyMode:this.cloudProxyServerMode,uid:this.uid})}),this.state.joinChannelServiceRecords.length-1):(n<0||n>=this.state.joinChannelServiceRecords.length||this.dispatch({type:Qt.RECORD_JOIN_CHANNEL_SERVICE,record:t,index:n}),n)}catch{return 0}}resetJoinChannelServiceRecords(){this.dispatch({type:Qt.RESET_JOIN_CHANNEL_SERVICE_RECORDS})}resetKeyMetrics(){this.dispatch({type:Qt.RESET_KEY_METRICS})}get joinChannelServiceRecords(){try{return this.state.joinChannelServiceRecords}catch{return[]}}get avoidJoinStart(){return this.state.avoidJoinStart}set avoidJoinStart(t){this.dispatch({type:Qt.AVOID_JOIN_START,avoidJoinStart:t})}}let f6=(function(e){return e.h264="h264",e.h265="h265",e.vp8="vp8",e.vp9="vp9",e.av1="av1",e})({});(function(e){e.opus="opus",e.pcma="pcma",e.pcmu="pcmu",e.g722="g722"})({});const mM=128,nNe=96,gM=1e3,Yf=10;let rNe=0;function Ir(e,t,n){return(t=(function(r){var i=(function(o,s){if(typeof o!="object"||!o)return o;var a=o[Symbol.toPrimitive];if(a!==void 0){var c=a.call(o,"string");if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(o)})(r);return typeof i=="symbol"?i:i+""})(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Gt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vM(Object(n),!0).forEach((function(r){Ir(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vM(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const bq=new class extends fr{constructor(){super(...arguments),Ir(this,"currentUploadLogID",0)}reportLogUploadError(e){const{errorRange:t}=e;t[t.length-1]&&t[t.length-1]>this.currentUploadLogID&&(this.currentUploadLogID=t[t.length-1],this.emit("REPORT_LOG_UPLOAD",e))}};class iNe{constructor(t){Ir(this,"logger",void 0),Ir(this,"prefixLists",[]),this.logger=t}debug(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];this.logger.debug(...this.prefixLists,...n)}info(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];this.logger.info(...this.prefixLists,...n)}warning(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];this.logger.warning(...this.prefixLists,...n)}error(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];this.logger.error(...this.prefixLists,...n)}prefix(t){return this.prefixLists.push(t),this}popPrefix(){return this.prefixLists.pop(),this}}function N9(){const e=new Date;return e.toTimeString().split(" ")[0]+":"+e.getMilliseconds()}function yM(){const e=new Date,t=/((\d+:){2}\d+)/.exec(new Date().toUTCString());return t?(t==null?void 0:t[0])+":"+e.getUTCMilliseconds():e.toTimeString().split(" ")[0]+":"+e.getMilliseconds()}const Qs={DEBUG:0,INFO:1,WARNING:2,ERROR:3,NONE:4},a5=Date.now(),y1=e=>{for(const t in Qs)if(Object.prototype.hasOwnProperty.call(Qs,t)&&Qs[t]===e)return t;return"DEFAULT"},D=new class{constructor(){Ir(this,"proxyServerURL",void 0),Ir(this,"logLevel",Qs.DEBUG),Ir(this,"uploadState","collecting"),Ir(this,"uploadLogWaitingList",[]),Ir(this,"uploadLogUploadingList",[]),Ir(this,"uploadErrorCount",0),Ir(this,"currentLogID",0),Ir(this,"url",void 0),Ir(this,"extLog",((e,t)=>{this.appendLogToWaitingList(e,...t)}))}debug(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=[Qs.DEBUG].concat(t);this.log.apply(this,r)}info(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=[Qs.INFO].concat(t);this.log.apply(this,r)}warning(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=[Qs.WARNING].concat(t);this.log.apply(this,r)}warn(){this.warning(...arguments)}error(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=[Qs.ERROR].concat(t);this.log.apply(this,r)}upload(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r=[Qs.DEBUG].concat(t);this.uploadLog.apply(this,r)}setLogLevel(e){e=Math.min(Math.max(0,e),4),this.logLevel=e}enableLogUpload(){Dn("UPLOAD_LOG",!0)}disableLogUpload(){Dn("UPLOAD_LOG",!1),this.uploadLogUploadingList=[],this.uploadLogWaitingList=[]}setProxyServer(e){this.proxyServerURL=e}prefix(e){return new iNe(this).prefix(e)}log(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(Date.now()-a5<100)return void setTimeout((()=>{this.log(...t)}),Date.now()-a5);const r=Math.max(0,Math.min(4,t[0]));if(t[0]=N9()+" Agora-SDK [".concat(y1(r),"]:"),this.appendLogToWaitingList(r,...t),r<this.logLevel)return;const i=N9()+" %cAgora-SDK [".concat(y1(r),"]:");let o=[];if(!he("USE_NEW_LOG"))switch(r){case Qs.DEBUG:o=[i,"color: #64B5F6;"].concat(t.slice(1)),console.log.apply(console,o);break;case Qs.INFO:o=[i,"color: #1E88E5; font-weight: bold;"].concat(t.slice(1)),console.log.apply(console,o);break;case Qs.WARNING:o=[i,"color: #FB8C00; font-weight: bold;"].concat(t.slice(1)),console.warn.apply(console,o);break;case Qs.ERROR:o=[i,"color: #B00020; font-weight: bold;"].concat(t.slice(1)),console.error.apply(console,o)}}uploadLog(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(Date.now()-a5<100)return void setTimeout((()=>{this.uploadLog(...t)}),Date.now()-a5);const r=Math.max(0,Math.min(4,t[0]));t[0]=N9()+" Agora-SDK [".concat(y1(r),"]:"),this.appendLogToWaitingList(r,...t)}appendLogToWaitingList(e){if(!he("UPLOAD_LOG"))return;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];Array.isArray(n[0])?n[0][0]=yM()+" Agora-SDK [".concat(y1(e),"]:"):n[0]=yM()+" Agora-SDK [".concat(y1(e),"]:");let i="";n.forEach((o=>{typeof o=="object"&&(o=JSON.stringify(o)),i+="".concat(o," ")})),this.uploadLogWaitingList.push({payload_str:i,log_level:e,log_item_id:this.currentLogID++}),this.uploadState==="uploading"&&this.uploadLogUploadingList.length===0&&this.uploadLogInterval()}startUpload(){this.uploadState="uploading",this.uploadLogUploadingList.length===0&&this.uploadLogInterval()}async uploadLogs(){const e=this.uploadLogUploadingList,t={sdk_version:oa,process_id:he("PROCESS_ID"),payload:JSON.stringify(e)};return wc((async()=>{const n=await Lo.post(this.url||(this.proxyServerURL?"https://".concat(this.proxyServerURL,"/ls/?h=").concat(he("LOG_UPLOAD_SERVER"),"&p=443&d=upload/v1"):"https://".concat(he("LOG_UPLOAD_SERVER"),"/upload/v1")),t,{responseType:"text"});if(n.data!=="OK"){const r=new Error("unexpected upload log response");throw r.response=n,r}}),(()=>(this.uploadLogUploadingList=[],!1)),(n=>{const r={status:-1,message:n.message,errorRange:e.map((i=>i.log_item_id))};return n.response?(r.status=n.response.status,r.data=n.response.data,r.headers=n.response.headers):n.request&&(r.status=n.request.status),bq.reportLogUploadError(r),!0}),{timeout:he("UPLOAD_LOG_REQUEST_RETRY_INTERVAL"),maxRetryTimeout:he("UPLOAD_LOG_REQUEST_MAX_RETRY_INTERVAL")})}uploadLogInterval(){this.uploadLogUploadingList.length===0&&this.uploadLogWaitingList.length===0||(this.uploadLogUploadingList.length===0&&(this.uploadLogUploadingList=this.uploadLogWaitingList.splice(0,he("UPLOAD_LOG_LENGTH_EACH_TIME"))),this.uploadLogs().then((()=>{this.uploadErrorCount=0,this.uploadLogWaitingList.length>0&&window.setTimeout((()=>this.uploadLogInterval()),he("UPLOAD_LOG_INTERVAL"))})).catch((e=>{this.uploadErrorCount+=1,this.uploadErrorCount<2?window.setTimeout((()=>this.uploadLogInterval()),he("UPLOAD_LOG_TWICE_RETRY_INTERVAL_V1")):window.setTimeout((()=>this.uploadLogInterval()),he("UPLOAD_LOG_RETRY_INTERVAL_V1"))})))}};var EM;function oNe(e){return pi(e.reportId,"params.reportId",0,100,!1),pi(e.category,"params.category",0,100,!1),pi(e.event,"params.event",0,100,!1),pi(e.label,"params.label",0,100,!1),Ln(e.value,"params.value",Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,!1),!0}(EM={}).FREE="free",EM.UPLOADING="uploading",(function(e){e[e.MISC=0]="MISC",e[e.INTERNAL_EVENT=1]="INTERNAL_EVENT",e[e.PUBLIC_EVENT=2]="PUBLIC_EVENT",e[e.WEB_EVENT=3]="WEB_EVENT",e[e.INTERNAL_API=4]="INTERNAL_API",e[e.WEB_API=5]="WEB_API",e[e.PUBLIC_API=6]="PUBLIC_API"})({});const sNe={sid:"",lts:0,success:null,cname:null,uid:null,peer:null,cid:null,elapse:null,extend:null,vid:0};let hi=(function(e){return e.PUBLISH="publish",e.SUBSCRIBE="subscribe",e.WS_COMPRESSOR_INIT="ws_compressor_init",e.SESSION_INIT="session_init",e.JOIN_CHOOSE_SERVER="join_choose_server",e.REQ_USER_ACCOUNT="req_user_account",e.JOIN_GATEWAY="join_gateway",e.REJOIN_GATEWAY="rejoin_gateway",e.STREAM_SWITCH="stream_switch",e.REQUEST_PROXY_WORKER_MANAGER="request_proxy_worker_manager",e.REQUEST_PROXY_APPCENTER="request_proxy_appcenter",e.FIRST_VIDEO_RECEIVED="first_video_received",e.FIRST_AUDIO_RECEIVED="first_audio_received",e.FIRST_VIDEO_DECODE="first_video_decode",e.FIRST_AUDIO_DECODE="first_audio_decode",e.ON_ADD_AUDIO_STREAM="on_add_audio_stream",e.ON_ADD_VIDEO_STREAM="on_add_video_stream",e.ON_UPDATE_STREAM="on_update_stream",e.ON_REMOVE_STREAM="on_remove_stream",e.USER_ANALYTICS="req_user_analytics",e.PC_STATS="pc_stats",e.UPDATE_REMOTE_RTPCAPABILITIES="update_remote_rtpCapabilities",e})({}),dr=(function(e){return e.SESSION="io.agora.pb.Wrtc.Session",e.JOIN_CHOOSE_SERVER="io.agora.pb.Wrtc.JoinChooseServer",e.REQ_USER_ACCOUNT="io.agora.pb.Wrtc.ReqUserAccount",e.JOIN_GATEWAY="io.agora.pb.Wrtc.JoinGateway",e.RE_JOIN_GATEWAY="io.agora.pb.Wrtc.ReJoinGateway",e.PUBLISH="io.agora.pb.Wrtc.Publish",e.SUBSCRIBE="io.agora.pb.Wrtc.Subscribe",e.WS_COMPRESSOR_INIT="io.agora.pb.Wrtc.WsCompressorInit",e.STREAM_SWITCH="io.agora.pb.Wrtc.StreamSwitch",e.AUDIO_SENDING_STOPPED="io.agora.pb.Wrtc.AudioSendingStopped",e.VIDEO_SENDING_STOPPED="io.agora.pb.Wrtc.VideoSendingStopped",e.REQUEST_PROXY_APPCENTER="io.agora.pb.Wrtc.RequestProxyAppCenter",e.REQUEST_PROXY_WORKER_MANAGER="io.agora.pb.Wrtc.RequestProxyWorkerManager",e.API_INVOKE="io.agora.pb.Wrtc.ApiInvoke",e.FIRST_VIDEO_RECEIVED="io.agora.pb.Wrtc.FirstVideoReceived",e.FIRST_AUDIO_RECEIVED="io.agora.pb.Wrtc.FirstAudioReceived",e.FIRST_VIDEO_DECODE="io.agora.pb.Wrtc.FirstVideoDecode",e.FIRST_AUDIO_DECODE="io.agora.pb.Wrtc.FirstAudioDecode",e.ON_ADD_AUDIO_STREAM="io.agora.pb.Wrtc.OnAddAudioStream",e.ON_ADD_VIDEO_STREAM="io.agora.pb.Wrtc.OnAddVideoStream",e.ON_UPDATE_STREAM="io.agora.pb.Wrtc.OnUpdateStream",e.ON_REMOVE_STREAM="io.agora.pb.Wrtc.OnRemoveStream",e.JOIN_CHANNEL_TIMEOUT="io.agora.pb.Wrtc.JoinChannelTimeout",e.PEER_PUBLISH_STATUS="io.agora.pb.Wrtc.PeerPublishStatus",e.WORKER_EVENT="io.agora.pb.Wrtc.WorkerEvent",e.AP_WORKER_EVENT="io.agora.pb.Wrtc.APWorkerEvent",e.JOIN_WEB_PROXY_AP="io.agora.pb.Wrtc.JoinWebProxyAP",e.WEBSOCKET_QUIT="io.agora.pb.Wrtc.WebSocketQuit",e.USER_ANALYTICS="io.agora.pb.Wrtc.UserAnalytics",e.AUTOPLAY_FAILED="io.agora.pb.Wrtc.AutoplayFailed",e.PC_STATS="io.agora.pb.Wrtc.PCStats",e.UPDATE_REMOTE_RTPCAPABILITIES="io.agora.pb.Wrtc.UpdateRemoteRTPCapabilities",e})({});(function(e){e[e.WORKER_EVENT=156]="WORKER_EVENT",e[e.AP_WORKER_EVENT=160]="AP_WORKER_EVENT"})({});let aNe=(function(e){return e[e.SESSION=26]="SESSION",e[e.JOIN_CHOOSE_SERVER=27]="JOIN_CHOOSE_SERVER",e[e.REQ_USER_ACCOUNT=196]="REQ_USER_ACCOUNT",e[e.JOIN_GATEWAY=28]="JOIN_GATEWAY",e[e.PUBLISH=30]="PUBLISH",e[e.SUBSCRIBE=29]="SUBSCRIBE",e[e.WS_COMPRESSOR_INIT=9430]="WS_COMPRESSOR_INIT",e[e.STREAM_SWITCH=32]="STREAM_SWITCH",e[e.AUDIO_SENDING_STOPPED=33]="AUDIO_SENDING_STOPPED",e[e.VIDEO_SENDING_STOPPED=34]="VIDEO_SENDING_STOPPED",e[e.REQUEST_PROXY_APPCENTER=35]="REQUEST_PROXY_APPCENTER",e[e.REQUEST_PROXY_WORKER_MANAGER=36]="REQUEST_PROXY_WORKER_MANAGER",e[e.API_INVOKE=41]="API_INVOKE",e[e.FIRST_VIDEO_RECEIVED=348]="FIRST_VIDEO_RECEIVED",e[e.FIRST_AUDIO_RECEIVED=349]="FIRST_AUDIO_RECEIVED",e[e.FIRST_VIDEO_DECODE=350]="FIRST_VIDEO_DECODE",e[e.FIRST_AUDIO_DECODE=351]="FIRST_AUDIO_DECODE",e[e.ON_ADD_AUDIO_STREAM=352]="ON_ADD_AUDIO_STREAM",e[e.ON_ADD_VIDEO_STREAM=353]="ON_ADD_VIDEO_STREAM",e[e.ON_UPDATE_STREAM=356]="ON_UPDATE_STREAM",e[e.ON_REMOVE_STREAM=355]="ON_REMOVE_STREAM",e[e.JOIN_CHANNEL_TIMEOUT=407]="JOIN_CHANNEL_TIMEOUT",e[e.PEER_PUBLISH_STATUS=408]="PEER_PUBLISH_STATUS",e[e.WORKER_EVENT=156]="WORKER_EVENT",e[e.AP_WORKER_EVENT=160]="AP_WORKER_EVENT",e[e.JOIN_WEB_PROXY_AP=700]="JOIN_WEB_PROXY_AP",e[e.WEBSOCKET_QUIT=671]="WEBSOCKET_QUIT",e[e.USER_ANALYTICS=1e4]="USER_ANALYTICS",e[e.AUTOPLAY_FAILED=9178]="AUTOPLAY_FAILED",e})({});class a2{constructor(){Ir(this,"baseInfoMap",new Map),Ir(this,"proxyServer",void 0),Ir(this,"eventUploadTimer",void 0),Ir(this,"setSessionIdTimer",void 0),Ir(this,"url",void 0),Ir(this,"backupUrl",void 0),Ir(this,"_appId",void 0),Ir(this,"keyEventUploadPendingItems",[]),Ir(this,"normalEventUploadPendingItems",[]),Ir(this,"apiInvokeUploadPendingItems",[]),Ir(this,"apiInvokeCount",0),Ir(this,"ltsList",[]),Ir(this,"lastSendNormalEventTime",Date.now()),Ir(this,"customReportCounterTimer",void 0),Ir(this,"customReportCount",0),Ir(this,"extApiInvoke",(async t=>{for(const n of t){const r=Gt(Gt({},n),{},{sid:null,invokeId:++this.apiInvokeCount,tag:vr.TRACER});this.sendApiInvoke(r)}})),this.eventUploadTimer=window.setInterval(this.doSend.bind(this),he("EVENT_REPORT_SEND_INTERVAL")),this.setSessionIdTimer=window.setInterval(this.appendSessionId.bind(this),he("EVENT_REPORT_SEND_INTERVAL"))}getBaseInfoBySessionId(t){return this.baseInfoMap.get(t)}adjustSessionStartTime(t){if(!this.baseInfoMap.has(t)&&!this.baseInfoMap.get(t))return void D.error("adjust session ".concat(t," start time, sid is not exist or info is undefined"));const n=this.baseInfoMap.get(t),r=Date.now(),i=n.startTime;n.startTime=r,D.debug("rewrite session ".concat(t," startTime: ").concat(r," , ").concat(r-i,"ms")),this.baseInfoMap.set(t,n)}setAppId(t){this._appId=t}reportApiInvoke(t,n,r){n.timeout=n.timeout||6e4,n.reportResult=n.reportResult===void 0||n.reportResult;const i=Date.now();this.apiInvokeCount+=1;const o=this.apiInvokeCount,s=()=>({tag:n.tag,invokeId:o,sid:t,name:n.name,apiInvokeTime:i,options:n.options,states:n.states||null}),a=!!he("SHOW_REPORT_INVOKER_LOG");a&&D.info("".concat(n.name," start"),n.options);let c=!1;Ei(n.timeout).then((()=>{c||(this.sendApiInvoke(Gt(Gt({},s()),{},{error:Q.API_INVOKE_TIMEOUT,success:!1})),D.debug("".concat(n.name," timeout")))}));const l=new Be(Q.UNEXPECTED_ERROR,"".concat(n.name,": this api invoke is end"));return{onSuccess:u=>{const d=()=>{if(c)throw l;return c=!0,this.sendApiInvoke(Gt(Gt({},s()),{},{success:!0},n.reportResult&&{result:u})),a&&D.info("".concat(n.name," onSuccess")),u};return r?dM(d,n.name+"Success",r,(()=>c=!0)):d()},onError:u=>{const d=()=>{if(c)throw u;c=!0,this.sendApiInvoke(Gt(Gt({},s()),{},{success:!1,error:u})),a&&D.info("".concat(n.name," onFailure"),u.toString())};return r?dM(d,n.name+"Error",r,(()=>c=!0)):d()}}}sessionInit(t,n){if(this.baseInfoMap.has(t))return;const r=Date.now(),i=this.createBaseInfo(t,r);i.cname=n.cname;const o=Object.assign({},{willUploadConsoleLog:he("UPLOAD_LOG"),maxTouchPoints:navigator.maxTouchPoints,areaVersion:uI?"global":"oversea",areas:he("AREAS")&&he("AREAS").join(",")},n.extend),{stringUid:s,channelProfile:a,channelMode:c,isABTestSuccess:l,lsid:u,clientRole:d}=n,f=Date.now(),h=Gt(Gt({},i),{},{eventType:hi.SESSION_INIT,appid:n.appid,browser:navigator.userAgent,buildFormat:n.buildFormat,build:fI,lts:f,elapse:f-r,extend:JSON.stringify(o),mode:n.mode,process:he("PROCESS_ID"),appType:he("APP_TYPE"),success:!0,version:oa,stringUid:s,channelProfile:a,channelMode:c,isABTestSuccess:l,lsid:u,clientType:lt(p=window.navigator.userAgent).call(p,"AgoraWebView")?42:20,clientRole:d,serviceId:he("PROCESS_ID"),extensionID:he("PLUGIN_INFO").join(",")||""});var p;this.send({type:dr.SESSION,data:h},!0)}joinChooseServer(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.JOIN_CHOOSE_SERVER,lts:o,eventElapse:n.elapse||o-n.lts,chooseServerAddr:n.csAddr,errorCode:n.ec,elapse:o-r.startTime,success:n.succ,chooseServerAddrList:JSON.stringify(n.serverList),uid:n.uid?parseInt(n.uid):null,cid:n.cid?parseInt(n.cid):null,chooseServerIp:n.csIp||"",opid:n.opid,unilbsServerIds:n.unilbsServerIds,extend:n.extend||void 0,isHttp3:n.isHttp3});this.send({type:dr.JOIN_CHOOSE_SERVER,data:s},!0)}reqUserAccount(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.REQ_USER_ACCOUNT,lts:o,success:n.success,serverAddress:n.serverAddr,stringUid:n.stringUid,uid:n.uid,errorCode:n.errorCode,elapse:n.elapse||o-r.startTime,eventElapse:o-n.lts,extend:JSON.stringify(n.extend)});this.send({type:dr.REQ_USER_ACCOUNT,data:s},!0)}joinGateway(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info;n.vid&&(i.vid=n.vid),i.uid=n.uid,i.cid=n.cid;const o=Date.now(),{firstSuccess:s,avoidJoinStartTime:a}=n,c=o-(s&&a?a:r.startTime),l=Gt(Gt({},i),{},{eventType:hi.JOIN_GATEWAY,lts:o,gatewayAddr:n.addr,success:n.succ,errorCode:n.ec,errorMsg:n.errorMsg||"",elapse:c,eventElapse:o-n.lts,firstSuccess:s,signalChannel:n.signalChannel,preload:n.preload?1:0});n.succ&&(r.lastJoinSuccessTime=o),this.send({type:dr.JOIN_GATEWAY,data:l},!0)}joinChannelTimeout(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=Date.now(),o=Gt(Gt({},r.info),{},{lts:i,timeout:n,elapse:i-r.startTime});this.send({type:dr.JOIN_CHANNEL_TIMEOUT,data:o},!0)}publish(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.PUBLISH,lts:o,eventElapse:n.eventElapse,elapse:o-r.startTime,success:n.succ,errorCode:n.ec,videoName:n.videoName,audioName:n.audioName,screenName:n.screenName,screenshare:n.screenshare,audio:n.audio,video:n.video,p2pid:n.p2pid,publishRequestid:n.publishRequestid});this.send({type:dr.PUBLISH,data:s},!0)}subscribe(t,n,r){const i=this.baseInfoMap.get(t);if(!i)return;const o=i.info,s=Date.now(),a=Gt(Gt({},o),{},{eventType:hi.SUBSCRIBE,lts:s,eventElapse:n.eventElapse,elapse:s-i.startTime,success:n.succ,errorCode:n.ec,video:n.video,audio:n.audio,subscribeRequestid:n.subscribeRequestid,p2pid:n.p2pid,preSsrc:n.preSsrc?1:0},r&&{extend:JSON.stringify({isMassSubscribe:!0})});typeof n.peerid=="string"?a.peerSuid=n.peerid:a.peer=n.peerid,this.send({type:dr.SUBSCRIBE,data:a},!0)}wsCompressorInit(t){var n;const r=[...Ts(n=this.baseInfoMap).call(n)],i=r.length?r[0]:"UnableToGetSid",o=this.baseInfoMap.get(i);if(!o)return;const s=o.info,a=Date.now(),c=Gt(Gt({},s),{},{eventType:hi.WS_COMPRESSOR_INIT,lts:a,eventElapse:t.eventElapse,elapse:a-o.startTime,status:t.status?1:2});this.send({type:dr.WS_COMPRESSOR_INIT,data:c},!0)}firstRemoteVideoDecode(t,n,r,i){const o=this.baseInfoMap.get(t);if(!o)return;const s=o.info,a=Date.now(),c=Gt(Gt(Gt({},s),i),{},{elapse:a-o.startTime,eventType:n,lts:a,firstDecodeFrame:Math.max((i.firstFrame||a)-o.startTime,0),apEnd:Math.max(i.apEnd-o.startTime,0),apStart:Math.max(i.apStart-o.startTime,0),joinGwEnd:Math.max(i.joinGwEnd-o.startTime,0),joinGwStart:Math.max(i.joinGwStart-o.startTime,0),pcEnd:Math.max(i.pcEnd-o.startTime,0),pcStart:Math.max(i.pcStart-o.startTime,0),subscriberEnd:Math.max(i.subscriberEnd-o.startTime,0),subscriberStart:Math.max(i.subscriberStart-o.startTime,0),videoAddNotify:Math.max(i.videoAddNotify-o.startTime,0)});this.send({type:r,data:c},!0)}firstRemoteFrame(t,n,r,i){const o=this.baseInfoMap.get(t);if(!o)return;const s=o.info,a=Date.now(),c=Gt(Gt(Gt({},s),i),{},{elapse:a-o.startTime,eventType:n,lts:a});this.send({type:r,data:c},!0)}pcStats(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt(Gt({},i),n),{},{vid:i.vid===void 0?0:Number(i.vid),elapse:o-r.startTime,eventType:hi.PC_STATS,lts:o,preallocation:n.preallocation?1:0});this.send({type:dr.PC_STATS,data:s},!0)}updateRemoteRTPCapabilities(t,n){if(t){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt(Gt({},i),n),{},{vid:i.vid===void 0?0:Number(i.vid),eventType:hi.UPDATE_REMOTE_RTPCAPABILITIES,lts:o});this.send({type:dr.UPDATE_REMOTE_RTPCAPABILITIES,data:s},!0)}}onGatewayStream(t,n,r,i){const o=this.baseInfoMap.get(t);if(!o)return;const s=o.info,a=Date.now(),c=Gt(Gt(Gt({},s),i),{},{eventType:n,lts:a});this.send({type:r,data:c},!0)}streamSwitch(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.STREAM_SWITCH,lts:o,isDual:n.isdual,elapse:o-r.startTime,success:n.succ});this.send({type:dr.STREAM_SWITCH,data:s},!0)}requestProxyAppCenter(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.REQUEST_PROXY_APPCENTER,lts:o,eventElapse:o-n.lts,elapse:o-r.startTime,APAddr:n.APAddr,workerManagerList:n.workerManagerList,response:n.response,errorCode:n.ec,success:n.succ});this.send({type:dr.REQUEST_PROXY_APPCENTER,data:s},!0)}requestProxyWorkerManager(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{eventType:hi.REQUEST_PROXY_WORKER_MANAGER,lts:o,eventElapse:o-n.lts,elapse:o-r.startTime,workerManagerAddr:n.workerManagerAddr,response:n.response,errorCode:n.ec,success:n.succ});this.send({type:dr.REQUEST_PROXY_WORKER_MANAGER,data:s},!0)}setProxyServer(t){this.proxyServer=t,t?D.debug("reportProxyServerurl: ".concat(t)):D.debug("disable reportProxyServerurl: ".concat(t))}peerPublishStatus(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt({},i),{},{subscribeElapse:n.subscribeElapse,peer:n.peer,peerPublishDuration:Math.max(n.audioPublishDuration,n.videoPublishDuration),audiotag:n.audioPublishDuration>0?1:-1,videotag:n.videoPublishDuration>0?1:-1,lts:o,elapse:o-r.startTime,joinChannelSuccessElapse:o-(r.lastJoinSuccessTime||o),peerPublishDurationVideo:n.videoPublishDuration,peerPublishDurationAudio:n.audioPublishDuration});this.send({type:dr.PEER_PUBLISH_STATUS,data:s},!0)}workerEvent(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now();(function(s,a,c){const l=s[a];if(!l||typeof l!="string")return[s];s[a]="";const u=qc(JSON.stringify(s));let d=0;const f=[];let h=0;for(let p=0;p<l.length;p++)h+=l.charCodeAt(p)<=127?1:3,h<=c-u||(f[f.length]=pt(pt({},s),{},{[a]:l.substring(d,p)}),d=p,h=l.charCodeAt(p)<=127?1:3);return d!==l.length-1&&(f[f.length]=pt(pt({},s),{},{[a]:l.substring(d)})),f})(Gt(Gt(Gt({},i),n),{},{elapse:o-r.startTime,lts:o,productType:"WebRTC"}),"payload",1300).forEach((s=>this.send({type:dr.WORKER_EVENT,data:s},!0)))}apworkerEvent(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt(Gt({},i),n),{},{elapse:o-r.startTime,lts:o});this.send({type:dr.AP_WORKER_EVENT,data:s},!0)}joinWebProxyAP(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt(Gt({},i),n),{},{elapse:o-r.startTime,lts:o,extend:n.extend||void 0});this.send({type:dr.JOIN_WEB_PROXY_AP,data:s},!0)}WebSocketQuit(t,n){const r=this.baseInfoMap.get(t);if(!r)return;const i=r.info,o=Date.now(),s=Gt(Gt(Gt({},i),n),{},{elapse:o-r.startTime,lts:o});this.send({type:dr.WEBSOCKET_QUIT,data:s},!0)}async sendCustomReportMessage(t,n){if(this.customReportCount+=n.length,this.customReportCount>he("CUSTOM_REPORT_LIMIT"))throw new Be(Q.CUSTOM_REPORT_FREQUENCY_TOO_HIGH);this.customReportCounterTimer||(this.customReportCounterTimer=window.setInterval((()=>{this.customReportCount=0}),5e3));const r=Date.now(),i=n.map((o=>({type:dr.USER_ANALYTICS,data:Gt(Gt({sid:t},o),{},{lts:r})})));try{he("NEW_REPORT_SERVER")?await this.postDataToStatsCollector2(i):await this.postDataToStatsCollector(i)}catch(o){throw D.error("send custom report message failed",o.toString()),new Be(Q.CUSTOM_REPORT_SEND_FAILED,o.message)}}sendApiInvoke(t){const n=he("NOT_REPORT_EVENT");if(t.tag&&lt(n)&&lt(n).call(n,t.tag))return!1;if(t.sid===null)return this.apiInvokeUploadPendingItems.push(t),!1;const r=this.baseInfoMap.get(t.sid);if(!r)return this.apiInvokeUploadPendingItems.push(t),!1;const{cname:i,uid:o,cid:s}=r.info;let a;if(t.lts=t.lts||Date.now(),t.error)if(t.error instanceof Be){const{code:l,message:u}=t.error;a=l||u||t.error.toString()}else a=t.error.toString();const c={invokeId:t.invokeId,sid:t.sid,cname:i,cid:s,uid:o,lts:t.lts,success:t.success,elapse:t.lts-r.startTime,execElapse:t.lts-t.apiInvokeTime,apiName:t.name,options:t.options?JSON.stringify(t.options):void 0,execStates:t.states?JSON.stringify(t.states):void 0,execResult:t.result?JSON.stringify(t.result):void 0,errorCode:t.error?a:void 0,errorMsg:t.error?JSON.stringify(t.error):void 0};return this.send({type:dr.API_INVOKE,data:c},!1),!0}appendSessionId(){a2.__CLIENT_LIST__.forEach((t=>{if(t._sessionId){const n=this.apiInvokeUploadPendingItems.length;for(let r=0;r<n;r++){const i=this.apiInvokeUploadPendingItems.shift();i&&(i.sid=t._sessionId,this.sendApiInvoke(Object.assign({},i)))}}}))}send(t,n){if(n)return this.keyEventUploadPendingItems.push(t),void this.sendItems(this.keyEventUploadPendingItems,!0);this.normalEventUploadPendingItems.push(t),this.normalEventUploadPendingItems.length>he("NORMAL_EVENT_QUEUE_CAPACITY")&&this.normalEventUploadPendingItems.splice(0,1),this.normalEventUploadPendingItems.length>=10&&this.sendItems(this.normalEventUploadPendingItems,!1)}doSend(){this.keyEventUploadPendingItems.length>0&&this.sendItems(this.keyEventUploadPendingItems,!0),this.normalEventUploadPendingItems.length>0&&Date.now()-this.lastSendNormalEventTime>=5e3&&this.sendItems(this.normalEventUploadPendingItems,!1)}sendItems(t,n){const r=[],i=[];for(;t.length;){const s=t.shift();r.length<20?r.push(s):i.push(s)}t.push(...i);for(const s of[...r]){var o;this.ltsList.indexOf(s.data.lts)!==-1?(s.data.lts=this.ltsList[this.ltsList.length-1]+1,this.ltsList.push(s.data.lts)):(this.ltsList.push(s.data.lts),n2(o=this.ltsList).call(o,((a,c)=>a-c)))}return n||(this.lastSendNormalEventTime=Date.now()),he("ENABLE_EVENT_REPORT")&&r.length&&(he("NEW_REPORT_SERVER")?this.postDataToStatsCollector2(r):this.postDataToStatsCollector(r)).catch((s=>a=>{he("EVENT_REPORT_RETRY")&&(n?this.keyEventUploadPendingItems=this.keyEventUploadPendingItems.concat(s):(this.normalEventUploadPendingItems=this.normalEventUploadPendingItems.concat(s),this.normalEventUploadPendingItems.length>he("NORMAL_EVENT_QUEUE_CAPACITY")&&(this.normalEventUploadPendingItems.splice(0,this.normalEventUploadPendingItems.length-he("NORMAL_EVENT_QUEUE_CAPACITY")),D.warning("report: drop normal events"))))})(r)),t}async postDataToStatsCollector2(t){Fr.networkState===cs.OFFLINE&&await ot.race([Fr.onlineWaiter,Ei(2*jr.maxRetryTimeout)]);const n=o=>{let s=new Uint8Array;return o.forEach((a=>{const c=cI(JSON.stringify(a.data)),l=new ArrayBuffer(5),u=(f=>{let h=0;return Object.entries(dr).forEach((p=>{let[g,m]=p;m===f.type&&(h=aNe[g])})),h})(a),d=new DataView(l);d.setUint16(0,c.byteLength,!0),d.setUint8(2,255&u),d.setUint8(3,u>>>8&255),d.setUint8(4,u>>>16&255),s=oM(s,new Uint8Array(l)),s=oM(s,c)})),s},r="event";let i=this.proxyServer?"https://".concat(this.proxyServer,"/rs/?h=").concat(he("NEW_REPORT_SERVER_DOMAINS")[0],"&p=443&d=").concat(r):"https://".concat(he("NEW_REPORT_SERVER_DOMAINS")[0],"/").concat(r);for(let o=0;o<2;o+=1){o===1&&(i=this.proxyServer?"https://".concat(this.proxyServer,"/rs/?h=").concat(he("NEW_REPORT_SERVER_DOMAINS")[1],"&p=443&d=").concat(r):"https://".concat(he("NEW_REPORT_SERVER_DOMAINS")[1],"/").concat(r));try{await ZA(i,{timeout:1e4,data:n(t),headers:Gt(Gt({biz:"webrtc",sendts:Math.round(Date.now()/1e3),debug:"false"},this._appId&&{appid:this._appId}),{},{"Content-Type":"application/octet-stream"})},!0)}catch(s){if(o===1)throw s;continue}return}}async postDataToStatsCollector(t){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];const r={msgType:"EventMessages",sentTs:Math.round(Date.now()/1e3),payloads:t.map((s=>JSON.stringify(s))),vid:(s=>{const a=s&&s.data.sid&&this.baseInfoMap.get(s.data.sid);return a&&a.info.vid&&+a.info.vid||0})(t[0])};Fr.networkState===cs.OFFLINE&&await ot.race([Fr.onlineWaiter,Ei(2*jr.maxRetryTimeout)]);const i=n?"/events/proto-raws":"/events/messages";let o=this.url||(this.proxyServer?"https://".concat(this.proxyServer,"/rs/?h=").concat(he("EVENT_REPORT_DOMAIN"),"&p=").concat(he("STATS_COLLECTOR_PORT"),"&d=").concat(i):"https://".concat(he("EVENT_REPORT_DOMAIN"),":").concat(he("STATS_COLLECTOR_PORT")).concat(i));for(let s=0;s<2;s+=1){s===1&&(o=this.backupUrl||(this.proxyServer?"https://".concat(this.proxyServer,"/rs/?h=").concat(he("EVENT_REPORT_BACKUP_DOMAIN"),"&p=").concat(he("STATS_COLLECTOR_PORT"),"&d=").concat(i):"https://".concat(he("EVENT_REPORT_BACKUP_DOMAIN"),":").concat(he("STATS_COLLECTOR_PORT")).concat(i)));try{n?await eNe(o,{timeout:1e4,data:r}):await ZA(o,{timeout:1e4,data:r})}catch(a){if(s===1)throw a;continue}return}}createBaseInfo(t,n){const r=Object.assign({},sNe);return r.sid=t,this.baseInfoMap.set(t,{info:r,startTime:n}),r}reportResourceTiming(t,n){const r=performance.getEntriesByName(t),i=r[r.length-1];i&&this.reportApiInvoke(n,{name:"Client.resourceTiming",options:i,tag:vr.TRACER}).onSuccess()}}function Pt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return function(t,n,r){const i=r.value;if(typeof i=="function"){const o=e.className||t.__className__||(t.constructor.name==="AgoraRTCClient"?"Client":t.constructor.name);r.value=function(){for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];let l=a;if(e.argsMap)try{l=e.argsMap(this,...a)}catch(d){D.warning(d),l=[]}try{JSON.stringify(l)}catch{D.warning("arguments for method ".concat(o,".").concat(String(n)," not serializable for apiInvoke.")),l=[]}const u=(e.report||mt).reportApiInvoke(this._sessionId||null,{name:"".concat(o,".").concat(String(n)),options:l,tag:vr.TRACER,reportResult:e.reportResult},e.throttleTime);try{const d=i.apply(this,a);return d instanceof ot?d.then((f=>(u.onSuccess(e.reportResult&&f),f))).catch((f=>{throw u.onError(f),f})):(u.onSuccess(e.reportResult&&d),d)}catch(d){throw u.onError(d),d}}}return r}}Ir(a2,"__CLIENT_LIST__",[]);const mt=new a2;bq.on("REPORT_LOG_UPLOAD",(e=>{e.networkState=Fr.networkState,mt.reportApiInvoke(null,{name:"logUploadError",options:e,tag:vr.TRACER}).onSuccess("logUploadError")}));const cNe=["CHINA","GLOBAL"],Ti=(function(){const e="us".concat("erna","me"),t="pa".concat("sswo","rd"),n=["t","s","t"];n.splice(1,0,"e");const r=n.join(""),i=[];for(let a=0;a<6;a++)i.push("1");const o=i.join(""),s={};return s[e]=r,s[t]=o,Object.assign(s,{turnServerURL:"",tcpport:3433,udpport:3478,forceturn:!1})})();window.DEFAULT_TURN_CONFIG=Ti,uI||(Pr.WEBCS_DOMAIN=["ap-web-1-oversea.agora.io","ap-web-1-north-america.agora.io"],Pr.WEBCS_DOMAIN_BACKUP_LIST=["ap-web-2-oversea.agora.io","ap-web-2-north-america.agora.io"],Pr.PROXY_CS=["proxy-ap-web-oversea.agora.io","proxy-ap-web-america.agora.io"],Pr.CDS_AP=["cds-ap-web-oversea.agora.io","cds-ap-web-america.agora.io","cds-ap-web-america2.agora.io"],Pr.ACCOUNT_REGISTER=["sua-ap-web-oversea.agora.io","sua-ap-web-america.agora.io","sua-ap-web-america2.agora.io"],Pr.UAP_AP=["uap-ap-web-oversea.agora.io","uap-ap-web-america.agora.io","uap-ap-web-america2.agora.io"],Pr.LOG_UPLOAD_SERVER="logservice-oversea.agora.io",Pr.EVENT_REPORT_DOMAIN="statscollector-1-oversea.agora.io",Pr.EVENT_REPORT_BACKUP_DOMAIN="statscollector-2-oversea.agora.io",Pr.PROXY_SERVER_TYPE3="webrtc-cloud-proxy.agora.io",Pr.AREAS=["NORTH_AMERICA","OVERSEA"]);const Sq=[[0,1,2,3,4,5,5],[0,2,2,3,4,5,5],[0,3,3,3,4,5,5],[0,4,4,4,4,5,5],[0,5,5,5,5,5,5]],hd=[];function f0(e,t){return!!t&&hd.some((n=>n.uid===e&&n.channelName===t))}a2.__CLIENT_LIST__=hd;var lNe=vK.forEach,bM=Zy("forEach")?[].forEach:function(e){return lNe(this,e,arguments.length>1?arguments[1]:void 0)};Gn({target:"Array",proto:!0,forced:[].forEach!=bM},{forEach:bM});var uNe=za("Array").forEach,dNe=Al,fNe=Gi,hNe=Co,pNe=uNe,M9=Array.prototype,mNe={DOMTokenList:!0,NodeList:!0},gNe=function(e){var t=e.forEach;return e===M9||hNe(M9,e)&&t===M9.forEach||fNe(mNe,dNe(e))?pNe:t},vNe=kr(gNe),yNe=Sl,SM=Ky;Gn({target:"Object",stat:!0,forced:Xr((function(){SM(1)}))},{keys:function(e){return SM(yNe(e))}});var Aq=kr(Cc.Object.keys),ENe=kr(_X),bNe=Gn,SNe=r2,ANe=Wr([].reverse),AM=[1,2];bNe({target:"Array",proto:!0,forced:String(AM)===String(AM.reverse())},{reverse:function(){return SNe(this)&&(this.length=this.length),ANe(this)}});var CNe=za("Array").reverse,wNe=Co,TNe=CNe,B9=Array.prototype,INe=function(e){var t=e.reverse;return e===B9||wNe(B9,e)&&t===B9.reverse?TNe:t},Cq=INe,PNe=kr(Cq),ONe=Gn,CM=r2,_Ne=e6,RNe=Gs,wM=IT,kNe=Ru,xNe=e0,DNe=r6,LNe=Ur,NNe=UT,MNe=hK("slice"),BNe=LNe("species"),F9=Array,FNe=Math.max;ONe({target:"Array",proto:!0,forced:!MNe},{slice:function(e,t){var n,r,i,o=xNe(this),s=kNe(o),a=wM(e,s),c=wM(t===void 0?s:t,s);if(CM(o)&&(n=o.constructor,(_Ne(n)&&(n===F9||CM(n.prototype))||RNe(n)&&(n=n[BNe])===null)&&(n=void 0),n===F9||n===void 0))return NNe(o,a,c);for(r=new(n===void 0?F9:n)(FNe(c-a,0)),i=0;a<c;a++,i++)a in o&&DNe(r,i,o[a]);return r.length=i,r}});var UNe=za("Array").slice,jNe=Co,HNe=UNe,U9=Array.prototype,zNe=function(e){var t=e.slice;return e===U9||jNe(U9,e)&&t===U9.slice?HNe:t},WNe=kr(zNe);function ft(e,t,n,r,i){var o,s,a,c={};return vNe(o=Aq(r)).call(o,(function(l){c[l]=r[l]})),c.enumerable=!!c.enumerable,c.configurable=!!c.configurable,("value"in c||c.initializer)&&(c.writable=!0),c=ENe(s=PNe(a=WNe(n).call(n)).call(a)).call(s,(function(l,u){return u(e,t,l)||l}),c),i&&c.initializer!==void 0&&(c.value=c.initializer?c.initializer.call(i):void 0,c.initializer=void 0),c.initializer===void 0&&(dK(e,t,c),c=null),c}let YA=(function(e){return e.L1T1="L1T1",e.L1T2="L1T2",e.L1T3="L1T3",e.L1T3_KEY="L1T3_KEY",e.L2T1_KEY="L2T1_KEY",e.L2T2_KEY="L2T2_KEY",e.L2T3_KEY="L2T3_KEY",e.L3T1_KEY="L3T1_KEY",e.L3T2_KEY="L3T2_KEY",e.L3T3_KEY="L3T3_KEY",e})({}),Ss=(function(e){return e.CERTIFICATE="certificate",e.CODEC="codec",e.CANDIDATE_PAIR="candidate-pair",e.LOCAL_CANDIDATE="local-candidate",e.REMOTE_CANDIDATE="remote-candidate",e.INBOUND="inbound-rtp",e.TRACK="track",e.OUTBOUND="outbound-rtp",e.PC="peer-connection",e.REMOTE_INBOUND="remote-inbound-rtp",e.REMOTE_OUTBOUND="remote-outbound-rtp",e.TRANSPORT="transport",e.CSRC="csrc",e.DATA_CHANNEL="data-channel",e.STREAM="stream",e.SENDER="sender",e.RECEIVER="receiver",e})({}),E3=(function(e){return e[e.ACCESS_POINT=101]="ACCESS_POINT",e[e.UNILBS=201]="UNILBS",e[e.STRING_UID_ALLOCATOR=901]="STRING_UID_ALLOCATOR",e})({}),j9=(function(e){return e[e.IIIEGAL_APPID=1]="IIIEGAL_APPID",e[e.IIIEGAL_UID=2]="IIIEGAL_UID",e[e.INTERNAL_ERROR=3]="INTERNAL_ERROR",e})({}),ha=(function(e){return e[e.INVALID_VENDOR_KEY=5]="INVALID_VENDOR_KEY",e[e.INVALID_CHANNEL_NAME=7]="INVALID_CHANNEL_NAME",e[e.INTERNAL_ERROR=8]="INTERNAL_ERROR",e[e.NO_AUTHORIZED=9]="NO_AUTHORIZED",e[e.DYNAMIC_KEY_TIMEOUT=10]="DYNAMIC_KEY_TIMEOUT",e[e.NO_ACTIVE_STATUS=11]="NO_ACTIVE_STATUS",e[e.DYNAMIC_KEY_EXPIRED=13]="DYNAMIC_KEY_EXPIRED",e[e.STATIC_USE_DYNAMIC_KEY=14]="STATIC_USE_DYNAMIC_KEY",e[e.DYNAMIC_USE_STATIC_KEY=15]="DYNAMIC_USE_STATIC_KEY",e[e.USER_OVERLOAD=16]="USER_OVERLOAD",e[e.FORBIDDEN_REGION=18]="FORBIDDEN_REGION",e[e.CANNOT_MEET_AREA_DEMAND=19]="CANNOT_MEET_AREA_DEMAND",e})({}),uo=(function(e){return e[e.NO_FLAG_SET=100]="NO_FLAG_SET",e[e.FLAG_SET_BUT_EMPTY=101]="FLAG_SET_BUT_EMPTY",e[e.INVALID_FALG_SET=102]="INVALID_FALG_SET",e[e.FLAG_SET_BUT_NO_RE=103]="FLAG_SET_BUT_NO_RE",e[e.INVALID_SERVICE_ID=104]="INVALID_SERVICE_ID",e[e.NO_SERVICE_AVAILABLE=200]="NO_SERVICE_AVAILABLE",e[e.NO_SERVICE_AVAILABLE_P2P=201]="NO_SERVICE_AVAILABLE_P2P",e[e.NO_SERVICE_AVAILABLE_VOICE=202]="NO_SERVICE_AVAILABLE_VOICE",e[e.NO_SERVICE_AVAILABLE_WEBRTC=203]="NO_SERVICE_AVAILABLE_WEBRTC",e[e.NO_SERVICE_AVAILABLE_CDS=204]="NO_SERVICE_AVAILABLE_CDS",e[e.NO_SERVICE_AVAILABLE_CDN=205]="NO_SERVICE_AVAILABLE_CDN",e[e.NO_SERVICE_AVAILABLE_TDS=206]="NO_SERVICE_AVAILABLE_TDS",e[e.NO_SERVICE_AVAILABLE_REPORT=207]="NO_SERVICE_AVAILABLE_REPORT",e[e.NO_SERVICE_AVAILABLE_APP_CENTER=208]="NO_SERVICE_AVAILABLE_APP_CENTER",e[e.NO_SERVICE_AVAILABLE_ENV0=209]="NO_SERVICE_AVAILABLE_ENV0",e[e.NO_SERVICE_AVAILABLE_VOET=210]="NO_SERVICE_AVAILABLE_VOET",e[e.NO_SERVICE_AVAILABLE_STRING_UID=211]="NO_SERVICE_AVAILABLE_STRING_UID",e[e.NO_SERVICE_AVAILABLE_WEBRTC_UNILBS=212]="NO_SERVICE_AVAILABLE_WEBRTC_UNILBS",e[e.NO_SERVICE_AVAILABLE_UNILBS_FLV=213]="NO_SERVICE_AVAILABLE_UNILBS_FLV",e})({}),Tt=(function(e){return e[e.K_TIMESTAMP_EXPIRED=2]="K_TIMESTAMP_EXPIRED",e[e.K_CHANNEL_PERMISSION_INVALID=3]="K_CHANNEL_PERMISSION_INVALID",e[e.K_CERTIFICATE_INVALID=4]="K_CERTIFICATE_INVALID",e[e.K_CHANNEL_NAME_EMPTY=5]="K_CHANNEL_NAME_EMPTY",e[e.K_CHANNEL_NOT_FOUND=6]="K_CHANNEL_NOT_FOUND",e[e.K_TICKET_INVALID=7]="K_TICKET_INVALID",e[e.K_CHANNEL_CONFLICTED=8]="K_CHANNEL_CONFLICTED",e[e.K_SERVICE_NOT_READY=9]="K_SERVICE_NOT_READY",e[e.K_SERVICE_TOO_HEAVY=10]="K_SERVICE_TOO_HEAVY",e[e.K_UID_BANNED=14]="K_UID_BANNED",e[e.K_IP_BANNED=15]="K_IP_BANNED",e[e.K_CHANNEL_BANNED=16]="K_CHANNEL_BANNED",e[e.K_AUTO_REBALANCE=28]="K_AUTO_REBALANCE",e[e.WARN_NO_AVAILABLE_CHANNEL=103]="WARN_NO_AVAILABLE_CHANNEL",e[e.WARN_LOOKUP_CHANNEL_TIMEOUT=104]="WARN_LOOKUP_CHANNEL_TIMEOUT",e[e.WARN_LOOKUP_CHANNEL_REJECTED=105]="WARN_LOOKUP_CHANNEL_REJECTED",e[e.WARN_OPEN_CHANNEL_TIMEOUT=106]="WARN_OPEN_CHANNEL_TIMEOUT",e[e.WARN_OPEN_CHANNEL_REJECTED=107]="WARN_OPEN_CHANNEL_REJECTED",e[e.WARN_REQUEST_DEFERRED=108]="WARN_REQUEST_DEFERRED",e[e.ERR_DYNAMIC_KEY_TIMEOUT=109]="ERR_DYNAMIC_KEY_TIMEOUT",e[e.ERR_NO_AUTHORIZED=110]="ERR_NO_AUTHORIZED",e[e.ERR_VOM_SERVICE_UNAVAILABLE=111]="ERR_VOM_SERVICE_UNAVAILABLE",e[e.ERR_NO_CHANNEL_AVAILABLE_CODE=112]="ERR_NO_CHANNEL_AVAILABLE_CODE",e[e.ERR_MASTER_VOCS_UNAVAILABLE=114]="ERR_MASTER_VOCS_UNAVAILABLE",e[e.ERR_INTERNAL_ERROR=115]="ERR_INTERNAL_ERROR",e[e.ERR_NO_ACTIVE_STATUS=116]="ERR_NO_ACTIVE_STATUS",e[e.ERR_INVALID_UID=117]="ERR_INVALID_UID",e[e.ERR_DYNAMIC_KEY_EXPIRED=118]="ERR_DYNAMIC_KEY_EXPIRED",e[e.ERR_STATIC_USE_DYANMIC_KE=119]="ERR_STATIC_USE_DYANMIC_KE",e[e.ERR_DYNAMIC_USE_STATIC_KE=120]="ERR_DYNAMIC_USE_STATIC_KE",e[e.ERR_NO_VOCS_AVAILABLE=2e3]="ERR_NO_VOCS_AVAILABLE",e[e.ERR_NO_VOS_AVAILABLE=2001]="ERR_NO_VOS_AVAILABLE",e[e.ERR_JOIN_CHANNEL_TIMEOUT=2002]="ERR_JOIN_CHANNEL_TIMEOUT",e[e.ERR_REPEAT_JOIN_CHANNEL=2003]="ERR_REPEAT_JOIN_CHANNEL",e[e.ERR_JOIN_BY_MULTI_IP=2004]="ERR_JOIN_BY_MULTI_IP",e[e.ERR_NOT_JOINED=2011]="ERR_NOT_JOINED",e[e.ERR_REPEAT_JOIN_REQUEST=2012]="ERR_REPEAT_JOIN_REQUEST",e[e.ERR_INVALID_VENDOR_KEY=2013]="ERR_INVALID_VENDOR_KEY",e[e.ERR_INVALID_CHANNEL_NAME=2014]="ERR_INVALID_CHANNEL_NAME",e[e.ERR_INVALID_STRINGUID=2015]="ERR_INVALID_STRINGUID",e[e.ERR_TOO_MANY_USERS=2016]="ERR_TOO_MANY_USERS",e[e.ERR_SET_CLIENT_ROLE_TIMEOUT=2017]="ERR_SET_CLIENT_ROLE_TIMEOUT",e[e.ERR_SET_CLIENT_ROLE_NO_PERMISSION=2018]="ERR_SET_CLIENT_ROLE_NO_PERMISSION",e[e.ERR_SET_CLIENT_ROLE_ALREADY_IN_USE=2019]="ERR_SET_CLIENT_ROLE_ALREADY_IN_USE",e[e.ERR_PUBLISH_REQUEST_INVALID=2020]="ERR_PUBLISH_REQUEST_INVALID",e[e.ERR_SUBSCRIBE_REQUEST_INVALID=2021]="ERR_SUBSCRIBE_REQUEST_INVALID",e[e.ERR_NOT_SUPPORTED_MESSAGE=2022]="ERR_NOT_SUPPORTED_MESSAGE",e[e.ERR_ILLEAGAL_PLUGIN=2023]="ERR_ILLEAGAL_PLUGIN",e[e.ERR_REJOIN_TOKEN_INVALID=2024]="ERR_REJOIN_TOKEN_INVALID",e[e.ERR_REJOIN_USER_NOT_JOINED=2025]="ERR_REJOIN_USER_NOT_JOINED",e[e.ERR_INVALID_OPTIONAL_INFO=2027]="ERR_INVALID_OPTIONAL_INFO",e[e.ILLEGAL_AES_PASSWORD=2028]="ILLEGAL_AES_PASSWORD",e[e.ILLEGAL_CLIENT_ROLE_LEVEL=2029]="ILLEGAL_CLIENT_ROLE_LEVEL",e[e.ERR_TOO_MANY_BROADCASTERS=2031]="ERR_TOO_MANY_BROADCASTERS",e[e.ERR_TOO_MANY_SUBSCRIBERS=2032]="ERR_TOO_MANY_SUBSCRIBERS",e[e.ERR_LICENSE_MISSING=32769]="ERR_LICENSE_MISSING",e[e.ERR_LICENSE_EXPIRED=32771]="ERR_LICENSE_EXPIRED",e[e.ERR_LICENSE_MINUTES_EXCEEDED=32773]="ERR_LICENSE_MINUTES_EXCEEDED",e[e.ERR_LICENSE_PERIOD_INVALID=32774]="ERR_LICENSE_PERIOD_INVALID",e[e.ERR_LICENSE_MULTIPLE_SDK_SERVICE=32778]="ERR_LICENSE_MULTIPLE_SDK_SERVICE",e[e.ERR_LICENSE_ILLEGAL=32783]="ERR_LICENSE_ILLEGAL",e[e.ERR_TEST_RECOVER=9e3]="ERR_TEST_RECOVER",e[e.ERR_TEST_TRYNEXT=9001]="ERR_TEST_TRYNEXT",e[e.ERR_TEST_RETRY=9002]="ERR_TEST_RETRY",e})({}),Hn=(function(e){return e.CONNECTING="connecting",e.CONNECTED="connected",e.RECONNECTING="reconnecting",e.CLOSED="closed",e})({}),Nt=(function(e){return e.WS_CONNECTED="ws_connected",e.WS_RECONNECTING="ws_reconnecting",e.WS_CLOSED="ws_closed",e.WS_RECONNECT_WAITTING_FINISH="ws_reconnect_waitting_finish",e.WS_RECONNECT_CREATE_CONNECTION="ws_reconnect_create_connection",e.ON_BINARY_DATA="on_binary_data",e.REQUEST_RECOVER="request_recover",e.REQUEST_JOIN_INFO="request_join_info",e.REQUEST_REJOIN_INFO="req_rejoin_info",e.IS_P2P_DISCONNECTED="is_p2p_dis",e.DISCONNECT_P2P="dis_p2p",e.ABORT_P2P_EXECUTION="abort_p2p_execution",e.NEED_RENEW_SESSION="need-sid",e.REPORT_JOIN_GATEWAY="report_join_gateway",e.REQUEST_TIMEOUT="request_timeout",e.REQUEST_SUCCESS="request_success",e.JOIN_RESPONSE="join_response",e.PRE_CONNECT_PC="pre_connect_pc",e.P2P_CONNECTION="p2p_connection",e.P2P_REMOTE_CANDIDATE_UPDATE="p2p_remote_candidate_update",e.P2P_SUBSCRIBE="p2p_subscribe",e.P2P_UNSUBSCRIBE="p2p_unsubscribe",e.P2P_EXCHANGE_SDP="p2p_exchange_sdp",e.P2P_ON_ADD_VIDEO_STREAM="p2p_on_add_video_stream",e.P2P_ON_ADD_AUDIO_STREAM="p2p_on_add_audio_stream",e})({}),Dt=(function(e){return e.PING="ping",e.PING_BACK="ping_back",e.JOIN="join_v3",e.REJOIN="rejoin_v3",e.LEAVE="leave",e.SET_CLIENT_ROLE="set_client_role",e.PUBLISH="publish",e.PUBLISH_DATASTREAM="publish_datastream",e.UNPUBLISH="unpublish",e.UNPUBLISH_DATASTREAM="unpublish_datastream",e.SUBSCRIBE="subscribe",e.PRE_SUBSCRIBE="pre_subscribe",e.SUBSCRIBE_DATASTREAM="subscribe_datastream",e.SUBSCRIBE_STREAMS="subscribe_streams",e.UNSUBSCRIBE="unsubscribe",e.UNSUBSCRIBE_DATASTREAM="unsubscribe_datastream",e.UNSUBSCRIBE_STREAMS="unsubscribe_streams",e.SUBSCRIBE_CHANGE="subscribe_change",e.TRAFFIC_STATS="traffic_stats",e.RENEW_TOKEN="renew_token",e.SWITCH_VIDEO_STREAM="switch_video_stream",e.DEFAULT_VIDEO_STREAM="default_video_stream",e.SET_FALLBACK_OPTION="set_fallback_option",e.GATEWAY_INFO="gateway_info",e.CONTROL="control",e.SEND_METADATA="send_metadata",e.DATA_STREAM="data_stream",e.PICK_SVC_LAYER="pick_svc_layer",e.RESTART_ICE="restart_ice",e.CONNECT_PC="connect_pc",e.SET_VIDEO_PROFILE="set_video_profile",e.SET_PARAMETER="set_parameter",e.SET_RTM2_FLAG="set_rtm2_flag",e})({}),lg=(function(e){return e.WRTC_STATS="wrtc_stats",e.WS_INFLATE_DATA_LENGTH="ws_inflate_data_length",e.DENOISER_STATS="denoiser_stats",e.EXTENSION_USAGE_STATS="extension_usage_stats",e})({}),Kt=(function(e){return e.ON_USER_ONLINE="on_user_online",e.ON_USER_OFFLINE="on_user_offline",e.ON_STREAM_FALLBACK_UPDATE="on_stream_fallback_update",e.ON_PUBLISH_STREAM="on_publish_stream",e.ON_UPLINK_STATS="on_uplink_stats",e.ON_P2P_LOST="on_p2p_lost",e.ON_REMOVE_STREAM="on_remove_stream",e.ON_ADD_AUDIO_STREAM="on_add_audio_stream",e.ON_ADD_VIDEO_STREAM="on_add_video_stream",e.ON_TOKEN_PRIVILEGE_WILL_EXPIRE="on_token_privilege_will_expire",e.ON_TOKEN_PRIVILEGE_DID_EXPIRE="on_token_privilege_did_expire",e.ON_USER_BANNED="on_user_banned",e.ON_USER_LICENSE_BANNED="on_user_license_banned",e.ON_NOTIFICATION="on_notification",e.ON_CRYPT_ERROR="on_crypt_error",e.MUTE_AUDIO="mute_audio",e.MUTE_VIDEO="mute_video",e.UNMUTE_AUDIO="unmute_audio",e.UNMUTE_VIDEO="unmute_video",e.ON_P2P_OK="on_p2p_ok",e.RECEIVE_METADATA="receive_metadata",e.ON_DATA_STREAM="on_data_stream",e.ON_RTP_CAPABILITY_CHANGE="on_rtp_capability_change",e.ON_REMOTE_DATASTREAM_UPDATE="on_remote_datastream_update",e.ON_REMOTE_FULL_DATASTREAM_INFO="on_remote_full_datastream_info",e.ENABLE_LOCAL_VIDEO="enable_local_video",e.DISABLE_LOCAL_VIDEO="disable_local_video",e.ENABLE_LOCAL_AUDIO="enable_local_audio",e.DISABLE_LOCAL_AUDIO="disable_local_audio",e.ON_PUBLISHED_USER_LIST="on_published_user_list",e})({}),po=(function(e){return e.SEND_ONLY="SEND_ONLY",e.RECEIVE_ONLY="RECEIVE_ONLY",e})({}),Bt=(function(e){return e.CONNECTED="websocket:connected",e.RECONNECTING="websocket:reconnecting",e.WILL_RECONNECT="websocket:will_reconnect",e.CLOSED="websocket:closed",e.FAILED="websocket:failed",e.ON_MESSAGE="websocket:on_message",e.REQUEST_NEW_URLS="websocket:request_new_urls",e.RECONNECT_WAITTING_FINISH="websocket:reconnect_waitting_finish",e.RECONNECT_CREATE_CONNECTION="websocket:reconnect_create_connection",e.ON_TOKEN_PRIVILEGE_DID_EXPIRE="websocket:on_token_privilege_did_expire",e})({});class xe extends Be{constructor(t){super(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",arguments.length>2?arguments[2]:void 0),H(this,"name","AgoraRTCException")}print(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"error";return super.print(t,D)}throw(){super.throw(D)}}function h6(e){if(typeof e!="string"||!/^[a-zA-Z0-9 \!\#\$\%\&\(\)\+\-\:\;\<\=\.\>\?\@\[\]\^\_\{\}\|\~\,]{1,64}$/.test(e))throw D.error("Invalid Channel Name ".concat(e)),new xe(Q.INVALID_PARAMS,"The length must be within 64 bytes. The supported characters: a-z,A-Z,0-9,space,!, #, $, %, &, (, ), +, -, :, ;, <, =, ., >, ?, @, [, ], ^, _, {, }, |, ~, ,")}function p6(e){if(!(function(t){return typeof t=="number"&&Math.floor(t)===t&&0<=t&&t<=4294967295})(e)&&!fq(e,1,255))throw new xe(Q.INVALID_PARAMS,"[String uid] Length of the string: [1,255]. ASCII characters only. [Number uid] The value range is [0,10000]");typeof e=="string"&&D.warn("You input a string as the user ID, to ensure better end-user experience, Agora highly suggests not using a string as the user ID.")}let au=(function(e){return e.TRANSCODE="mix_streaming",e.RAW="raw_streaming",e})({});const VNe={alpha:1,height:640,width:360,x:0,y:0,zOrder:0,audioChannel:0},H9={x:0,y:0,width:160,height:160,zOrder:255,alpha:1};function z9(e,t){pi(e.url,"".concat(t,".url"),1,1e3,!1),ur(e.x)||Ln(e.x,"".concat(t,".x"),0,1e4),ur(e.y)||Ln(e.y,"".concat(t,".y"),0,1e4),ur(e.width)||Ln(e.width,"".concat(t,".width"),0,1e4),ur(e.height)||Ln(e.height,"".concat(t,".height"),0,1e4),ur(e.zOrder)||Ln(e.zOrder,"".concat(t,".zOrder"),0,255),ur(e.alpha)||Ln(e.alpha,"".concat(t,".alpha"),0,1,!1)}const GNe={audioBitrate:48,audioChannels:1,audioSampleRate:48e3,backgroundColor:0,height:360,lowLatency:!1,videoBitrate:400,videoCodecProfile:100,videoCodecType:1,videoFrameRate:15,videoGop:30,width:640,images:[],userConfigs:[],userConfigExtraInfo:""};let pd=(function(e){return e.WARNING="@live_uap-warning",e.ERROR="@line_uap-error",e.PUBLISH_STREAM_STATUS="@live_uap-publish-status",e.WORKER_STATUS="@live_uap-worker-status",e.REQUEST_NEW_ADDRESS="@live_uap-request-address",e})({}),XA=(function(e){return e.REQUEST_WORKER_MANAGER_LIST="@live_req_worker_manager",e})({}),Gr=(function(e){return e[e.LIVE_STREAM_RESPONSE_SUCCEED=200]="LIVE_STREAM_RESPONSE_SUCCEED",e[e.LIVE_STREAM_RESPONSE_ALREADY_EXISTS_STREAM=454]="LIVE_STREAM_RESPONSE_ALREADY_EXISTS_STREAM",e[e.LIVE_STREAM_RESPONSE_TRANSCODING_PARAMETER_ERROR=450]="LIVE_STREAM_RESPONSE_TRANSCODING_PARAMETER_ERROR",e[e.LIVE_STREAM_RESPONSE_BAD_STREAM=451]="LIVE_STREAM_RESPONSE_BAD_STREAM",e[e.LIVE_STREAM_RESPONSE_WM_PARAMETER_ERROR=400]="LIVE_STREAM_RESPONSE_WM_PARAMETER_ERROR",e[e.LIVE_STREAM_RESPONSE_WM_WORKER_NOT_EXIST=404]="LIVE_STREAM_RESPONSE_WM_WORKER_NOT_EXIST",e[e.LIVE_STREAM_RESPONSE_NOT_AUTHORIZED=456]="LIVE_STREAM_RESPONSE_NOT_AUTHORIZED",e[e.LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE=457]="LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE",e[e.LIVE_STREAM_RESPONSE_REQUEST_TOO_OFTEN=429]="LIVE_STREAM_RESPONSE_REQUEST_TOO_OFTEN",e[e.LIVE_STREAM_RESPONSE_NOT_FOUND_PUBLISH=452]="LIVE_STREAM_RESPONSE_NOT_FOUND_PUBLISH",e[e.LIVE_STREAM_RESPONSE_NOT_SUPPORTED=453]="LIVE_STREAM_RESPONSE_NOT_SUPPORTED",e[e.LIVE_STREAM_RESPONSE_MAX_STREAM_NUM=455]="LIVE_STREAM_RESPONSE_MAX_STREAM_NUM",e[e.LIVE_STREAM_RESPONSE_INTERNAL_SERVER_ERROR=500]="LIVE_STREAM_RESPONSE_INTERNAL_SERVER_ERROR",e[e.LIVE_STREAM_RESPONSE_WORKER_LOST=501]="LIVE_STREAM_RESPONSE_WORKER_LOST",e[e.LIVE_STREAM_RESPONSE_RESOURCE_LIMIT=502]="LIVE_STREAM_RESPONSE_RESOURCE_LIMIT",e[e.LIVE_STREAM_RESPONSE_WORKER_QUIT=503]="LIVE_STREAM_RESPONSE_WORKER_QUIT",e[e.ERROR_FAIL_SEND_MESSAGE=504]="ERROR_FAIL_SEND_MESSAGE",e[e.PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE=30]="PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE",e[e.PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT=31]="PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT",e[e.PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH=32]="PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH",e[e.PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN=33]="PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN",e})({});function TM(e){if(!e.channelName)throw new xe(Q.INVALID_PARAMS,"invalid channelName in info");if(typeof e.uid!="number")throw new xe(Q.INVALID_PARAMS,"invalid uid in info, uid must be a number");return e.token&&pi(e.token,"info.token",1,2047),p6(e.uid),h6(e.channelName),!0}let fo=(function(e){return e[e.SetSdkProfile=0]="SetSdkProfile",e[e.SetSourceChannel=1]="SetSourceChannel",e[e.SetSourceUserId=2]="SetSourceUserId",e[e.SetDestChannel=3]="SetDestChannel",e[e.StartPacketTransfer=4]="StartPacketTransfer",e[e.StopPacketTransfer=5]="StopPacketTransfer",e[e.UpdateDestChannel=6]="UpdateDestChannel",e[e.Reconnect=7]="Reconnect",e[e.SetVideoProfile=8]="SetVideoProfile",e})({}),Ul=(function(e){return e.NETWORK_DISCONNECTED="NETWORK_DISCONNECTED",e.NETWORK_CONNECTED="NETWORK_CONNECTED",e.PACKET_JOINED_SRC_CHANNEL="PACKET_JOINED_SRC_CHANNEL",e.PACKET_JOINED_DEST_CHANNEL="PACKET_JOINED_DEST_CHANNEL",e.PACKET_SENT_TO_DEST_CHANNEL="PACKET_SENT_TO_DEST_CHANNEL",e.PACKET_RECEIVED_VIDEO_FROM_SRC="PACKET_RECEIVED_VIDEO_FROM_SRC",e.PACKET_RECEIVED_AUDIO_FROM_SRC="PACKET_RECEIVED_AUDIO_FROM_SRC",e.PACKET_UPDATE_DEST_CHANNEL="PACKET_UPDATE_DEST_CHANNEL",e.PACKET_UPDATE_DEST_CHANNEL_REFUSED="PACKET_UPDATE_DEST_CHANNEL_REFUSED",e.PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE="PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE",e})({}),zo=(function(e){return e.RELAY_STATE_IDLE="RELAY_STATE_IDLE",e.RELAY_STATE_CONNECTING="RELAY_STATE_CONNECTING",e.RELAY_STATE_RUNNING="RELAY_STATE_RUNNING",e.RELAY_STATE_FAILURE="RELAY_STATE_FAILURE",e})({}),gh=(function(e){return e.RELAY_OK="RELAY_OK",e.SERVER_CONNECTION_LOST="SERVER_CONNECTION_LOST",e.SRC_TOKEN_EXPIRED="SRC_TOKEN_EXPIRED",e.DEST_TOKEN_EXPIRED="DEST_TOKEN_EXPIRED",e})({}),Sn=(function(e){return e.High="high",e.Low="low",e.Audio="audio",e.Screen="screen",e.ScreenLow="screen_low",e})({}),Ci=(function(e){return e.DISCONNECT="disconnect",e.CONNECTION_STATE_CHANGE="connection-state-change",e.NETWORK_QUALITY="network-quality",e.STREAM_TYPE_CHANGE="stream-type-change",e.IS_P2P_DISCONNECTED="is-p2p-dis",e.DISCONNECT_P2P="dis-p2p",e.REQUEST_NEW_GATEWAY_LIST="req-gate-url",e.NEED_RENEW_SESSION="need-sid",e.REQUEST_P2P_CONNECTION_PARAMS="request-p2p-connection-params",e.JOIN_RESPONSE="join-response",e.RESET_CONNECTION_EVENTS="reset-connection-events",e.PRE_CONNECT_PC="pre-connect_pc",e})({}),b3=(function(e){return e.P2P_DISCONNECTED="P2P_DISCONNECTED",e.A_ROUND_WS_FAILED="A_ROUND_WS_FAILED",e.TIMEOUT="TIMEOUT",e.UNKNOWN_REASON="UNKNOWN_REASON",e})({}),ti=(function(e){return e[e.Nothing=0]="Nothing",e[e.Audio=1]="Audio",e[e.LwoVideo=2]="LwoVideo",e[e.Video=4]="Video",e[e.Data=8]="Data",e[e.DataStream0=256]="DataStream0",e[e.DataStream1=512]="DataStream1",e[e.DataStream2=1024]="DataStream2",e[e.DataStream3=2048]="DataStream3",e[e.DataStream4=4096]="DataStream4",e[e.DataStream5=8192]="DataStream5",e[e.DataStream6=16384]="DataStream6",e[e.DataStream7=32768]="DataStream7",e})({}),gn=(function(e){return e.CHINA="CHINA",e.ASIA="ASIA",e.NORTH_AMERICA="NORTH_AMERICA",e.EUROPE="EUROPE",e.JAPAN="JAPAN",e.INDIA="INDIA",e.KOREA="KOREA",e.HKMC="HKMC",e.US="US",e.OCEANIA="OCEANIA",e.SOUTH_AMERICA="SOUTH_AMERICA",e.AFRICA="AFRICA",e.OVERSEA="OVERSEA",e.GLOBAL="GLOBAL",e.EXTENSIONS="EXTENSIONS",e})({});const IM=[gn.AFRICA,gn.ASIA,gn.CHINA,gn.EUROPE,gn.GLOBAL,gn.INDIA,gn.JAPAN,gn.NORTH_AMERICA,gn.OCEANIA,gn.OVERSEA,gn.SOUTH_AMERICA];let Ui=(function(e){return e.CHINA="CN",e.ASIA="AS",e.NORTH_AMERICA="NA",e.EUROPE="EU",e.JAPAN="JP",e.INDIA="IN",e.KOREA="KR",e.HKMC="HK",e.US="US",e.OCEANIA="OC",e.SOUTH_AMERICA="SA",e.AFRICA="AF",e.OVERSEA="OVERSEA",e.GLOBAL="GLOBAL",e.EXTENSIONS="GLOBAL",e})({});const m6={CHINA:{},ASIA:{CODE:Ui.ASIA,WEBCS_DOMAIN:["ap-web-1-asia.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-asia.agora.io"],PROXY_CS:["proxy-ap-web-asia.agora.io"],CDS_AP:["cds-ap-web-asia.agora.io","cds-ap-web-asia2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-asia.agora.io","sua-ap-web-asia2.agora.io"],UAP_AP:["uap-ap-web-asia.agora.io","uap-ap-web-asia2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-asia.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-asia.agora.io"],LOG_UPLOAD_SERVER:["logservice-asia.agora.io"],PROXY_SERVER_TYPE3:["southeast-asia.webrtc-cloud-proxy.sd-rtn.com"]},NORTH_AMERICA:{CODE:Ui.NORTH_AMERICA,WEBCS_DOMAIN:["ap-web-1-north-america.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-north-america.agora.io"],PROXY_CS:["proxy-ap-web-america.agora.io"],CDS_AP:["cds-ap-web-america.agora.io","cds-ap-web-america2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-america.agora.io","sua-ap-web-america2.agora.io"],UAP_AP:["uap-ap-web-america.agora.io","uap-ap-web-america2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-north-america.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-north-america.agora.io"],LOG_UPLOAD_SERVER:["logservice-north-america.agora.io"],PROXY_SERVER_TYPE3:["east-usa.webrtc-cloud-proxy.sd-rtn.com"]},EUROPE:{CODE:Ui.EUROPE,WEBCS_DOMAIN:["ap-web-1-europe.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-europe.agora.io"],PROXY_CS:["proxy-ap-web-europe.agora.io"],CDS_AP:["cds-ap-web-europe.agora.io","cds-ap-web-europe2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-europe.agora.io","sua-ap-web-europe.agora.io"],UAP_AP:["uap-ap-web-europe.agora.io","uap-ap-web-europe2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-europe.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-europe.agora.io"],LOG_UPLOAD_SERVER:["logservice-europe.agora.io"],PROXY_SERVER_TYPE3:["europe.webrtc-cloud-proxy.sd-rtn.com"]},JAPAN:{CODE:Ui.JAPAN,WEBCS_DOMAIN:["ap-web-1-japan.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-japan.agora.io"],PROXY_CS:["proxy-ap-web-japan.agora.io"],CDS_AP:["cds-ap-web-japan.agora.io","cds-ap-web-japan2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-japan.agora.io","sua-ap-web-japan2.agora.io"],UAP_AP:["uap-ap-web-japan.agora.io","uap-ap-web-japan2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-japan.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-japan.agora.io"],LOG_UPLOAD_SERVER:["logservice-japan.agora.io"],PROXY_SERVER_TYPE3:["japan.webrtc-cloud-proxy.sd-rtn.com"]},INDIA:{CODE:Ui.INDIA,WEBCS_DOMAIN:["ap-web-1-india.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-india.agora.io"],PROXY_CS:["proxy-ap-web-india.agora.io"],CDS_AP:["cds-ap-web-india.agora.io","cds-ap-web-india2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-india.agora.io","sua-ap-web-india2.agora.io"],UAP_AP:["uap-ap-web-india.agora.io","uap-ap-web-india2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-india.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-india.agora.io"],LOG_UPLOAD_SERVER:["logservice-india.agora.io"],PROXY_SERVER_TYPE3:["india.webrtc-cloud-proxy.sd-rtn.com"]},KOREA:{CODE:Ui.KOREA,WEBCS_DOMAIN:["ap-web-1-korea.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-korea.agora.io"],PROXY_CS:["proxy-ap-web-korea.agora.io"],CDS_AP:["cds-ap-web-korea.agora.io","cds-ap-web-korea2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-korea.agora.io","sua-ap-web-korea2.agora.io"],UAP_AP:["uap-ap-web-korea.agora.io","uap-ap-web-korea2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-korea.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-korea.agora.io"],LOG_UPLOAD_SERVER:["logservice-korea.agora.io"],PROXY_SERVER_TYPE3:["korea.webrtc-cloud-proxy.sd-rtn.com"]},HKMC:{CODE:Ui.HKMC,WEBCS_DOMAIN:["ap-web-1-hkmc.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-hkmc.agora.io"],PROXY_CS:["proxy-ap-web-hkmc.agora.io"],CDS_AP:["cds-ap-web-hkmc.agora.io","cds-ap-web-hkmc2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-hkmc.agora.io","sua-ap-web-hkmc2.agora.io"],UAP_AP:["uap-ap-web-hkmc.agora.io","uap-ap-web-hkmc2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-hkmc.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-hkmc.agora.io"],LOG_UPLOAD_SERVER:["logservice-hkmc.agora.io"],PROXY_SERVER_TYPE3:["hkmc.webrtc-cloud-proxy.sd-rtn.com"]},US:{CODE:Ui.US,WEBCS_DOMAIN:["ap-web-1-us.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-us.agora.io"],PROXY_CS:["proxy-ap-web-us.agora.io"],CDS_AP:["cds-ap-web-us.agora.io","cds-ap-web-us2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-us.agora.io","sua-ap-web-us2.agora.io"],UAP_AP:["uap-ap-web-us.agora.io","uap-ap-web-us2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-us.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-us.agora.io"],LOG_UPLOAD_SERVER:["logservice-us.agora.io"],PROXY_SERVER_TYPE3:["us.webrtc-cloud-proxy.sd-rtn.com"]},OVERSEA:{CODE:Ui.OVERSEA,WEBCS_DOMAIN:["ap-web-1-oversea.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-oversea.agora.io"],PROXY_CS:["proxy-ap-web-oversea.agora.io"],CDS_AP:["cds-ap-web-oversea.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-oversea.agora.io"],UAP_AP:["uap-ap-web-oversea.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-oversea.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-oversea.agora.io"],LOG_UPLOAD_SERVER:["logservice-oversea.agora.io"],PROXY_SERVER_TYPE3:["webrtc-cloud-proxy.agora.io"]},GLOBAL:{CODE:Ui.GLOBAL,WEBCS_DOMAIN:["webrtc2-ap-web-1.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["webrtc2-ap-web-3.agora.io"],PROXY_CS:["ap-proxy-1.agora.io","ap-proxy-2.agora.io"],CDS_AP:["cds-ap-web-1.agora.io","cds-ap-web-3.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-1.agora.io","sua-ap-web-3.agora.io"],UAP_AP:["uap-ap-web-1.agora.io","uap-ap-web-3.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2.agora.io"],LOG_UPLOAD_SERVER:["logservice.agora.io"],PROXY_SERVER_TYPE3:["webrtc-cloud-proxy.sd-rtn.com"]},OCEANIA:{CODE:Ui.OCEANIA,WEBCS_DOMAIN:["ap-web-1-oceania.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-oceania.agora.io"],PROXY_CS:["proxy-ap-web-oceania.agora.io"],CDS_AP:["cds-ap-web-oceania.agora.io","cds-ap-web-oceania2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-oceania.agora.io","sua-ap-web-oceania2.agora.io"],UAP_AP:["uap-ap-web-oceania.agora.io","uap-ap-web-oceania2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-oceania.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-oceania.agora.io"],LOG_UPLOAD_SERVER:["logservice-oceania.agora.io"],PROXY_SERVER_TYPE3:["oceania.webrtc-cloud-proxy.sd-rtn.com"]},SOUTH_AMERICA:{CODE:Ui.SOUTH_AMERICA,WEBCS_DOMAIN:["ap-web-1-south-america.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-south-america.agora.io"],PROXY_CS:["proxy-ap-web-south-america.agora.io"],CDS_AP:["cds-ap-web-south-america.agora.io","cds-ap-web-south-america2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-south-america.agora.io","sua-ap-web-south-america2.agora.io"],UAP_AP:["uap-ap-web-south-america.agora.io","uap-ap-web-south-america2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-south-america.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-south-america.agora.io"],LOG_UPLOAD_SERVER:["logservice-south-america.agora.io"],PROXY_SERVER_TYPE3:["south-america.webrtc-cloud-proxy.sd-rtn.com"]},AFRICA:{CODE:Ui.AFRICA,WEBCS_DOMAIN:["ap-web-1-africa.agora.io"],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-africa.agora.io"],PROXY_CS:["proxy-ap-web-africa.agora.io"],CDS_AP:["cds-ap-web-africa.agora.io","cds-ap-web-africa2.agora.io"],ACCOUNT_REGISTER:["sua-ap-web-africa.agora.io","sua-ap-web-africa2.agora.io"],UAP_AP:["uap-ap-web-africa.agora.io","uap-ap-web-africa2.agora.io"],EVENT_REPORT_DOMAIN:["statscollector-1-africa.agora.io"],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-africa.agora.io"],LOG_UPLOAD_SERVER:["logservice-south-africa.agora.io"],PROXY_SERVER_TYPE3:["africa.webrtc-cloud-proxy.sd-rtn.com"]},EXTENSIONS:{}};uI&&(m6.CHINA={CODE:Ui.CHINA,WEBCS_DOMAIN:["webrtc2-2.ap.sd-rtn.com"],WEBCS_DOMAIN_BACKUP_LIST:["webrtc2-4.ap.sd-rtn.com"],PROXY_CS:["proxy-web.ap.sd-rtn.com"],CDS_AP:["cds-web-2.ap.sd-rtn.com","cds-web-4.ap.sd-rtn.com"],ACCOUNT_REGISTER:["sua-web-2.ap.sd-rtn.com","sua-web-4.ap.sd-rtn.com"],UAP_AP:["uap-web-2.ap.sd-rtn.com","uap-web-4.ap.sd-rtn.com"],EVENT_REPORT_DOMAIN:["web-3.statscollector.sd-rtn.com"],EVENT_REPORT_BACKUP_DOMAIN:["web-4.statscollector.sd-rtn.com"],LOG_UPLOAD_SERVER:["logservice-china.agora.io"],PROXY_SERVER_TYPE3:["east-cn.webrtc-cloud-proxy.sd-rtn.com"]});let QA=(function(e){return e.UPDATE_BITRATE_LIMIT="update_bitrate_limit",e})({});class wq extends fr{constructor(t,n){super(),H(this,"onICEConnectionStateChange",void 0),H(this,"onConnectionStateChange",void 0),H(this,"onDTLSTransportStateChange",void 0),H(this,"onDTLSTransportError",void 0),H(this,"onICETransportStateChange",void 0),H(this,"onFirstAudioReceived",void 0),H(this,"onFirstVideoReceived",void 0),H(this,"onFirstAudioDecoded",void 0),H(this,"onFirstVideoDecoded",void 0),H(this,"onFirstVideoDecodedTimeout",void 0),H(this,"onSelectedLocalCandidateChanged",void 0),H(this,"onSelectedRemoteCandidateChanged",void 0),H(this,"getLocalVideoStats",void 0)}}class Tq extends wq{constructor(t,n){super(t,n),H(this,"establishPromise",void 0)}}let vt=(function(e){return e.VIDEO="video",e.AUDIO="audio",e})({}),ls=(function(e){return e[e.UDP=0]="UDP",e[e.TCP=1]="TCP",e[e.RELAY=2]="RELAY",e})({}),Dl=(function(e){return e[e.FIRST_CONNECTION=0]="FIRST_CONNECTION",e[e.TCP_RESTART=1]="TCP_RESTART",e[e.RELAY_RESTART=2]="RELAY_RESTART",e[e.OLD_FIRST_CONNECTION=10]="OLD_FIRST_CONNECTION",e[e.OLD_RESTART=11]="OLD_RESTART",e[e.DISCONNECTED_OR_FAILED=20]="DISCONNECTED_OR_FAILED",e})({}),ze=(function(e){return e.LocalVideoTrack="videoTrack",e.LocalAudioTrack="audioTrack",e.LocalVideoLowTrack="videoLowTrack",e})({}),bn=(function(e){return e.New="new",e.Connected="connected",e.Reconnecting="reconnecting",e.Disconnected="disconnected",e})({}),Ot=(function(e){return e.StateChange="stateChange",e.IceConnectionStateChange="iceConnectionStateChange",e.RequestMuteLocal="requestMuteLocal",e.RequestUnmuteLocal="requestUnmuteLocal",e.RequestRePublish="requestRePublish",e.RequestRePublishDataChannel="requestRePublishDataChannel",e.RequestReSubscribe="requestReSubscribe",e.RequestUploadStats="requestUploadStats",e.RequestUpload="requestUpload",e.MediaReconnectStart="MediaReconnectStart",e.MediaReconnectEnd="MediaReconnectEnd",e.NeedSignalRTT="NeedSignalRTT",e.RequestRestartICE="RequestRestartIce",e.PeerConnectionStateChange="PeerConnectionStateChange",e.RequestReconnect="RequestReconnect",e.RequestReconnectPC="RequestReconnectPC",e.RequestUnpublishForReconnectPC="RequestUnpublishForReconnectPC",e.P2PLost="P2PLost",e.UpdateVideoEncoder="UpdateVideoEncoder",e.ConnectionTypeChange="ConnectionTypeChange",e.RequestLowStreamParameter="RequestLowStreamParameter",e.QueryClientConnectionState="QueryClientConnectionState",e.LocalCandidate="LocalCandidate",e.RequestP2PMuteLocal="requestP2PMuteLocal",e.RequestP2PUnPublish="RequestP2PUnPublish",e.RequestP2PUnmuteRemote="RequestP2PUnmuteRemote",e.RequestP2PMuteRemote="RequestP2PMuteRemote",e.RequestP2PRestartICE="RequestP2PRestartICE",e})({}),ba=(function(e){return e.CONNECTING="CONNECTING",e.RECONNECTING="RECONNECTING",e.CONNECTED="CONNECTED",e.CLOSED="CLOSED",e})({}),pa=(function(e){return e[e.CONNECT_AP=0]="CONNECT_AP",e[e.AP_CONNECTED=1]="AP_CONNECTED",e[e.CONNECT_WORKER_MANAGER=2]="CONNECT_WORKER_MANAGER",e[e.WORKER_MANAGER_CONNECTED=3]="WORKER_MANAGER_CONNECTED",e[e.GET_WORKER_MANAGER_RESPONSE=4]="GET_WORKER_MANAGER_RESPONSE",e[e.CONNECT_WORKER=5]="CONNECT_WORKER",e[e.WORKER_CONNECTED=6]="WORKER_CONNECTED",e[e.CLOSED=7]="CLOSED",e})({}),ci=(function(e){return e.CONNECTION_STATE_CHANGE="connection-state-change",e.STATE_CHANGE="state-change",e.INSPECT_RESULT="inspect-result",e.CLIENT_LOCAL_VIDEO_TRACK="client-local-video-track",e.REQUEST_NEW_WORKER_URL="request-new-worker-url",e})({}),Iq=(function(e){return e.CONNECTED="transmitter:connected",e.RECONNECTING="transmitter:reconnecting",e.WILL_RECONNECT="transmitter:will_reconnect",e.CLOSED="transmitter:closed",e.FAILED="transmitter:failed",e.ON_MESSAGE="transmitter:on_message",e.REQUEST_NEW_URLS="transmitter:request_new_urls",e.RECONNECT_WAITTING_FINISH="transmitter:reconnect_waitting_finish",e.RECONNECT_CREATE_CONNECTION="transmitter:reconnect_create_connection",e.ON_TOKEN_PRIVILEGE_DID_EXPIRE="transmitter:on_token_privilege_did_expire",e.TO_CONNECT_DATACHANNEL="transmitter:to_connect_datachannel",e.FAILBACK="transmitter:failback",e.PRE_CONNECT_PC="transmitter:pre_connect_pc",e})({}),Jc=(function(e){return e.CAMERA_CHANGED="camera-changed",e.MICROPHONE_CHANGED="microphone-changed",e.PLAYBACK_DEVICE_CHANGED="playback-device-changed",e.AUDIO_AUTOPLAY_FAILED="audio-autoplay-failed",e.AUTOPLAY_FAILED="autoplay-failed",e.AUDIO_CONTEXT_STATE_CHANGED="audio-context-state-changed",e.SECURITY_POLICY_VIOLATION="security-policy-violation",e})({}),Xs=(function(e){return e.CONNECTING="CONNECTING",e.RECONNECTING="RECONNECTING",e.CONNECTED="CONNECTED",e.CLOSED="CLOSED",e})({}),Ka=(function(e){return e.CONNECTION_STATE_CHANGE="connection-state-change",e.STATE_CHANGE="state-change",e.INSPECT_RESULT="inspect-result",e.CLIENT_LOCAL_VIDEO_TRACK="client-local-video-track",e.REQUEST_NEW_WORKER_URL="request-new-worker-url",e})({}),Xf=(function(e){return e[e.CONNECT_AP=0]="CONNECT_AP",e[e.AP_CONNECTED=1]="AP_CONNECTED",e[e.CONNECT_WORKER_MANAGER=2]="CONNECT_WORKER_MANAGER",e[e.WORKER_MANAGER_CONNECTED=3]="WORKER_MANAGER_CONNECTED",e[e.GET_WORKER_MANAGER_RESPONSE=4]="GET_WORKER_MANAGER_RESPONSE",e[e.CONNECT_WORKER=5]="CONNECT_WORKER",e[e.WORKER_CONNECTED=6]="WORKER_CONNECTED",e[e.CLOSED=7]="CLOSED",e})({}),Cr=(function(e){return e.CALL="call",e.CANDIDATE="candidate",e.PUBLISH="publish",e.UNPUBLISH="unpublish",e.CONTROL="control",e.RESTART_ICE="restart_ice",e.ACK="ack",e.RESPONSE="response",e.JOIN="join",e.CHECK="check",e})({}),Qf=(function(e){return e.ABORT="abort",e})({}),Sd=(function(e){return e.MUTE_LOCAL_AUDIO="mute_local_audio",e.MUTE_LOCAL_VIDEO="mute_local_video",e.UNMUTE_LOCAL_AUDIO="unmute_local_audio",e.UNMUTE_LOCAL_VIDEO="unmute_local_video",e})({}),JNe=(function(e){return e.P2P_TOKEN_TIMEOUT="p2p_token_timeout",e.P2P_TOKEN_CHANGED="p2p_token_changed",e})({});const ZNe={[E3.ACCESS_POINT]:{[uo.NO_FLAG_SET]:{desc:"flag is zero",retry:!1},[uo.FLAG_SET_BUT_EMPTY]:{desc:"flag is empty",retry:!1},[uo.INVALID_FALG_SET]:{desc:"invalid flag",retry:!1},[uo.FLAG_SET_BUT_NO_RE]:{desc:"flag set unilbs but no request",retry:!1},[uo.INVALID_SERVICE_ID]:{desc:"invalid service id",retry:!1},[uo.NO_SERVICE_AVAILABLE]:{desc:"no service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_P2P]:{desc:"no unilbs p2p service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_VOICE]:{desc:"no unilbs voice service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_WEBRTC]:{desc:"no unilbs webrtc service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_CDS]:{desc:"no cds service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_CDN]:{desc:"no cdn dispatcher service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_TDS]:{desc:"no tds service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_REPORT]:{desc:"no unilbs report service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_APP_CENTER]:{desc:"no app center service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_ENV0]:{desc:"no unilbs sig env0 service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_VOET]:{desc:"no unilbs voet service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_STRING_UID]:{desc:"no string uid service available",retry:!0},[uo.NO_SERVICE_AVAILABLE_WEBRTC_UNILBS]:{desc:"no webrtc unilbs service available",retry:!0}},[E3.UNILBS]:{[ha.INVALID_VENDOR_KEY]:{desc:"invalid vendor key, can not find appid",retry:!1},[ha.INVALID_CHANNEL_NAME]:{desc:"invalid channel name",retry:!1},[ha.INTERNAL_ERROR]:{desc:"unilbs internal error",retry:!1},[ha.NO_AUTHORIZED]:{desc:"invalid token, authorized failed",retry:!1},[ha.DYNAMIC_KEY_TIMEOUT]:{desc:"dynamic key or token timeout",retry:!1},[ha.NO_ACTIVE_STATUS]:{desc:"no active status",retry:!1},[ha.DYNAMIC_KEY_EXPIRED]:{desc:"dynamic key expired",retry:!1},[ha.STATIC_USE_DYNAMIC_KEY]:{desc:"static use dynamic key",retry:!1},[ha.DYNAMIC_USE_STATIC_KEY]:{desc:"dynamic use static key",retry:!1},[ha.USER_OVERLOAD]:{desc:"amount of users over load",retry:!1},[ha.FORBIDDEN_REGION]:{desc:"the request is forbidden in this area",retry:!1},[ha.CANNOT_MEET_AREA_DEMAND]:{desc:"unable to allocate services in this area",retry:!1}},[E3.STRING_UID_ALLOCATOR]:{[j9.IIIEGAL_APPID]:{desc:"invalid appid",retry:!1},[j9.IIIEGAL_UID]:{desc:"invalid string uid",retry:!1},[j9.INTERNAL_ERROR]:{desc:"string uid allocator internal error",retry:!0}}};function Sp(e){const t=ZNe[Math.floor(e/1e4)];if(!t)return{desc:"unknown error",retry:!1};const n=t[e%1e4];if(!n){if(Math.floor(e/1e4)===E3.ACCESS_POINT){const r=e%1e4;if(r.toString()[0]==="1")return{desc:e.toString(),retry:!1};if(r.toString()[0]==="2")return{desc:e.toString(),retry:!0}}return{desc:"unknown error",retry:!1}}return n}const YNe={[Tt.K_TIMESTAMP_EXPIRED]:{desc:"K_TIMESTAMP_EXPIRED",action:"failed"},[Tt.K_CHANNEL_PERMISSION_INVALID]:{desc:"K_CHANNEL_PERMISSION_INVALID",action:"failed"},[Tt.K_CERTIFICATE_INVALID]:{desc:"K_CERTIFICATE_INVALID",action:"failed"},[Tt.K_CHANNEL_NAME_EMPTY]:{desc:"K_CHANNEL_NAME_EMPTY",action:"failed"},[Tt.K_CHANNEL_NOT_FOUND]:{desc:"K_CHANNEL_NOT_FOUND",action:"failed"},[Tt.K_TICKET_INVALID]:{desc:"K_TICKET_INVALID",action:"failed"},[Tt.K_CHANNEL_CONFLICTED]:{desc:"K_CHANNEL_CONFLICTED",action:"failed"},[Tt.K_SERVICE_NOT_READY]:{desc:"K_SERVICE_NOT_READY",action:"tryNext"},[Tt.K_SERVICE_TOO_HEAVY]:{desc:"K_SERVICE_TOO_HEAVY",action:"tryNext"},[Tt.K_UID_BANNED]:{desc:"K_UID_BANNED",action:"failed"},[Tt.K_IP_BANNED]:{desc:"K_IP_BANNED",action:"failed"},[Tt.K_AUTO_REBALANCE]:{desc:"k_AUTO_REBALANCE",action:"recover"},[Tt.ERR_INVALID_VENDOR_KEY]:{desc:"ERR_INVALID_VENDOR_KEY",action:"failed"},[Tt.ERR_INVALID_CHANNEL_NAME]:{desc:"ERR_INVALID_CHANNEL_NAME",action:"failed"},[Tt.WARN_NO_AVAILABLE_CHANNEL]:{desc:"WARN_NO_AVAILABLE_CHANNEL",action:"failed"},[Tt.WARN_LOOKUP_CHANNEL_TIMEOUT]:{desc:"WARN_LOOKUP_CHANNEL_TIMEOUT",action:"tryNext"},[Tt.WARN_LOOKUP_CHANNEL_REJECTED]:{desc:"WARN_LOOKUP_CHANNEL_REJECTED",action:"failed"},[Tt.WARN_OPEN_CHANNEL_TIMEOUT]:{desc:"WARN_OPEN_CHANNEL_TIMEOUT",action:"tryNext"},[Tt.WARN_OPEN_CHANNEL_REJECTED]:{desc:"WARN_OPEN_CHANNEL_REJECTED",action:"failed"},[Tt.WARN_REQUEST_DEFERRED]:{desc:"WARN_REQUEST_DEFERRED",action:"failed"},[Tt.ERR_DYNAMIC_KEY_TIMEOUT]:{desc:"ERR_DYNAMIC_KEY_TIMEOUT",action:"failed"},[Tt.ERR_NO_AUTHORIZED]:{desc:"ERR_NO_AUTHORIZED",action:"failed"},[Tt.ERR_VOM_SERVICE_UNAVAILABLE]:{desc:"ERR_VOM_SERVICE_UNAVAILABLE",action:"tryNext"},[Tt.ERR_NO_CHANNEL_AVAILABLE_CODE]:{desc:"ERR_NO_CHANNEL_AVAILABLE_CODE",action:"failed"},[Tt.ERR_MASTER_VOCS_UNAVAILABLE]:{desc:"ERR_MASTER_VOCS_UNAVAILABLE",action:"tryNext"},[Tt.ERR_INTERNAL_ERROR]:{desc:"ERR_INTERNAL_ERROR",action:"tryNext"},[Tt.ERR_NO_ACTIVE_STATUS]:{desc:"ERR_NO_ACTIVE_STATUS",action:"failed"},[Tt.ERR_INVALID_UID]:{desc:"ERR_INVALID_UID",action:"failed"},[Tt.ERR_DYNAMIC_KEY_EXPIRED]:{desc:"ERR_DYNAMIC_KEY_EXPIRED",action:"failed"},[Tt.ERR_STATIC_USE_DYANMIC_KE]:{desc:"ERR_STATIC_USE_DYANMIC_KE",action:"failed"},[Tt.ERR_DYNAMIC_USE_STATIC_KE]:{desc:"ERR_DYNAMIC_USE_STATIC_KE",action:"failed"},[Tt.ERR_NO_VOCS_AVAILABLE]:{desc:"ERR_NO_VOCS_AVAILABLE",action:"tryNext"},[Tt.ERR_NO_VOS_AVAILABLE]:{desc:"ERR_NO_VOS_AVAILABLE",action:"tryNext"},[Tt.ERR_JOIN_CHANNEL_TIMEOUT]:{desc:"ERR_JOIN_CHANNEL_TIMEOUT",action:"tryNext"},[Tt.ERR_JOIN_BY_MULTI_IP]:{desc:"ERR_JOIN_BY_MULTI_IP",action:"recover"},[Tt.ERR_NOT_JOINED]:{desc:"ERR_NOT_JOINED",action:"failed"},[Tt.ERR_REPEAT_JOIN_REQUEST]:{desc:"ERR_REPEAT_JOIN_REQUEST",action:"quit"},[Tt.ERR_REPEAT_JOIN_CHANNEL]:{desc:"ERR_REPEAT_JOIN_CHANNEL",action:"quit"},[Tt.ERR_INVALID_STRINGUID]:{desc:"ERR_INVALID_STRINGUID",action:"failed"},[Tt.ERR_TOO_MANY_USERS]:{desc:"ERR_TOO_MANY_USERS",action:"tryNext"},[Tt.ERR_SET_CLIENT_ROLE_TIMEOUT]:{desc:"ERR_SET_CLIENT_ROLE_TIMEOUT",action:"failed"},[Tt.ERR_SET_CLIENT_ROLE_NO_PERMISSION]:{desc:"ERR_SET_CLIENT_ROLE_TIMEOUT",action:"failed"},[Tt.ERR_SET_CLIENT_ROLE_ALREADY_IN_USE]:{desc:"ERR_SET_CLIENT_ROLE_ALREADY_IN_USE",action:"success"},[Tt.ERR_PUBLISH_REQUEST_INVALID]:{desc:"ERR_PUBLISH_REQUEST_INVALID",action:"failed"},[Tt.ERR_SUBSCRIBE_REQUEST_INVALID]:{desc:"ERR_SUBSCRIBE_REQUEST_INVALID",action:"failed"},[Tt.ERR_NOT_SUPPORTED_MESSAGE]:{desc:"ERR_NOT_SUPPORTED_MESSAGE",action:"failed"},[Tt.ERR_ILLEAGAL_PLUGIN]:{desc:"ERR_ILLEAGAL_PLUGIN",action:"failed"},[Tt.ILLEGAL_CLIENT_ROLE_LEVEL]:{desc:"ILLEGAL_CLIENT_ROLE_LEVEL",action:"failed"},[Tt.ERR_REJOIN_TOKEN_INVALID]:{desc:"ERR_REJOIN_TOKEN_INVALID",action:"failed"},[Tt.ERR_REJOIN_USER_NOT_JOINED]:{desc:"ERR_REJOIN_NOT_JOINED",action:"failed"},[Tt.ERR_INVALID_OPTIONAL_INFO]:{desc:"ERR_INVALID_OPTIONAL_INFO",action:"quit"},[Tt.ERR_TEST_RECOVER]:{desc:"ERR_TEST_RECOVER",action:"recover"},[Tt.ERR_TEST_TRYNEXT]:{desc:"ERR_TEST_TRYNEXT",action:"recover"},[Tt.ERR_TEST_RETRY]:{desc:"ERR_TEST_RETRY",action:"recover"},[Tt.ILLEGAL_AES_PASSWORD]:{desc:"ERR_TEST_RETRY",action:"failed"},[Tt.ERR_TOO_MANY_BROADCASTERS]:{desc:"ERR_TOO_MANY_BROADCASTERS",action:"failed"},[Tt.ERR_TOO_MANY_SUBSCRIBERS]:{desc:"ERR_TOO_MANY_SUBSCRIBERS",action:"failed"},[Tt.ERR_LICENSE_ILLEGAL]:{desc:"ERR_LICENSE_ILLEGAL",action:"quit"},[Tt.ERR_LICENSE_MISSING]:{desc:"ERR_LICENSE_MISSING",action:"quit"},[Tt.ERR_LICENSE_EXPIRED]:{desc:"ERR_LICENSE_EXPIRED",action:"quit"},[Tt.ERR_LICENSE_MINUTES_EXCEEDED]:{desc:"ERR_LICENSE_MINUTES_EXCEEDED",action:"quit"},[Tt.ERR_LICENSE_PERIOD_INVALID]:{desc:"ERR_LICENSE_PERIOD_INVALID",action:"quit"},[Tt.ERR_LICENSE_MULTIPLE_SDK_SERVICE]:{desc:"ERR_LICENSE_MULTIPLE_SDK_SERVICE",action:"quit"}};function ug(e){return YNe[e]||{desc:"UNKNOWN_ERROR_".concat(e),action:"failed"}}function PM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function W9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?PM(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):PM(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function OM(e){return e.every((t=>t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING))}function _M(e,t){if(typeof e=="string")return e;const{proxy:n,host:r,port:i}=e;if(t){const o=he("JOIN_GATEWAY_FALLBACK_PORT")||443;return o===443?"wss://".concat(r,"/ws/?p=").concat(Number(i)+150):"wss://".concat(r,":").concat(o,"/ws/?p=").concat(Number(i)+150)}return n?"wss://".concat(n,"/ws/?h=").concat(r,"&p=").concat(i):"wss://".concat(r,":").concat(i)}const XNe=/wss:\/\/(.+)\/ws\/\?h=(.+)&p=([0-9]+)\/?/,QNe=/wss:\/\/(.+)\/ws\/\?p=([0-9]+)\/?/,KNe=/wss:\/\/(.+):([0-9]+)\/?/,qNe=/wss:\/\/(.[^\/]+)\/?/;let $Ne=0;class eMe{constructor(t,n){H(this,"id",0),H(this,"store",void 0),H(this,"recordIndex",void 0),H(this,"websockets",[]),H(this,"try443PortDuration",2e3),H(this,"forceCloseWSDuration",5e3),H(this,"try443PortTimeout",null),H(this,"forceCloseTimeout",null),H(this,"isTry443PortFailed",!1),H(this,"isNormalPortFailed",!1),H(this,"useDoubleDomain",!1),H(this,"useProxy",!1),H(this,"startTime",Date.now()),this.id=++$Ne,this.try443PortDuration=he("JOIN_GATEWAY_TRY_443PORT_DURATION")||2e3,this.forceCloseWSDuration=t||5e3,this.store=n}closeAllWebsockets(){this.websockets.forEach((t=>{t.onopen=null,t.onclose=null,t.onmessage=null,t.close()})),this.websockets.length=0}clearTimeout(){this.forceCloseTimeout&&clearTimeout(this.forceCloseTimeout),this.try443PortTimeout&&clearTimeout(this.try443PortTimeout)}logger(){var t;const n=Date.now()-this.startTime;for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];D.debug("[choose-best-ws ".concat((t=this.store)===null||t===void 0?void 0:t.clientId," ").concat(this.id,"] ").concat(n,"ms:"),...i)}createWebSocket(t,n,r){this.logger("createWebSocket:",t,{isTry443Port:n,hasTimeoutDetection:r});const i=he("GATEWAY_DOMAINS"),o=Date.now(),s=[],a=i.find((u=>{var d;return lt(d=t.host).call(d,u)}));a||(this.useDoubleDomain=!1);const c=[];if(this.useDoubleDomain)i.forEach((u=>{c.push(_M(W9(W9({},t),{},{host:t.host.replace(a,u)}),n))}));else{const u=W9({},t);if(n&&a){const d=i.find((f=>f!==a));d&&(u.host=u.host.replace(a,d))}c.push(_M(u,n))}try{c.forEach((u=>{const d=new WebSocket(u);d.binaryType="arraybuffer",s.push(d),this.logger("ws is connecting:",d.url)}))}catch(u){if(this.logger("ws create failed"),s.forEach((d=>d.close())),s.length=0,this.useDoubleDomain)return this.useDoubleDomain=!1,this.createWebSocket(t,n,r);if(!n&&Number(t.port)!==443)return this.createWebSocket(t,!0,r);throw new xe(Q.WS_ERR,"init websocket failed! Error: ".concat(u.toString()))}const l=sg();return this.store&&this.store.recordJoinChannelService({urls:s.map((u=>u.url)),service:"gateway"},this.recordIndex),s.forEach((u=>{u.onopen=()=>{this.logger("onopen: ws ".concat(u.url," open cost ").concat(Date.now()-o,"ms")),this.websockets.forEach((d=>{d!==u&&(d.onopen=null,d.onclose=null,d.onmessage=null,d.close(),this.logger("close backup websocket: ".concat(d.url)))})),this.websockets.length=0,l.resolve(u)},u.onclose=d=>{this.logger("onclose: ws ".concat(u.url," closed cost ").concat(Date.now()-o,"ms state: ").concat(u.readyState)),n?this.isTry443PortFailed=OM(s):this.isNormalPortFailed=OM(s),this.logger("443: ".concat(this.useProxy?"not try":this.isTry443PortFailed?"failed":"trying"," 47xx: ").concat(this.isNormalPortFailed?"failed":"trying")),(n&&this.isTry443PortFailed||!n&&(this.isTry443PortFailed||this.useProxy)&&this.isNormalPortFailed)&&(this.logger("onclose: all websocket is closed, ".concat(d.reason)),l.reject({code:d.code,reason:b3.A_ROUND_WS_FAILED}))},u.onmessage=d=>this.logger("".concat(u.url," onmessage: ").concat(d.data))})),this.websockets.push(...s),r||(()=>{const u=()=>{this.logger("5s timeout close un-opens, isWebsocket created: ",l.isResolved),this.websockets.forEach((d=>d.readyState!==WebSocket.OPEN&&d.close()))};if(n||this.useProxy)return this.logger("add 5s timeout at ".concat(n?"try-443":"proxy"," condition")),this.forceCloseTimeout=window.setTimeout(u,this.forceCloseWSDuration);this.try443PortTimeout=window.setTimeout((()=>{if(this.logger("2s timeout, isWebsocket created: ",l.isResolved),l.isResolved)return u();an().os===ii.MAC_OS&&Er()&&u(),this.createWebSocket(t,!0,!0).then((d=>l.resolve(d))).catch((d=>{this.isNormalPortFailed&&l.reject(d),this.logger("try 443 port to create ws failed")})),this.forceCloseTimeout=window.setTimeout(u,this.forceCloseWSDuration)}),this.try443PortDuration)})(),l.promise}chooseBestWebsocket(t,n,r,i){return this.useDoubleDomain=!!n,typeof t=="string"&&(t=(function(o){let s,a,c;return[,s,a,c]=o.match(XNe)||[],s||([,a,c]=o.match(QNe)||[]),a&&c||([,a,c]=o.match(KNe)||[]),a&&c||([,a]=o.match(qNe)||[]),a||D.warning("un-destructible url: ",o),{proxy:s,host:a,port:c||"443"}})(t)),this.recordIndex=i,this.useProxy=!!t.proxy,r&&this.useProxy&&(D.warn("cannot use 443 only when use proxy"),r=!1),this.createWebSocket(t,!!r,!1).finally((()=>this.clearTimeout()))}}function RM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}class Pq extends fr{get url(){return this.websocket&&this.websocket.url||null}get reconnectMode(){return this._reconnectMode}set reconnectMode(t){var n;lt(n=["tryNext","recover"]).call(n,t)&&this.resetReconnectCount(t),this._reconnectMode=t}get state(){return this._state}set state(t){t!==this._state&&(this._state=t,this._state==="reconnecting"?this.emit(Bt.RECONNECTING,this.reconnectReason):this._state==="connected"?this.emit(Bt.CONNECTED):this._state==="closed"?this.emit(Bt.CLOSED):this._state==="failed"&&this.emit(Bt.FAILED))}resetReconnectCount(t){D.debug("websocket reset reconnect count, reason: "+t),this.reconnectCount=0}constructor(t,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=arguments.length>3&&arguments[3]!==void 0&&arguments[3],o=arguments.length>4&&arguments[4]!==void 0&&arguments[4],s=arguments.length>5?arguments[5]:void 0;super(),H(this,"connectionID",0),H(this,"currentURLIndex",0),H(this,"urls",[]),H(this,"_reconnectMode","tryNext"),H(this,"reconnectReason",void 0),H(this,"_initMutex",new Hi("websocket")),H(this,"name",void 0),H(this,"_state","closed"),H(this,"reconnectInterrupter",void 0),H(this,"websocket",void 0),H(this,"retryConfig",void 0),H(this,"reconnectCount",0),H(this,"forceCloseTimeout",5e3),H(this,"onlineReconnectListener",void 0),H(this,"useCompress",void 0),H(this,"tryDoubleDomain",!1),H(this,"use443PortOnly",!1),H(this,"wsInflateLength",0),H(this,"wsDeflateLength",0),H(this,"closeEstablishingWs",(()=>{})),H(this,"store",void 0),H(this,"joinGatewayRecordIndex",void 0),this.store=s,this.name=t,this.retryConfig=(function(d){for(var f=1;f<arguments.length;f++){var h=arguments[f]!=null?arguments[f]:{};f%2?RM(Object(h),!0).forEach((function(p){H(d,p,h[p])})):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(h)):RM(Object(h)).forEach((function(p){Object.defineProperty(d,p,Object.getOwnPropertyDescriptor(h,p))}))}return d})({},n),this.useCompress=r,this.tryDoubleDomain=i,this.use443PortOnly=o;const{timeout:a,timeoutFactor:c}=n,l=Math.max(300,Math.floor(3*a/5)),u=Math.max(1.2,Math.floor(8*c)/10);cs.ONLINE&&(this.retryConfig.timeout=l,this.retryConfig.timeoutFactor=u),Fr.on(Th.NETWORK_STATE_CHANGE,((d,f)=>{d!==f&&(this.resetReconnectCount("network state change: ".concat(f," -> ").concat(d)),d===cs.ONLINE?(this.retryConfig.timeout=l,this.retryConfig.timeoutFactor=u):(this.retryConfig.timeout=a,this.retryConfig.timeoutFactor=c))}))}getConnection(){return this.websocket||void 0}async init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5e3;const r=await this._initMutex.lock();this.forceCloseTimeout=n,this.urls=t,this.state="connecting";try{const i=sg(),o=this.urls[this.currentURLIndex];he("ENABLE_PREALLOC_PC")&&this.emit(Iq.PRE_CONNECT_PC),this.createWebSocketConnection(o).then(i.resolve).catch(i.reject),this.once(Bt.CLOSED,(()=>{i.reject(new Be(Q.WS_DISCONNECT))})),this.once(Bt.CONNECTED,i.resolve),await i.promise}catch{}finally{r()}}close(t,n){if(this.currentURLIndex=0,this.resetReconnectCount("close"),this.reconnectInterrupter&&this.reconnectInterrupter(),this.websocket){this.websocket.onclose=null,this.websocket.onopen=null,this.websocket.onmessage=null;const r=this.websocket;n?setTimeout((()=>r.close()),500):r.close(),this.websocket=void 0}this.state=t?"failed":"closed",this.closeEstablishingWs&&this.closeEstablishingWs()}reconnect(t,n){if(!this.websocket)return void D.warning("[".concat(this.name,"] can not reconnect, no websocket"));t!==void 0&&(this.reconnectMode=t),D.debug("[".concat(this.name,"] reconnect is triggered initiative")),typeof this.joinGatewayRecordIndex=="number"&&this.store&&this.store.recordJoinChannelService({status:"error",errors:[new Error(n)]},this.joinGatewayRecordIndex);const r=this.websocket.onclose;this.websocket.onclose=null,this.websocket.close(),r&&r.bind(this.websocket)({code:9999,reason:n})}sendMessage(t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!this.websocket||this.websocket.readyState!==WebSocket.OPEN)throw new Be(Q.WS_ABORT,"websocket is not ready");try{n||(t=JSON.stringify(t)),this.websocket.send(t)}catch(r){throw new Be(Q.WS_ERR,"send websocket message error"+r.toString())}}setWsInflateData(t){this.wsDeflateLength=this.wsDeflateLength+t.originLength,this.wsInflateLength=this.wsInflateLength+t.compressedLength}getWsInflateData(){const t=this.wsInflateLength,n=this.wsDeflateLength;return this.clearWsInflateData(),{wsInflateLength:t,wsDeflateLength:n}}clearWsInflateData(){this.wsInflateLength=0,this.wsDeflateLength=0}async createWebSocketConnection(t){var n;const r=sg();this.connectionID+=1,this.joinGatewayRecordIndex=void 0;const i=u=>{var d;(d=this.store)===null||d===void 0||d.signalChannelOpen(),D.debug("[".concat(this.name,"] websocket opened:"),u),this.reconnectMode="retry",this.state="connected",this.resetReconnectCount("opened"),r.resolve()},o=async u=>{var d;if(D.debug("[".concat(this.name,"] websocket close ").concat((d=this.websocket)===null||d===void 0?void 0:d.url,", code: ").concat(u.code,", reason: ").concat(u.reason,", current mode: ").concat(this.reconnectMode)),this.reconnectCount>=this.retryConfig.maxRetryCount)r.reject(new Be(Q.WS_DISCONNECT,"websocket close: ".concat(u.code))),this.close();else{this.state==="connected"&&(this.reconnectReason=u.reason,this.state="reconnecting");const f=ia(this,Bt.WILL_RECONNECT,this.reconnectMode,u.reason)||this.reconnectMode,h=await this.reconnectWithAction(f);if(this.state==="closed")return void D.debug("[".concat(this.connectionID,"] ws is closed, no need to reconnect"));if(!h)return r.reject(new Be(Q.WS_DISCONNECT,"websocket reconnect failed: ".concat(u.code))),this.close(!0);r.resolve()}},s=u=>{this.emit(Bt.ON_MESSAGE,u)},a=u=>{D.warn("[".concat(this.connectionID,"] ws open error ").concat(u))};this.websocket&&(this.websocket.onclose=null,this.websocket.close()),he("GATEWAY_WSS_ADDRESS")&&this.name.startsWith("gateway")&&(t=he("GATEWAY_WSS_ADDRESS")),D.debug("[".concat(this.name,"] start connect, url:"),t);const c=(n=this.store)===null||n===void 0?void 0:n.recordJoinChannelService({startTs:Date.now(),status:"pending",service:"gateway"});try{var l;const u=await this.chooseBestWebsocketConnection(t);this.websocket=u,i&&i(this.websocket.url),this.websocket.onclose=o,this.websocket.onmessage=s,this.websocket.onerror=a,(l=this.store)===null||l===void 0||l.recordJoinChannelService({endTs:Date.now(),status:"success"},c),this.joinGatewayRecordIndex=c}catch(u){const d=this.state==="closed",f=u instanceof Be,h=f&&u.code===Q.WS_ABORT,p=f&&u.code===Q.WS_ERR,g=f?u.message:u&&(u.reason||u.toString());D.warning("[choose-best-ws] chooseBestWebsocket error: ".concat(g)),this.store&&this.store.recordJoinChannelService({endTs:Date.now(),status:h?"aborted":"error",errors:[u]},c),d||p?(r.reject(d?new Be(Q.WS_DISCONNECT,"websocket is closed: ".concat(g)):new Be(Q.WS_ERR,"init websocket failed: ".concat(g))),p&&D.error("[".concat(this.name,"] init websocket failed: ").concat(g))):o&&o(u)}return r.promise}async reconnectWithAction(t){let n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(this.reconnectCount>=this.retryConfig.maxRetryCount||this.urls.length===0||this.state==="closed")return!1;D.warning("[choose-best-ws] action: =>",t),this.onlineReconnectListener||Fr.isOnline||!Fr.onlineWaiter||(this.onlineReconnectListener=Fr.onlineWaiter.then((()=>{this.onlineReconnectListener=void 0})));let r=!0;if(this.reconnectInterrupter=()=>r=!1,n){const s=lI(this.reconnectCount,this.retryConfig);D.debug("[".concat(this.name,"] wait ").concat(s,"ms to reconnect websocket, mode: ").concat(t)),await ot.race([Ei(s),this.onlineReconnectListener||new ot((()=>{}))])}if(this._state==="closed"||!r)return!1;this.reconnectCount+=1;const i=async(s,a)=>{this.emit(Bt.RECONNECT_CREATE_CONNECTION,a),await this.createWebSocketConnection(s)};try{if(t==="retry")this.emit(Bt.RECONNECT_WAITTING_FINISH,t),await i(this.urls[this.currentURLIndex],t);else if(t==="tryNext"){if(this.currentURLIndex+=1,this.currentURLIndex>=this.urls.length)return this.reconnectWithAction("recover",!1);D.debug("[".concat(this.name,"] websocket url length: ").concat(this.urls.length," current index: ").concat(this.currentURLIndex)),this.emit(Bt.RECONNECT_WAITTING_FINISH,t),await i(this.urls[this.currentURLIndex],t)}else t==="recover"&&(D.debug("[".concat(this.name,"] request new urls")),this.resetReconnectCount("recover mode"),this.emit(Bt.RECONNECT_WAITTING_FINISH,t),this.urls=await ki(this,Bt.REQUEST_NEW_URLS),this.currentURLIndex=0,await i(this.urls[this.currentURLIndex],t))}catch(s){var o;D.error("[".concat(this.name,"] reconnect failed ").concat(s&&s.toString()));const a=s==null||(o=s.data)===null||o===void 0?void 0:o.desc;return Array.isArray(a)&&lt(a).call(a,"dynamic key expired")?(this.emit(Bt.ON_TOKEN_PRIVILEGE_DID_EXPIRE),!1):this.reconnectWithAction(t,n)}return!0}}class hI extends Pq{constructor(t,n){super(t,n,arguments.length>2&&arguments[2]!==void 0&&arguments[2],arguments.length>3&&arguments[3]!==void 0&&arguments[3],arguments.length>4&&arguments[4]!==void 0&&arguments[4],arguments.length>5?arguments[5]:void 0)}async chooseBestWebsocketConnection(t,n){const r=sg(),i=(function(s,a){return new eMe(s,a)})(this.forceCloseTimeout,this.store);this.closeEstablishingWs=()=>{D.debug("[choose-best-ws] close establishing websockets"),i.closeAllWebsockets(),r.reject(new Be(Q.WS_ABORT,"choose best websocket aborted"))};const o=he("GATEWAY_DOMAINS");return D.debug("[choose-best-ws] currentDomain: ",t,", domains: ",o,"total: ".concat(this.urls.length),"current: ".concat(this.currentURLIndex+1)),i.chooseBestWebsocket(t,this.tryDoubleDomain,this.use443PortOnly,n).then(r.resolve).catch(r.reject),r.promise.finally((()=>{this.closeEstablishingWs=void 0}))}}class dg extends Pq{constructor(t,n){super(t,n,arguments.length>2&&arguments[2]!==void 0&&arguments[2],arguments.length>3&&arguments[3]!==void 0&&arguments[3],arguments.length>4&&arguments[4]!==void 0&&arguments[4],arguments.length>5?arguments[5]:void 0)}async chooseBestWebsocketConnection(t,n){return new ot(((r,i)=>{let o=!1;const s=[];this.closeEstablishingWs=()=>{D.debug("[choose-best-ws] close establishing websockets"),s.forEach((p=>{p.onclose=null,p.onopen=null,p.onmessage=null,p.close()})),i(new Be(Q.WS_ABORT,"choose best websocket aborted"))};const a=he("GATEWAY_DOMAINS");let c;const l=t.indexOf("?h="),u=a.find((p=>l!==-1?lt(t).call(t,p,l):lt(t).call(t,p)));D.debug("[choose-best-ws] currentDomain: ",u,", domains: ",a);let d=!this.tryDoubleDomain||!u;if(!d&&u){var f;const p=Date.now();try{a.forEach((g=>{const m=l===-1?t.replace(u,g):t.substr(0,l)+t.substr(l).replace(u,g),y=new WebSocket(m);y.binaryType="arraybuffer",s.push(y),D.debug("[choose-best-ws] ws is connecting:",y.url)}))}catch{for(D.debug("[choose-best-ws] ws create failed, fallback to single url"),s.forEach((m=>m.close()));s.length;)s.pop();d=!0}(f=this.store)===null||f===void 0||f.recordJoinChannelService({urls:s.map((g=>g.url)),service:"gateway"},n),s.forEach((g=>{g.onopen=()=>{if(o)return;const m=Date.now()-p;D.debug("[choose-best-ws] ws open cost ".concat(m,"ms")),s.filter((y=>y!==g)).forEach((y=>{D.debug("[choose-best-ws]close backup websocket: ".concat(y.url)),y.close()})),o=!0,r(g)},g.onclose=m=>{c=m,!o&&(s.find((y=>!(y.readyState===WebSocket.CLOSED||y.readyState===WebSocket.CLOSING)))||(D.debug("[choose-best-ws] all websocket is closed"),o=!0,i(c)))},g.onmessage=m=>{D.debug("[choose-best-ws]".concat(g.url," onmessage: ").concat(m.data))}})),Ei(this.forceCloseTimeout).then((()=>{s.forEach((g=>{g.readyState!==WebSocket.OPEN&&g.close()}))}))}if(d){var h;let p;D.debug("[choose-best-ws] use single url: ",t),(h=this.store)===null||h===void 0||h.recordJoinChannelService({urls:[t],service:"gateway"},n);try{p=new WebSocket(t),s.push(p),p.binaryType="arraybuffer"}catch(g){const m=new Be(Q.WS_ERR,"init websocket failed! Error: ".concat(g.toString()));return D.error("[".concat(this.name,"]").concat(m)),void i(m)}p.onopen=()=>{r(p)},p.onclose=g=>{i(g)},p.onmessage=g=>{D.debug("[choose-best-ws]".concat(p.url," onmessage: ").concat(g.data))},Ei(this.forceCloseTimeout).then((()=>{p&&p.readyState!==WebSocket.OPEN&&p.close()}))}})).then((r=>(this.closeEstablishingWs=void 0,r))).catch((r=>{throw this.closeEstablishingWs=void 0,r}))}}class tMe extends fr{get connectionState(){return this._connectionState}set connectionState(t){t!==this._connectionState&&(this._connectionState=t,t===Hn.CONNECTED?this.emit(Nt.WS_CONNECTED):t===Hn.RECONNECTING?this.emit(Nt.WS_RECONNECTING,this._websocketReconnectReason):t===Hn.CLOSED&&this.emit(Nt.WS_CLOSED,this._disconnectedReason))}get currentURLIndex(){return this.websocket.currentURLIndex}get url(){return this.websocket&&this.websocket.url||null}get rtt(){return this.rttRolling.mean()}constructor(t,n){super(),H(this,"_disconnectedReason",void 0),H(this,"_websocketReconnectReason",void 0),H(this,"_connectionState",Hn.CLOSED),H(this,"reconnectToken",void 0),H(this,"websocket",void 0),H(this,"openConnectionTime",void 0),H(this,"clientId",void 0),H(this,"lastMsgTime",Date.now()),H(this,"uploadCache",[]),H(this,"uploadCacheInterval",void 0),H(this,"rttRolling",new Eq(5)),H(this,"pingpongTimer",void 0),H(this,"wsInflateDataTimer",void 0),H(this,"pingpongTimeoutCount",0),H(this,"joinResponse",void 0),H(this,"multiIpOption",void 0),H(this,"initError",void 0),H(this,"spec",void 0),H(this,"store",void 0),H(this,"onWebsocketMessage",(r=>{if(r.data instanceof ArrayBuffer)return void this.emit(Nt.ON_BINARY_DATA,r.data);const i=JSON.parse(r.data);if(this.lastMsgTime=Date.now(),Object.prototype.hasOwnProperty.call(i,"_id")){const o="res-@".concat(i._id);this.emit(o,i._result,i._message)}else if(Object.prototype.hasOwnProperty.call(i,"_type")){if(this.emit(i._type,i._message),i._type===Kt.ON_NOTIFICATION&&this.handleNotification(i._message),i._type===Kt.ON_USER_BANNED)switch(i._message.error_code){case 14:this.close(Tn.UID_BANNED);break;case 15:this.close(Tn.IP_BANNED);break;case 16:this.close(Tn.CHANNEL_BANNED)}if(i._type===Kt.ON_USER_LICENSE_BANNED)switch(i._message.error_code){case Tt.ERR_LICENSE_MISSING:this.close(Tn.LICENSE_MISSING);break;case Tt.ERR_LICENSE_EXPIRED:this.close(Tn.LICENSE_EXPIRED);break;case Tt.ERR_LICENSE_MINUTES_EXCEEDED:this.close(Tn.LICENSE_MINUTES_EXCEEDED);break;case Tt.ERR_LICENSE_PERIOD_INVALID:this.close(Tn.LICENSE_PERIOD_INVALID);break;case Tt.ERR_LICENSE_MULTIPLE_SDK_SERVICE:this.close(Tn.LICENSE_MULTIPLE_SDK_SERVICE);break;case Tt.ERR_LICENSE_ILLEGAL:this.close(Tn.LICENSE_ILLEGAL);break;default:this.close()}}})),this.clientId=t.clientId,this.spec=t,this.store=n,this.websocket=new hI("gateway-".concat(this.clientId),this.spec.retryConfig,!0,he("JOIN_GATEWAY_USE_DUAL_DOMAIN"),he("JOIN_GATEWAY_USE_443PORT_ONLY"),n),this.handleWebsocketEvents(),window.addEventListener("offline",(()=>{this.connectionState===Hn.CONNECTED&&this.reconnect("retry",Oi.OFFLINE)}))}async request(t,n,r,i){const o=Wn(6,""),s={_id:o,_type:t,_message:n},a=this.websocket.connectionID,c=()=>new ot(((p,g)=>{if(this.connectionState===Hn.CONNECTED)return p();const m=()=>{this.off(Nt.WS_CLOSED,y),p()},y=()=>{this.off(Nt.WS_CONNECTED,m),g(new xe(Q.WS_ABORT))};this.once(Nt.WS_CONNECTED,m),this.once(Nt.WS_CLOSED,y),t!==Dt.PUBLISH&&t!==Dt.PUBLISH_DATASTREAM&&t!==Dt.SUBSCRIBE&&t!==Dt.SUBSCRIBE_DATASTREAM&&t!==Dt.UNSUBSCRIBE&&t!==Dt.UNSUBSCRIBE_DATASTREAM&&t!==Dt.UNPUBLISH&&t!==Dt.UNPUBLISH_DATASTREAM&&t!==Dt.CONTROL&&t!==Dt.RESTART_ICE||this.once(Nt.DISCONNECT_P2P,(()=>{g(new xe(Q.DISCONNECT_P2P))})),t!==Dt.PUBLISH&&t!==Dt.RESTART_ICE||this.once(Nt.ABORT_P2P_EXECUTION,(()=>{g(new xe(Q.DISCONNECT_P2P))}))}));if(this.connectionState!==Hn.CONNECTING&&this.connectionState!==Hn.RECONNECTING||t===Dt.JOIN||t===Dt.REJOIN||await c(),this.websocket.sendMessage(s,!0),i)return;const l=new ot(((p,g)=>{let m=!1;const y=(E,b)=>{m=!0,p({isSuccess:E==="success",message:b||{}}),this.off(Nt.WS_CLOSED,v),this.off(Nt.WS_RECONNECTING,v),this.emit(Nt.REQUEST_SUCCESS,t,n)};this.once("res-@".concat(o),y);const v=()=>{g(new xe(Q.WS_ABORT,"type: ".concat(t))),this.off(Nt.WS_CLOSED,v),this.off(Nt.WS_RECONNECTING,v),this.off("res-@".concat(o),y)};this.once(Nt.WS_CLOSED,v),this.once(Nt.WS_RECONNECTING,v),Ei(he("SIGNAL_REQUEST_TIMEOUT")).then((()=>{this.websocket.connectionID!==a||m||(D.warning("[".concat(this.clientId,"] ws request timeout, type: ").concat(t)),this.emit(Nt.REQUEST_TIMEOUT,t,n))}))}));let u=null;try{u=await l}catch(p){if(this.connectionState===Hn.CLOSED||t===Dt.LEAVE)throw new xe(Q.WS_ABORT);return!this.spec.forceWaitGatewayResponse||r?p.throw():t===Dt.JOIN||t===Dt.REJOIN?null:(await c(),await this.request(t,n))}if(u.isSuccess)return u.message;const d=Number(u.message.error_code||u.message.code),f=ug(d),h=new xe(Q.UNEXPECTED_RESPONSE,"".concat(f.desc,": ").concat(u.message.error_str),{code:d,data:u.message,desc:f.desc});return f.action==="success"?u.message:(D.warning("[".concat(this.clientId,"] [").concat(this.websocket.connectionID,"] unexpected response from type ").concat(t,", error_code: ").concat(d,", message: ").concat(f.desc,", action: ").concat(f.action)),d===Tt.ERR_TOO_MANY_BROADCASTERS?((t===Dt.JOIN||t===Dt.REJOIN)&&(this.initError=h,this.close()),h.throw()):f.action==="failed"?h.throw():f.action==="quit"?(this.initError=h,this.close(),h.throw()):(d===Tt.ERR_JOIN_BY_MULTI_IP?(this.multiIpOption=u.message.option,D.warning("[".concat(this.clientId,"] detect multi ip, recover")),this.reconnect("recover",Oi.MULTI_IP)):this.reconnect(f.action,Oi.SERVER_ERROR),t===Dt.JOIN||t===Dt.REJOIN?null:await this.request(t,n)))}waitMessage(t,n){return new ot((r=>{const i=o=>{(!n||n(o))&&(this.off(t,i),r(o))};this.on(t,i)}))}uploadWRTCStats(t){if(!this.store.sessionId)return void D.warn("[".concat(this.clientId,"] no session id when upload wrtc stats"));const n={lts:Date.now(),sid:this.store.sessionId,uid:this.store.intUid,stats:t};this.upload(lg.WRTC_STATS,n)}upload(t,n){const r={_type:t,_message:n};try{this.websocket.sendMessage(r)}catch{const o=he("MAX_UPLOAD_CACHE")||50;this.uploadCache.push(r),this.uploadCache.length>o&&this.uploadCache.splice(0,1),this.uploadCache.length>0&&!this.uploadCacheInterval&&(this.uploadCacheInterval=window.setInterval((()=>{if(this.connectionState!==Hn.CONNECTED)return;const s=this.uploadCache.splice(0,1)[0];this.uploadCache.length===0&&(window.clearInterval(this.uploadCacheInterval),this.uploadCacheInterval=void 0),this.upload(s._type,s._message)}),he("UPLOAD_CACHE_INTERVAL")||2e3))}}send(t,n){const r={_type:t,_message:n};this.websocket.sendMessage(r)}init(t,n){return this.initError=void 0,this.multiIpOption=void 0,this.joinResponse=void 0,this.reconnectToken=void 0,this.openConnectionTime=void 0,new ot(((r,i)=>{this.once(Nt.WS_CONNECTED,(()=>r(this.joinResponse))),this.once(Nt.WS_CLOSED,(()=>i(this.initError||new xe(Q.WS_ABORT)))),this.connectionState=Hn.CONNECTING,this.websocket.init(t).catch(i),this.wsInflateDataTimer&&window.clearInterval(this.wsInflateDataTimer),this.wsInflateDataTimer=window.setInterval((()=>{this.handleWsInflateData()}),2e4)}))}close(t){this.pingpongTimer&&(this.pingpongTimeoutCount=0,window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0),this.wsInflateDataTimer&&(this.handleWsInflateData(),window.clearInterval(this.wsInflateDataTimer),this.wsInflateDataTimer=void 0),this.reconnectToken=void 0,this.joinResponse=void 0,this._disconnectedReason=t||Tn.LEAVE,this.connectionState=Hn.CLOSED,D.debug("[".concat(this.clientId,"] ")+"will close websocket in signal"),this.websocket.close()}async join(){if(!this.joinResponse){this.emit(Nt.ABORT_P2P_EXECUTION);const t=await ki(this,Nt.REQUEST_JOIN_INFO),n=await this.request(Dt.JOIN,t);if(!n)return this.emit(Nt.REPORT_JOIN_GATEWAY,b3.TIMEOUT,this.url||""),!1;this.joinResponse=n,this.emit(Nt.JOIN_RESPONSE,this.joinResponse),this.reconnectToken=this.joinResponse.rejoin_token}return this.connectionState=Hn.CONNECTED,this.pingpongTimer&&window.clearInterval(this.pingpongTimer),this.pingpongTimer=window.setInterval(this.handlePingPong.bind(this),3e3),!0}async rejoin(){if(!this.reconnectToken)throw new xe(Q.UNEXPECTED_ERROR,"can not rejoin, no rejoin token");const t=cg(this,Nt.REQUEST_REJOIN_INFO);t.token=this.reconnectToken;const n=await this.request(Dt.REJOIN,t);return!!n&&(this.connectionState=Hn.CONNECTED,this.pingpongTimer&&window.clearInterval(this.pingpongTimer),this.pingpongTimer=window.setInterval(this.handlePingPong.bind(this),3e3),n.peers&&n.peers.forEach((r=>{this.emit(Kt.ON_USER_ONLINE,{uid:r.uid}),r.audio&&this.emit(Kt.ON_ADD_AUDIO_STREAM,{uid:r.uid,uint_id:r.uint_id,audio:!0,ssrcId:r.audio_ssrc}),r.video&&this.emit(Kt.ON_ADD_VIDEO_STREAM,{uid:r.uid,uint_id:r.uint_id,video:!0,ssrcId:r.video_ssrc}),r.audio_mute?this.emit(Kt.MUTE_AUDIO,{uid:r.uid}):this.emit(Kt.UNMUTE_AUDIO,{uid:r.uid}),r.video_mute?this.emit(Kt.MUTE_VIDEO,{uid:r.uid}):this.emit(Kt.UNMUTE_VIDEO,{uid:r.uid}),r.audio_enable_local?this.emit(Kt.ENABLE_LOCAL_AUDIO,{uid:r.uid}):this.emit(Kt.DISABLE_LOCAL_AUDIO,{uid:r.uid}),r.video_enable_local?this.emit(Kt.ENABLE_LOCAL_VIDEO,{uid:r.uid}):this.emit(Kt.DISABLE_LOCAL_VIDEO,{uid:r.uid}),r.audio||r.video||this.emit(Kt.ON_REMOVE_STREAM,{uid:r.uid,uint_id:r.uint_id})})),!0)}reconnect(t,n){this.pingpongTimer&&(this.pingpongTimeoutCount=0,window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0),this.websocket.reconnect(t,n)}handleNotification(t){D.debug("[".concat(this.clientId,"] receive notification: "),t);const n=ug(t.code);if(n.action!=="success"){if(n.action!=="failed")return n.action==="quit"?(n.desc==="ERR_REPEAT_JOIN_CHANNEL"&&this.close(Tn.UID_BANNED),void this.close()):void this.reconnect(n.action,Oi.SERVER_ERROR);D.error("[".concat(this.clientId,"] ignore error: "),n.desc)}}handlePingPong(){if(!this.websocket||this.websocket.state!=="connected")return;this.pingpongTimeoutCount>0&&this.rttRolling.add(3e3),this.pingpongTimeoutCount+=1;const t=he("PING_PONG_TIME_OUT"),n=Date.now();this.pingpongTimeoutCount>=t&&(D.warning("[".concat(this.clientId,"] PING-PONG Timeout. Last Socket Message: ").concat(n-this.lastMsgTime,"ms")),n-this.lastMsgTime>he("WEBSOCKET_TIMEOUT_MIN"))?this.reconnect("retry",Oi.TIMEOUT):this.request(Dt.PING,void 0,!0).then((()=>{this.pingpongTimeoutCount=0;const r=Date.now()-n;this.rttRolling.add(r),he("REPORT_STATS")&&this.send(Dt.PING_BACK,{pingpongElapse:r})})).catch((r=>{}))}handleWsInflateData(){const{wsInflateLength:t,wsDeflateLength:n}=this.websocket.getWsInflateData();t!==0&&n!==0&&this.upload(lg.WS_INFLATE_DATA_LENGTH,{ws_deflate_length:n,ws_inflate_length:t})}handleWebsocketEvents(){this.websocket.on(Bt.RECONNECT_WAITTING_FINISH,(t=>{this.emit(Nt.WS_RECONNECT_WAITTING_FINISH,t)})),this.websocket.on(Bt.RECONNECT_CREATE_CONNECTION,(t=>{this.emit(Nt.WS_RECONNECT_CREATE_CONNECTION,t)})),this.websocket.on(Bt.ON_MESSAGE,this.onWebsocketMessage),this.websocket.on(Bt.CLOSED,(()=>{this.connectionState=Hn.CLOSED})),this.websocket.on(Bt.FAILED,(()=>{this._disconnectedReason=Tn.NETWORK_ERROR,this.connectionState=Hn.CLOSED})),this.websocket.on(Bt.RECONNECTING,(t=>{this._websocketReconnectReason=t,this.joinResponse=void 0,this.connectionState===Hn.CONNECTED?this.connectionState=Hn.RECONNECTING:this.connectionState=Hn.CONNECTING})),this.websocket.on(Bt.WILL_RECONNECT,((t,n,r)=>{const i=cg(this,Nt.IS_P2P_DISCONNECTED),o=i||t!=="retry";i&&t==="retry"&&(D.debug("".concat(this.clientId," reconnect mode is retry, but p2p lost, change to tryNext")),t="tryNext",n=b3.P2P_DISCONNECTED),o&&(D.debug("".concat(this.clientId," will renewSession, reconnect mode: ").concat(t)),this.emit(Nt.REPORT_JOIN_GATEWAY,n||b3.UNKNOWN_REASON,this.url||""),this.reconnectToken=void 0,this.emit(Nt.DISCONNECT_P2P)),r(t)})),this.websocket.on(Bt.CONNECTED,(()=>{this.openConnectionTime=Date.now(),this.reconnectToken?this.rejoin().catch((t=>{D.warning("[".concat(this.clientId,"] rejoin failed ").concat(t)),this.reconnect("tryNext",Oi.SERVER_ERROR)})):this.join().catch((t=>{if(this.emit(Nt.REPORT_JOIN_GATEWAY,t,this.url||""),t instanceof xe){if(t.code===Q.UNEXPECTED_RESPONSE&&t.data.code===Tt.ERR_NO_AUTHORIZED)return this.initError=new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,"AgoraRTCError CAN_NOT_GET_GATEWAY_SERVER: dynamic key expired"),D.warning("[".concat(this.clientId,"] reconnect no authorized, recover")),void this.reconnect("recover",Oi.SERVER_ERROR);D.error("[".concat(this.clientId,"] join gateway request failed"),t.toString()),this.spec.forceWaitGatewayResponse?this.reconnect("tryNext",Oi.SERVER_ERROR):(this.initError=t,this.close())}}))})),this.websocket.on(Bt.REQUEST_NEW_URLS,((t,n)=>{ki(this,Nt.REQUEST_RECOVER,this.multiIpOption).then(t).catch(n)})),this.websocket.on(Bt.ON_TOKEN_PRIVILEGE_DID_EXPIRE,(()=>{this.emit(Kt.ON_TOKEN_PRIVILEGE_DID_EXPIRE)})),this.websocket.on(Iq.PRE_CONNECT_PC,(()=>{this.emit(Nt.PRE_CONNECT_PC)}))}}let Mr=(function(e){return e[e.CHOOSE_SERVER=11]="CHOOSE_SERVER",e[e.CLOUD_PROXY=18]="CLOUD_PROXY",e[e.CLOUD_PROXY_5=20]="CLOUD_PROXY_5",e[e.CLOUD_PROXY_FALLBACK=26]="CLOUD_PROXY_FALLBACK",e})({});function kM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function c5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kM(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kM(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Oh(e){return e.match(/^[\.\:\d]+$/)?"".concat(e.replace(/[^\d]/g,"-"),".").concat(he("TURN_DOMAIN")):(D.info("Unidentified as ip: ".concat(e,", use as host")),e)}function pI(e,t){e.addresses||(e.addresses=[]);const n=(function(a,c){if(he("CONNECT_GATEWAY_WITHOUT_DOMAIN"))return a.map((d=>{let{ip:f,port:h}=d;return{address:"".concat(f,":").concat(h)}}));const l=he("GATEWAY_DOMAINS");let u=l[1]&&lt(c).call(c,l[1])?1:0;return a.map((d=>{let{domain_prefix:f,port:h,ip:p}=d;if(f)return{address:"".concat(f,".").concat(l[u++%l.length],":").concat(h)};const g=/^[\.\:\d]+$/.test(p),m=g?"".concat(p.replace(/[^\d]/g,"-"),".").concat(l[u++%l.length],":").concat(h):"".concat(p,":").concat(h);return g||D.info("Unidentified as ip: ".concat(p,", use as host")),{ip:p,port:h,address:m}}))})(e.addresses,t),r=Array.isArray(e.detail)&&e.detail[18];if(r&&typeof r=="string"){const a=r.split(";");for(let c=0;c<a.length;c++){var i;const l=ao(i=a[c]).call(i);n[c]&&l&&(n[c].ip6=l)}}const o=e.detail&&e.detail.candidate;let s;if(o){const[a,c]=o.split(":");a&&c&&(s={port:Number(c),ip:a,address:"".concat(a,":").concat(c)})}return{gatewayAddrs:n,apGatewayAddress:s,uid:e.uid,cid:e.cid,cert:e.cert,vid:e.detail&&e.detail[8],uni_lbs_ip:e.detail&&e.detail[1],res:e,csIp:e.detail&&e.detail[502]}}function hs(e){return typeof e=="number"?e:e.exact||e.ideal||e.max||e.min||0}function xM(e){const t=e._encoderConfig;if(!t)return{};const n={resolution:t.width&&t.height?"".concat(hs(t.width),"x").concat(hs(t.height)):void 0,maxVideoBW:t.bitrateMax,minVideoBW:t.bitrateMin};return typeof t.frameRate=="number"?(n.maxFrameRate=t.frameRate,n.minFrameRate=t.frameRate):t.frameRate&&(n.maxFrameRate=t.frameRate.max||t.frameRate.ideal||t.frameRate.exact||t.frameRate.min,n.minFrameRate=t.frameRate.min||t.frameRate.ideal||t.frameRate.exact||t.frameRate.max),n}function DM(e){return e>=0&&e<.17?1:e>=.17&&e<.36?2:e>=.36&&e<.59?3:e>=.59&&e<=1?4:e>1?5:0}function fg(e,t){let n,r,i;switch(t){case Mr.CHOOSE_SERVER:r=4096,i="choose server";break;case Mr.CLOUD_PROXY:r=1048576,i="proxy";break;case Mr.CLOUD_PROXY_5:r=4194304,i="proxy5";break;case Mr.CLOUD_PROXY_FALLBACK:r=4194310,i="proxy fallback";break;default:throw new xe(Q.UNEXPECTED_ERROR,"multi unlibs response transformer get unknown service id",{csIp:e.detail&&e.detail[502],retry:!1})}if(e.response_body.forEach((o=>{o.buffer&&o.buffer.flag===r&&(n={code:o.buffer.code,addresses:(o.buffer.edges_services||[]).map((s=>c5(c5({},s),{},{ticket:o.buffer.cert}))),server_ts:e.enter_ts,uid:o.buffer.uid,cid:o.buffer.cid,cname:o.buffer.cname,detail:c5(c5({},o.buffer.detail),e.detail),flag:o.buffer.flag,opid:e.opid,cert:o.buffer.cert})})),!n)throw new xe(Q.MULTI_UNILBS_RESPONSE_ERROR,"cannot parse response ".concat(i," from multi unilbs response"),{csIp:e.detail&&e.detail[502]});return n}async function Oq(e,t){return await ot.all(e.addresses.map((async n=>({address:Oh(n.ip),tcpport:n.port,udpport:n.port,username:t&&he("ENCRYPT_PROXY_USERNAME_AND_PSW")&&window.isSecureContext?t.toString():Ti.username,password:t&&he("ENCRYPT_PROXY_USERNAME_AND_PSW")&&window.isSecureContext?await GA(t.toString()):Ti.password}))))}function KA(e,t){const n=t.getMediaStreamTrack(!0).getSettings(),r=t.videoHeight||n.height,i=t.videoWidth||n.width;return r&&i?Math.max(Math.min(r,i)/Math.min(hs(e.height),hs(e.width)),1):(D.warning("can't get ori-track's height, default scale down 4 times for low stream"),4)}function Ad(e){let{candidateType:t,relayProtocol:n,type:r,address:i,port:o,protocol:s}=e;return r==="local-candidate"?{candidateType:t,relayProtocol:n,protocol:s}:{candidateType:t,relayProtocol:n,address:i,port:o,protocol:s}}var ma,nMe=kr(Cq),rMe=za("Array").values,iMe=Al,oMe=Gi,sMe=Co,aMe=rMe,V9=Array.prototype,cMe={DOMTokenList:!0,NodeList:!0},lMe=function(e){var t=e.values;return e===V9||sMe(V9,e)&&t===V9.values||oMe(cMe,iMe(e))?aMe:t},pu=kr(lMe),LM=ca,uMe=Wr,dMe=Ni,fMe=Xr,G9=Ky,hMe=Kg,pMe=Wy,mMe=Sl,gMe=Vy,Kf=Object.assign,NM=Object.defineProperty,vMe=uMe([].concat),yMe=!Kf||fMe((function(){if(LM&&Kf({b:1},Kf(NM({},"a",{enumerable:!0,get:function(){NM(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(i){t[i]=i})),Kf({},e)[n]!=7||G9(Kf({},t)).join("")!=r}))?function(e,t){for(var n=mMe(e),r=arguments.length,i=1,o=hMe.f,s=pMe.f;r>i;)for(var a,c=gMe(arguments[i++]),l=o?vMe(G9(c),o(c)):G9(c),u=l.length,d=0;u>d;)a=l[d++],LM&&!dMe(s,c,a)||(n[a]=c[a]);return n}:Kf,EMe=qo,bMe=HX,SMe=t0,AMe=Ni,CMe=Sl,wMe=function(e,t,n,r){try{return r?t(EMe(n)[0],n[1]):t(n)}catch(i){bMe(e,"throw",i)}},TMe=jX,IMe=e6,PMe=Ru,MM=r6,OMe=DT,_Me=qy,BM=Array,xf=Wr,J9=2147483647,RMe=/[^\0-\u007E]/,_q=/[.\u3002\uFF0E\uFF61]/g,FM="Overflow: input needs wider integers to process",UM=RangeError,kMe=xf(_q.exec),_h=Math.floor,Z9=String.fromCharCode,jM=xf("".charCodeAt),Rq=xf([].join),sd=xf([].push),xMe=xf("".replace),DMe=xf("".split),LMe=xf("".toLowerCase),HM=function(e){return e+22+75*(e<26)},NMe=function(e,t,n){var r=0;for(e=n?_h(e/700):e>>1,e+=_h(e/t);e>455;)e=_h(e/35),r+=36;return _h(r+36*e/(e+38))},MMe=function(e){var t=[];e=(function(y){for(var v=[],E=0,b=y.length;E<b;){var S=jM(y,E++);if(S>=55296&&S<=56319&&E<b){var w=jM(y,E++);(64512&w)==56320?sd(v,((1023&S)<<10)+(1023&w)+65536):(sd(v,S),E--)}else sd(v,S)}return v})(e);var n,r,i=e.length,o=128,s=0,a=72;for(n=0;n<e.length;n++)(r=e[n])<128&&sd(t,Z9(r));var c=t.length,l=c;for(c&&sd(t,"-");l<i;){var u=J9;for(n=0;n<e.length;n++)(r=e[n])>=o&&r<u&&(u=r);var d=l+1;if(u-o>_h((J9-s)/d))throw UM(FM);for(s+=(u-o)*d,o=u,n=0;n<e.length;n++){if((r=e[n])<o&&++s>J9)throw UM(FM);if(r==o){for(var f=s,h=36;;){var p=h<=a?1:h>=a+26?26:h-a;if(f<p)break;var g=f-p,m=36-p;sd(t,Z9(HM(p+g%m))),f=_h(g/m),h+=36}sd(t,Z9(HM(f))),a=NMe(s,d,l==c),s=0,l++}}s++,o++}return Rq(t,"")},BMe=Gn,mI=ca,FMe=eI,gI=Di,zM=t0,Wa=Wr,l5=r0,ga=$y,UMe=MT,qA=Gi,vI=yMe,qf=function(e){var t=CMe(e),n=IMe(this),r=arguments.length,i=r>1?arguments[1]:void 0,o=i!==void 0;o&&(i=SMe(i,r>2?arguments[2]:void 0));var s,a,c,l,u,d,f=_Me(t),h=0;if(!f||this===BM&&TMe(f))for(s=PMe(t),a=n?new this(s):BM(s);s>h;h++)d=o?i(t[h],h):t[h],MM(a,h,d);else for(u=(l=OMe(t,f)).next,a=n?new this:[];!(c=AMe(u,l)).done;h++)d=o?wMe(l,i,[c.value,h],!0):c.value,MM(a,h,d);return a.length=h,a},Ga=GT,jMe=VT.codeAt,HMe=function(e){var t,n,r=[],i=DMe(xMe(LMe(e),_q,"."),".");for(t=0;t<i.length;t++)n=i[t],sd(r,kMe(RMe,n)?"xn--"+MMe(n):n);return Rq(r,".")},jl=la,zMe=i0,WMe=t6,kq=aLe,xq=kf,VMe=xq.set,I4=xq.getterFor("URL"),GMe=kq.URLSearchParams,JMe=kq.getState,E1=gI.URL,$A=gI.TypeError,u5=gI.parseInt,ZMe=Math.floor,WM=Math.pow,wa=Wa("".charAt),Qa=Wa(/./.exec),U1=Wa([].join),YMe=Wa(1 .toString),XMe=Wa([].pop),$f=Wa([].push),Y9=Wa("".replace),QMe=Wa([].shift),KMe=Wa("".split),j1=Wa("".slice),S3=Wa("".toLowerCase),qMe=Wa([].unshift),X9="Invalid scheme",h0="Invalid host",VM="Invalid port",Dq=/[a-z]/i,$Me=/[\d+-.a-z]/i,Q9=/\d/,eBe=/^0x/i,tBe=/^[0-7]+$/,nBe=/^\d+$/,GM=/^[\da-f]+$/i,rBe=/[\0\t\n\r #%/:<>?@[\\\]^|]/,iBe=/[\0\t\n\r #/:<>?@[\\\]^|]/,oBe=/^[\u0000-\u0020]+/,sBe=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,aBe=/[\t\n\r]/g,b1=function(e){var t,n,r,i;if(typeof e=="number"){for(t=[],n=0;n<4;n++)qMe(t,e%256),e=ZMe(e/256);return U1(t,".")}if(typeof e=="object"){for(t="",r=(function(o){for(var s=null,a=1,c=null,l=0,u=0;u<8;u++)o[u]!==0?(l>a&&(s=c,a=l),c=null,l=0):(c===null&&(c=u),++l);return l>a&&(s=c,a=l),s})(e),n=0;n<8;n++)i&&e[n]===0||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=YMe(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},A3={},Lq=vI({},A3,{" ":1,'"':1,"<":1,">":1,"`":1}),Nq=vI({},Lq,{"#":1,"?":1,"{":1,"}":1}),K9=vI({},Nq,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Vu=function(e,t){var n=jMe(e,0);return n>32&&n<127&&!qA(t,e)?e:encodeURIComponent(e)},d5={ftp:21,file:null,http:80,https:443,ws:80,wss:443},H1=function(e,t){var n;return e.length==2&&Qa(Dq,wa(e,0))&&((n=wa(e,1))==":"||!t&&n=="|")},JM=function(e){var t;return e.length>1&&H1(j1(e,0,2))&&(e.length==2||(t=wa(e,2))==="/"||t==="\\"||t==="?"||t==="#")},cBe=function(e){return e==="."||S3(e)==="%2e"},q9={},ZM={},$9={},YM={},XM={},eE={},QM={},KM={},f5={},h5={},tE={},nE={},rE={},iE={},qM={},oE={},eh={},kc={},$M={},p0={},Ll={},yI=function(e,t,n){var r,i,o,s=jl(e);if(t){if(i=this.parse(s))throw $A(i);this.searchParams=null}else{if(n!==void 0&&(r=new yI(n,!0)),i=this.parse(s,null,r))throw $A(i);(o=JMe(new GMe)).bindURL(this),this.searchParams=o}};yI.prototype={type:"URL",parse:function(e,t,n){var r,i,o,s,a,c=this,l=t||q9,u=0,d="",f=!1,h=!1,p=!1;for(e=jl(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=Y9(e,oBe,""),e=Y9(e,sBe,"$1")),e=Y9(e,aBe,""),r=qf(e);u<=r.length;){switch(i=r[u],l){case q9:if(!i||!Qa(Dq,i)){if(t)return X9;l=$9;continue}d+=S3(i),l=ZM;break;case ZM:if(i&&(Qa($Me,i)||i=="+"||i=="-"||i=="."))d+=S3(i);else{if(i!=":"){if(t)return X9;d="",l=$9,u=0;continue}if(t&&(c.isSpecial()!=qA(d5,d)||d=="file"&&(c.includesCredentials()||c.port!==null)||c.scheme=="file"&&!c.host))return;if(c.scheme=d,t)return void(c.isSpecial()&&d5[c.scheme]==c.port&&(c.port=null));d="",c.scheme=="file"?l=iE:c.isSpecial()&&n&&n.scheme==c.scheme?l=YM:c.isSpecial()?l=KM:r[u+1]=="/"?(l=XM,u++):(c.cannotBeABaseURL=!0,$f(c.path,""),l=$M)}break;case $9:if(!n||n.cannotBeABaseURL&&i!="#")return X9;if(n.cannotBeABaseURL&&i=="#"){c.scheme=n.scheme,c.path=Ga(n.path),c.query=n.query,c.fragment="",c.cannotBeABaseURL=!0,l=Ll;break}l=n.scheme=="file"?iE:eE;continue;case YM:if(i!="/"||r[u+1]!="/"){l=eE;continue}l=f5,u++;break;case XM:if(i=="/"){l=h5;break}l=kc;continue;case eE:if(c.scheme=n.scheme,i==ma)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=Ga(n.path),c.query=n.query;else if(i=="/"||i=="\\"&&c.isSpecial())l=QM;else if(i=="?")c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=Ga(n.path),c.query="",l=p0;else{if(i!="#"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=Ga(n.path),c.path.length--,l=kc;continue}c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=Ga(n.path),c.query=n.query,c.fragment="",l=Ll}break;case QM:if(!c.isSpecial()||i!="/"&&i!="\\"){if(i!="/"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,l=kc;continue}l=h5}else l=f5;break;case KM:if(l=f5,i!="/"||wa(d,u+1)!="/")continue;u++;break;case f5:if(i!="/"&&i!="\\"){l=h5;continue}break;case h5:if(i=="@"){f&&(d="%40"+d),f=!0,o=qf(d);for(var g=0;g<o.length;g++){var m=o[g];if(m!=":"||p){var y=Vu(m,K9);p?c.password+=y:c.username+=y}else p=!0}d=""}else if(i==ma||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(f&&d=="")return"Invalid authority";u-=qf(d).length+1,d="",l=tE}else d+=i;break;case tE:case nE:if(t&&c.scheme=="file"){l=oE;continue}if(i!=":"||h){if(i==ma||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(c.isSpecial()&&d=="")return h0;if(t&&d==""&&(c.includesCredentials()||c.port!==null))return;if(s=c.parseHost(d))return s;if(d="",l=eh,t)return;continue}i=="["?h=!0:i=="]"&&(h=!1),d+=i}else{if(d=="")return h0;if(s=c.parseHost(d))return s;if(d="",l=rE,t==nE)return}break;case rE:if(!Qa(Q9,i)){if(i==ma||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()||t){if(d!=""){var v=u5(d,10);if(v>65535)return VM;c.port=c.isSpecial()&&v===d5[c.scheme]?null:v,d=""}if(t)return;l=eh;continue}return VM}d+=i;break;case iE:if(c.scheme="file",i=="/"||i=="\\")l=qM;else{if(!n||n.scheme!="file"){l=kc;continue}if(i==ma)c.host=n.host,c.path=Ga(n.path),c.query=n.query;else if(i=="?")c.host=n.host,c.path=Ga(n.path),c.query="",l=p0;else{if(i!="#"){JM(U1(Ga(r,u),""))||(c.host=n.host,c.path=Ga(n.path),c.shortenPath()),l=kc;continue}c.host=n.host,c.path=Ga(n.path),c.query=n.query,c.fragment="",l=Ll}}break;case qM:if(i=="/"||i=="\\"){l=oE;break}n&&n.scheme=="file"&&!JM(U1(Ga(r,u),""))&&(H1(n.path[0],!0)?$f(c.path,n.path[0]):c.host=n.host),l=kc;continue;case oE:if(i==ma||i=="/"||i=="\\"||i=="?"||i=="#"){if(!t&&H1(d))l=kc;else if(d==""){if(c.host="",t)return;l=eh}else{if(s=c.parseHost(d))return s;if(c.host=="localhost"&&(c.host=""),t)return;d="",l=eh}continue}d+=i;break;case eh:if(c.isSpecial()){if(l=kc,i!="/"&&i!="\\")continue}else if(t||i!="?")if(t||i!="#"){if(i!=ma&&(l=kc,i!="/"))continue}else c.fragment="",l=Ll;else c.query="",l=p0;break;case kc:if(i==ma||i=="/"||i=="\\"&&c.isSpecial()||!t&&(i=="?"||i=="#")){if((a=S3(a=d))===".."||a==="%2e."||a===".%2e"||a==="%2e%2e"?(c.shortenPath(),i=="/"||i=="\\"&&c.isSpecial()||$f(c.path,"")):cBe(d)?i=="/"||i=="\\"&&c.isSpecial()||$f(c.path,""):(c.scheme=="file"&&!c.path.length&&H1(d)&&(c.host&&(c.host=""),d=wa(d,0)+":"),$f(c.path,d)),d="",c.scheme=="file"&&(i==ma||i=="?"||i=="#"))for(;c.path.length>1&&c.path[0]==="";)QMe(c.path);i=="?"?(c.query="",l=p0):i=="#"&&(c.fragment="",l=Ll)}else d+=Vu(i,Nq);break;case $M:i=="?"?(c.query="",l=p0):i=="#"?(c.fragment="",l=Ll):i!=ma&&(c.path[0]+=Vu(i,A3));break;case p0:t||i!="#"?i!=ma&&(i=="'"&&c.isSpecial()?c.query+="%27":c.query+=i=="#"?"%23":Vu(i,A3)):(c.fragment="",l=Ll);break;case Ll:i!=ma&&(c.fragment+=Vu(i,Lq))}u++}},parseHost:function(e){var t,n,r;if(wa(e,0)=="["){if(wa(e,e.length-1)!="]"||(t=(function(i){var o,s,a,c,l,u,d,f=[0,0,0,0,0,0,0,0],h=0,p=null,g=0,m=function(){return wa(i,g)};if(m()==":"){if(wa(i,1)!=":")return;g+=2,p=++h}for(;m();){if(h==8)return;if(m()!=":"){for(o=s=0;s<4&&Qa(GM,m());)o=16*o+u5(m(),16),g++,s++;if(m()=="."){if(s==0||(g-=s,h>6))return;for(a=0;m();){if(c=null,a>0){if(!(m()=="."&&a<4))return;g++}if(!Qa(Q9,m()))return;for(;Qa(Q9,m());){if(l=u5(m(),10),c===null)c=l;else{if(c==0)return;c=10*c+l}if(c>255)return;g++}f[h]=256*f[h]+c,++a!=2&&a!=4||h++}if(a!=4)return;break}if(m()==":"){if(g++,!m())return}else if(m())return;f[h++]=o}else{if(p!==null)return;g++,p=++h}}if(p!==null)for(u=h-p,h=7;h!=0&&u>0;)d=f[h],f[h--]=f[p+u-1],f[p+--u]=d;else if(h!=8)return;return f})(j1(e,1,-1)),!t))return h0;this.host=t}else if(this.isSpecial()){if(e=HMe(e),Qa(rBe,e)||(t=(function(i){var o,s,a,c,l,u,d,f=KMe(i,".");if(f.length&&f[f.length-1]==""&&f.length--,(o=f.length)>4)return i;for(s=[],a=0;a<o;a++){if((c=f[a])=="")return i;if(l=10,c.length>1&&wa(c,0)=="0"&&(l=Qa(eBe,c)?16:8,c=j1(c,l==8?1:2)),c==="")u=0;else{if(!Qa(l==10?nBe:l==8?tBe:GM,c))return i;u=u5(c,l)}$f(s,u)}for(a=0;a<o;a++)if(u=s[a],a==o-1){if(u>=WM(256,5-o))return null}else if(u>255)return null;for(d=XMe(s),a=0;a<s.length;a++)d+=s[a]*WM(256,3-a);return d})(e),t===null))return h0;this.host=t}else{if(Qa(iBe,e))return h0;for(t="",n=qf(e),r=0;r<n.length;r++)t+=Vu(n[r],A3);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return qA(d5,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||this.scheme=="file"&&t==1&&H1(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,n=e.username,r=e.password,i=e.host,o=e.port,s=e.path,a=e.query,c=e.fragment,l=t+":";return i!==null?(l+="//",e.includesCredentials()&&(l+=n+(r?":"+r:"")+"@"),l+=b1(i),o!==null&&(l+=":"+o)):t=="file"&&(l+="//"),l+=e.cannotBeABaseURL?s[0]:s.length?"/"+U1(s,"/"):"",a!==null&&(l+="?"+a),c!==null&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw $A(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if(e=="blob")try{return new Ap(e.path[0]).origin}catch{return"null"}return e!="file"&&this.isSpecial()?e+"://"+b1(this.host)+(t!==null?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(jl(e)+":",q9)},getUsername:function(){return this.username},setUsername:function(e){var t=qf(jl(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var n=0;n<t.length;n++)this.username+=Vu(t[n],K9)}},getPassword:function(){return this.password},setPassword:function(e){var t=qf(jl(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var n=0;n<t.length;n++)this.password+=Vu(t[n],K9)}},getHost:function(){var e=this.host,t=this.port;return e===null?"":t===null?b1(e):b1(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,tE)},getHostname:function(){var e=this.host;return e===null?"":b1(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,nE)},getPort:function(){var e=this.port;return e===null?"":jl(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||((e=jl(e))==""?this.port=null:this.parse(e,rE))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+U1(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,eh))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){(e=jl(e))==""?this.query=null:(wa(e,0)=="?"&&(e=j1(e,1)),this.query="",this.parse(e,p0)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){(e=jl(e))!=""?(wa(e,0)=="#"&&(e=j1(e,1)),this.fragment="",this.parse(e,Ll)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Ap=function(e){var t=UMe(this,ns),n=WMe(arguments.length,1)>1?arguments[1]:void 0,r=VMe(t,new yI(e,!1,n));mI||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},ns=Ap.prototype,va=function(e,t){return{get:function(){return I4(this)[e]()},set:t&&function(n){return I4(this)[t](n)},configurable:!0,enumerable:!0}};if(mI&&(ga(ns,"href",va("serialize","setHref")),ga(ns,"origin",va("getOrigin")),ga(ns,"protocol",va("getProtocol","setProtocol")),ga(ns,"username",va("getUsername","setUsername")),ga(ns,"password",va("getPassword","setPassword")),ga(ns,"host",va("getHost","setHost")),ga(ns,"hostname",va("getHostname","setHostname")),ga(ns,"port",va("getPort","setPort")),ga(ns,"pathname",va("getPathname","setPathname")),ga(ns,"search",va("getSearch","setSearch")),ga(ns,"searchParams",va("getSearchParams")),ga(ns,"hash",va("getHash","setHash"))),l5(ns,"toJSON",(function(){return I4(this).serialize()}),{enumerable:!0}),l5(ns,"toString",(function(){return I4(this).serialize()}),{enumerable:!0}),E1){var eB=E1.createObjectURL,tB=E1.revokeObjectURL;eB&&l5(Ap,"createObjectURL",zM(eB,E1)),tB&&l5(Ap,"revokeObjectURL",zM(tB,E1))}zMe(Ap,"URL"),BMe({global:!0,forced:!FMe,sham:!mI},{URL:Ap});var lBe=Gn,uBe=Xr,dBe=t6,nB=la,fBe=eI,rB=ys("URL");lBe({target:"URL",stat:!0,forced:!(fBe&&uBe((function(){rB.canParse()})))},{canParse:function(e){var t=dBe(arguments.length,1),n=nB(e),r=t<2||arguments[1]===void 0?void 0:nB(arguments[1]);try{return!!new rB(n,r)}catch{return!1}}});var iB=kr(Cc.URL);const fi={getDisplayMedia:!1,getStreamFromExtension:!1,supportUnifiedPlan:!1,supportMinBitrate:!1,supportSetRtpSenderParameters:!1,supportDualStream:!0,webAudioMediaStreamDest:!1,supportReplaceTrack:!1,supportWebGL:!1,webAudioWithAEC:!1,supportRequestFrame:!1,supportShareAudio:!1,supportDualStreamEncoding:!1,supportDataChannel:!1,supportPCSetConfiguration:!1,supportWebRTCEncodedTransform:!1,supportWebRTCInsertableStream:!1,supportRequestVideoFrameCallback:!1,supportWebCrypto:!1};function fn(){return fi}function Mq(){return"setSinkId"in HTMLAudioElement.prototype&&(!he("RESTRICTION_SET_PLAYBACK_DEVICE")||(Od()||oq())&&!aI())}function oB(){return!fi.supportUnifiedPlan||he("CHROME_FORCE_PLAN_B")&&Bd()}let mi=(function(e){return e.IOS_15_16_INTERRUPTION_START="ios15_16-interruption-start",e.IOS_15_16_INTERRUPTION_END="ios15_16-interruption-end",e.IOS_INTERRUPTION_START="ios-interruption-start",e.IOS_INTERRUPTION_END="ios-interruption-end",e.STATE_CHANGE="state-change",e})({});function th(e,t,n){return{sampleRate:e,stereo:t,bitrate:n}}function rn(e,t,n,r,i){return{width:e,height:t,frameRate:n,bitrateMin:r,bitrateMax:i}}function ya(e,t,n,r,i){return{width:{max:e},height:{max:t},frameRate:n,bitrateMin:r,bitrateMax:i}}function sE(e,t){return{numSpatialLayers:e,numTemporalLayers:t}}const hBe={"90p":rn(160,90),"90p_1":rn(160,90),"120p":rn(160,120,15,30,65),"120p_1":rn(160,120,15,30,65),"120p_3":rn(120,120,15,30,50),"120p_4":rn(212,120),"180p":rn(320,180,15,30,140),"180p_1":rn(320,180,15,30,140),"180p_3":rn(180,180,15,30,100),"180p_4":rn(240,180,15,30,120),"240p":rn(320,240,15,40,200),"240p_1":rn(320,240,15,40,200),"240p_3":rn(240,240,15,40,140),"240p_4":rn(424,240,15,40,220),"360p":rn(640,360,15,80,400),"360p_1":rn(640,360,15,80,400),"360p_3":rn(360,360,15,80,260),"360p_4":rn(640,360,30,80,600),"360p_6":rn(360,360,30,80,400),"360p_7":rn(480,360,15,80,320),"360p_8":rn(480,360,30,80,490),"360p_9":rn(640,360,15,80,800),"360p_10":rn(640,360,24,80,800),"360p_11":rn(640,360,24,80,1e3),"480p":rn(640,480,15,100,500),"480p_1":rn(640,480,15,100,500),"480p_2":rn(640,480,30,100,1e3),"480p_3":rn(480,480,15,100,400),"480p_4":rn(640,480,30,100,750),"480p_6":rn(480,480,30,100,600),"480p_8":rn(848,480,15,100,610),"480p_9":rn(848,480,30,100,930),"480p_10":rn(640,480,10,100,400),"720p":rn(1280,720,15,120,1130),"720p_auto":rn(1280,720,30,900,3e3),"720p_1":rn(1280,720,15,120,1130),"720p_2":rn(1280,720,30,120,2e3),"720p_3":rn(1280,720,30,120,1710),"720p_5":rn(960,720,15,120,910),"720p_6":rn(960,720,30,120,1380),"1080p":rn(1920,1080,15,120,2080),"1080p_1":rn(1920,1080,15,120,2080),"1080p_2":rn(1920,1080,30,120,3e3),"1080p_3":rn(1920,1080,30,120,3150),"1080p_5":rn(1920,1080,60,120,4780),"1440p":rn(2560,1440,30,120,4850),"1440p_1":rn(2560,1440,30,120,4850),"1440p_2":rn(2560,1440,60,120,7350),"4k":rn(3840,2160,30,120,8910),"4k_1":rn(3840,2160,30,120,8910),"4k_3":rn(3840,2160,60,120,13500)},pBe={"480p":ya(640,480,5),"480p_1":ya(640,480,5),"480p_2":ya(640,480,30),"480p_3":ya(640,480,15),"720p":ya(1280,720,5),"720p_auto":rn(1280,720,30,900,3e3),"720p_1":ya(1280,720,5),"720p_2":ya(1280,720,30),"720p_3":ya(1280,720,15),"1080p":ya(1920,1080,5),"1080p_1":ya(1920,1080,5),"1080p_2":ya(1920,1080,30),"1080p_3":ya(1920,1080,15)},mBe={"1SL1TL":sE(1,1),"3SL3TL":sE(3,3),"2SL3TL":sE(2,3)};function $c(e){return e||(e="480p_1"),typeof e=="string"?Object.assign({},hBe[e]):e}function aE(e){return typeof e=="string"?Object.assign({},pBe[e]):e}function p5(e){return typeof e=="string"?Object.assign({},mBe[e]):e}const gBe={speech_low_quality:th(16e3,!1),speech_standard:th(32e3,!1,18),music_standard:th(48e3,!1),standard_stereo:th(48e3,!0,56),high_quality:th(48e3,!1,128),high_quality_stereo:th(48e3,!0,192)};function P4(e){return typeof e=="string"?Object.assign({},gBe[e]):e}const vh=[];function sB(e){return Kr(e,"mediaSource",["screen","window","application"]),!0}let ut=(function(e){return e.NEED_RENEGOTIATE="@need_renegotiate",e.NEED_REPLACE_TRACK="@need_replace_track",e.NEED_REPLACE_MIXING_TRACK="@need_replace_mixing_track",e.NEED_CLOSE="@need_close",e.NEED_ENABLE_TRACK="@need_enable_track",e.NEED_DISABLE_TRACK="@need_disable_track",e.NEED_SESSION_ID="@need_sid",e.SET_OPTIMIZATION_MODE="@set_optimization_mode",e.GET_STATS="@get_stats",e.GET_RTC_STATS="@get_rtc_stats",e.GET_LOW_VIDEO_TRACK="@get_low_video_track",e.NEED_RESET_REMOTE_SDP="@need_reset_remote_sdp",e.NEED_UPDATE_VIDEO_ENCODER="@need_update_video_encoder",e.NEED_UPDATE_VIDEO_SEND_PARAMETERS="@need_update_video_send_parameters",e.NEED_MUTE_TRACK="@need_mute_track",e.NEED_UNMUTE_TRACK="@need_unmute_track",e})({}),nr=(function(e){return e.SCREEN_TRACK="screen_track",e.CUSTOM_TRACK="custome_track",e.LOW_STREAM="low_stream",e})({}),Cp=(function(e){return e[e.HIGH_STREAM=0]="HIGH_STREAM",e[e.LOW_STREAM=1]="LOW_STREAM",e})({}),vBe=(function(e){return e[e.HIGH_STREAM=0]="HIGH_STREAM",e[e.LOW_STREAM=1]="LOW_STREAM",e})({}),yBe=(function(e){return e[e.DISABLE=0]="DISABLE",e[e.LOW_STREAM=1]="LOW_STREAM",e[e.AUDIO_ONLY=2]="AUDIO_ONLY",e})({}),nf=(function(e){return e.TRANSCEIVER_UPDATED="transceiver-updated",e.SEI_TO_SEND="sei-to-send",e.SEI_RECEIVED="sei-received",e.TRACK_UPDATED="track-updated",e})({}),Kp=(function(e){return e.SOURCE_STATE_CHANGE="source-state-change",e.TRACK_ENDED="track-ended",e.BEAUTY_EFFECT_OVERLOAD="beauty-effect-overload",e.VIDEO_ELEMENT_VISIBLE_STATUS="video-element-visible-status",e.CLOSED="closed",e})({}),Vh=(function(e){return e.FIRST_FRAME_DECODED="first-frame-decoded",e.VIDEO_ELEMENT_VISIBLE_STATUS="video-element-visible-status",e.VIDEO_STATE_CHANGED="video-state-changed",e})({}),qp=(function(e){return e.AUDIO="audio",e.VIDEO="video",e.DATA="data",e})({}),Rs=(function(e){return e.AUDIO_SOURCE_STATE_CHANGE="audio_source_state_change",e.RECEIVE_TRACK_BUFFER="receive_track_buffer",e.ON_AUDIO_BUFFER="on_audio_buffer",e.UPDATE_SOURCE="update_source",e})({});(function(e){e.UPDATE_TRACK_SOURCE="update-track-source"})({});const eC={sendVolumeLevel:0,sendBitrate:0,sendBytes:0,sendPackets:0,sendPacketsLost:0,sendJitterMs:0,sendRttMs:0,currentPacketLossRate:0},tC={sendBytes:0,sendBitrate:0,sendPackets:0,sendPacketsLost:0,sendJitterMs:0,sendRttMs:0,sendResolutionHeight:0,sendResolutionWidth:0,captureResolutionHeight:0,captureResolutionWidth:0,targetSendBitrate:0,totalDuration:0,totalFreezeTime:0,currentPacketLossRate:0},Bq={transportDelay:0,end2EndDelay:0,receiveBitrate:0,receiveLevel:0,receiveBytes:0,receiveDelay:0,receivePackets:0,receivePacketsLost:0,receivePacketsDiscarded:0,totalDuration:0,totalFreezeTime:0,freezeRate:0,packetLossRate:0,currentPacketLossRate:0,publishDuration:-1},EBe={uplinkNetworkQuality:0,downlinkNetworkQuality:0},Fq={transportDelay:0,end2EndDelay:0,receiveBitrate:0,receiveBytes:0,receiveDelay:0,receivePackets:0,receivePacketsLost:0,receiveResolutionHeight:0,receiveResolutionWidth:0,totalDuration:0,totalFreezeTime:0,freezeRate:0,packetLossRate:0,currentPacketLossRate:0,publishDuration:-1};let yo=(function(e){return e.ON_TRACK="on_track",e.ON_NODE="on_node",e})({}),Fs=(function(e){return e.REQUEST_UPDATE_CONSTRAINTS="request_update_constraints",e.REQUEST_CONSTRAINTS="request_constraints",e})({}),S1=(function(e){return e.IDLE="IDLE",e.INITING="INITING",e.INITEND="INITEND",e})({}),z0=(function(e){return e.STATE_CHANGE="state_change",e.RECORDING_DEVICE_CHANGED="recordingDeviceChanged",e.PLAYOUT_DEVICE_CHANGED="playoutDeviceChanged",e.CAMERA_DEVICE_CHANGED="cameraDeviceChanged",e})({}),oo=(function(e){return e.NONE="none",e.INIT="init",e.CANPLAY="canplay",e.PLAYING="playing",e.PAUSED="paused",e.SUSPEND="suspend",e.STALLED="stalled",e.WAITING="waiting",e.ERROR="error",e.DESTROYED="destroyed",e.ABORT="abort",e.ENDED="ended",e.EMPTIED="emptied",e.LOADEDDATA="loadeddata",e})({}),xc=(function(e){return e[e.VideoStateStopped=0]="VideoStateStopped",e[e.VideoStateStarting=1]="VideoStateStarting",e[e.VideoStateDecoding=2]="VideoStateDecoding",e[e.VideoStateFrozen=3]="VideoStateFrozen",e})({});const cE={uninit:100,none:110,init:120,loadeddata:130,canplay:200,playing:210,paused:220,suspend:300,stalled:310,waiting:320,error:330,destroyed:340,abort:350,ended:360,emptied:370};let C3=(function(e){return e.OPEN="open",e.MESSAGE="message",e.CLOSE="close",e.CLOSING="closing",e.ERROR="error",e})({});function on(e,t,n,r,i){var o,s,a={};return Object.keys(r).forEach((function(c){a[c]=r[c]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=vc(o=nMe(s=n.slice()).call(s)).call(o,(function(c,l){return l(e,t,c)||c}),a),i&&a.initializer!==void 0&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),a.initializer===void 0&&(Object.defineProperty(e,t,a),a=null),a}function Fe(e,t,n){return(t=(function(r){var i=(function(o,s){if(typeof o!="object"||!o)return o;var a=o[Symbol.toPrimitive];if(a!==void 0){var c=a.call(o,"string");if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(o)})(r);return typeof i=="symbol"?i:i+""})(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function or(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aB(Object(n),!0).forEach((function(r){Fe(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aB(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class Uq extends fr{set _mediaStreamTrack(t){t!==this.mediaStreamTrack&&(this.safeEmit(nf.TRACK_UPDATED,t),this.mediaStreamTrack=t)}get _mediaStreamTrack(){return this.mediaStreamTrack}constructor(t,n){super(),Fe(this,"trackMediaType",void 0),Fe(this,"_ID",void 0),Fe(this,"_rtpTransceiver",void 0),Fe(this,"_lowRtpTransceiver",void 0),Fe(this,"_hints",[]),Fe(this,"_isClosed",!1),Fe(this,"_originMediaStreamTrack",void 0),Fe(this,"mediaStreamTrack",void 0),Fe(this,"_external",{}),this._ID=n||Wn(8,"track-"),this._originMediaStreamTrack=t,this.mediaStreamTrack=t,(function(r){lt(vh).call(vh,r)||vh.push(r)})(this)}toString(){return this._ID}getTrackId(){return this._ID}getMediaStreamTrack(t){return t||Fd((()=>{var n;mt.reportApiInvoke(null,{name:Zr.GET_MEDIA_STREAM_TRACK,options:[],tag:vr.TRACER}).onSuccess(((n=this._mediaStreamTrack)===null||n===void 0?void 0:n.label)||"")}),this.mediaStreamTrack.id||this.getTrackId()),this._mediaStreamTrack}getRTCRtpTransceiver(t){return t===Cp.LOW_STREAM?this._lowRtpTransceiver:this._rtpTransceiver}getMediaStreamTrackSettings(){return this.getMediaStreamTrack(!0).getSettings()}close(){this._isClosed=!0,this._lowRtpTransceiver=void 0,this._rtpTransceiver=void 0,(function(t){const n=vh.indexOf(t);n!==-1&&vh.splice(n,1)})(this),this.emit(Kp.CLOSED),this.removeAllListeners(nf.SEI_RECEIVED)}_updateRtpTransceiver(t,n){if(n===Cp.LOW_STREAM){if(this._lowRtpTransceiver===t)return;this._lowRtpTransceiver=t}else{if(this._rtpTransceiver===t)return;this._rtpTransceiver=t}this.emit(nf.TRANSCEIVER_UPDATED,t,n)}}class Rh extends Uq{get isExternalTrack(){return this._isExternalTrack}get muted(){return this._muted}get enabled(){return this._enabled}get processorContext(){return this._processorContext}constructor(t,n){super(t,n),Fe(this,"_enabled",!0),Fe(this,"_muted",!1),Fe(this,"_isExternalTrack",!1),Fe(this,"_isClosed",!1),Fe(this,"_enabledMutex",void 0),Fe(this,"processor",void 0),Fe(this,"_processorContext",void 0),Fe(this,"_handleTrackEnded",(()=>{this.onTrackEnded()})),this._enabledMutex=new Hi("".concat(this.getTrackId())),t.addEventListener("ended",this._handleTrackEnded)}getTrackLabel(){var t,n;return(t=(n=this._originMediaStreamTrack)===null||n===void 0?void 0:n.label)!==null&&t!==void 0?t:""}close(){this._isClosed||(this.stop(),this._originMediaStreamTrack.stop(),this._mediaStreamTrack!==this._originMediaStreamTrack&&(this._mediaStreamTrack.stop(),this._mediaStreamTrack=null),this._originMediaStreamTrack=null,this._enabledMutex=null,D.debug("[".concat(this.getTrackId(),"] close")),this.emit(ut.NEED_CLOSE),super.close())}async _updateOriginMediaStreamTrack(t,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2];this._isExternalTrack=r,t!==this._originMediaStreamTrack&&(this._originMediaStreamTrack&&(this._originMediaStreamTrack.removeEventListener("ended",this._handleTrackEnded),n&&this._originMediaStreamTrack.stop()),t.addEventListener("ended",this._handleTrackEnded),this._originMediaStreamTrack=t,this._muted&&(this._originMediaStreamTrack.enabled=!1),this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource(),await Fn(this,ut.NEED_REPLACE_TRACK,this),this.processor&&this._processorContext&&this.processor.updateInput({track:this._originMediaStreamTrack,context:this._processorContext}))}_getDefaultPlayerConfig(){return{}}onTrackEnded(){D.debug("[".concat(this.getTrackId(),"] track ended")),this.safeEmit(Kp.TRACK_ENDED)}stateCheck(t,n){if(D.debug("check track state, [muted: ".concat(this._muted,", enabled: ").concat(this._enabled,"] to [").concat(t,": ").concat(n,"]")),nu(n,t),this._enabled&&this._muted&&t==="enabled"&&n===!1)throw new Be(Q.TRACK_STATE_UNREACHABLE,"cannot set enabled while the track is muted").print("error",D);if(!this._enabled&&!this._muted&&t==="muted"&&n===!0)throw new Be(Q.TRACK_STATE_UNREACHABLE,"cannot set muted while the track is disabled").print("error",D)}getProcessorStats(){return this._processorContext&&this._processorContext.gatherStats()||[]}getProcessorUsage(){return this._processorContext?this._processorContext.gatherUsage():ot.resolve([])}}const cB=window.AudioContext||window.webkitAudioContext;let Cs=null;const In=new class extends fr{constructor(){super(...arguments),Fe(this,"prevState",void 0),Fe(this,"curState",void 0),Fe(this,"currentTime",void 0),Fe(this,"currentTimeStuckAt",void 0),Fe(this,"interruptDetectorTrack",void 0),Fe(this,"onLocalAudioTrackMute",(()=>{D.info("ios15-interruption-start"),this.emit(mi.IOS_15_16_INTERRUPTION_START)})),Fe(this,"onLocalAudioTrackUnmute",(async()=>{D.info("ios15-interruption-end"),this.curState!=="running"||this.duringInterruption?D.info("ios15-interruption-end-canceled"):(Cs&&await Cs.suspend(),this.emit(mi.IOS_15_16_INTERRUPTION_END))}))}get duringInterruption(){return this.prevState==="running"&&this.curState==="interrupted"}bindInterruptDetectorTrack(e){D.debug("webaudio bindInterruptDetectorTrack ".concat(e.getTrackId())),this.interruptDetectorTrack||(this.interruptDetectorTrack=e,this.interruptDetectorTrack._mediaStreamTrack.onmute=this.onLocalAudioTrackMute,this.interruptDetectorTrack._mediaStreamTrack.onunmute=this.onLocalAudioTrackUnmute)}unbindInterruptDetectorTrack(e){D.debug("webaudio unbindInterruptDetectorTrack ".concat(e.getTrackId())),this.interruptDetectorTrack&&this.interruptDetectorTrack===e&&(this.interruptDetectorTrack._mediaStreamTrack&&(this.interruptDetectorTrack._mediaStreamTrack.onmute=null,this.interruptDetectorTrack._mediaStreamTrack.onunmute=null),this.interruptDetectorTrack=void 0)}};function $p(){if(!Cs){if((function(){if(!cB)return void D.error("your browser is not support web audio");D.info("create audio context");const e=or({},he("WEBAUDIO_INIT_OPTIONS"));D.debug("audio context init option:",JSON.stringify(e)),Cs=new cB(e),In.curState=Cs.state,Cs.onstatechange=()=>{In.prevState=In.curState,In.curState=Cs?Cs.state:void 0;const{prevState:t,curState:n}=In,r=n==="running",i=n==="interrupted",o=t==="running",s=t==="suspended",a=t==="interrupted",c=an().osVersion;(vo()||Ma())&&o&&i&&(D.info("ios".concat(c,"-interruption-start")),In.emit(mi.IOS_INTERRUPTION_START)),(vo()||Ma())&&(s||a)&&r&&(D.info("ios".concat(c,"-interruption-end")),In.emit(mi.IOS_INTERRUPTION_END)),t!==n&&In.emit(mi.STATE_CHANGE,n,t)},setInterval((()=>{var t;const n=(t=Cs)===null||t===void 0?void 0:t.currentTime;In.currentTime!==n?(In.currentTimeStuckAt&&(D.debug("AudioContext current time resume at ".concat(n)),In.currentTimeStuckAt=void 0),In.currentTime=n):(n!==In.currentTimeStuckAt&&(mt.reportApiInvoke(null,{name:"WEB_AUDIO_CURRENT_TIME_STUCK",options:{currentTime:n},tag:vr.TRACER}).onSuccess(),D.warning("AudioContext current time stuck at ".concat(n))),In.currentTimeStuckAt=n)}),5e3),(async function(t){const n=["click","contextmenu","auxclick","dblclick","mousedown","mouseup","touchend","keydown","keyup"];let r,i=!1,o=!1,s=!1;function a(g){t.state==="running"?c(!1):vo()||Ma()?t.state==="suspended"&&(c(!0),g&&t.resume().then(l,l)):t.state!=="closed"&&(c(!0),g&&t.resume().then(l,l))}function c(g){if(i!==g){i=g;for(let m=0,y=n;m<y.length;m+=1){const v=y[m];g?window.addEventListener(v,u,{capture:!0,passive:!0}):window.removeEventListener(v,u,{capture:!0,passive:!0})}}}function l(){a(!1)}function u(){a(!0)}function d(g){if(!s)if(r.paused)if(g){let m;f(!1),s=!0;try{m=r.play(),m?m.then(h,h):(r.addEventListener("playing",h),r.addEventListener("abort",h),r.addEventListener("error",h))}catch{h()}}else f(!0);else f(!1)}function f(g){if(o!==g){o=g;for(let m=0,y=n;m<y.length;m++){const v=y[m];g?window.addEventListener(v,p,{capture:!0,passive:!0}):window.removeEventListener(v,p,{capture:!0,passive:!0})}}}function h(){r.removeEventListener("playing",h),r.removeEventListener("abort",h),r.removeEventListener("error",h),s=!1,d(!1)}function p(){d(!0)}if(vo()){const g=t.createMediaStreamDestination(),m=document.createElement("div");m.innerHTML="<audio x-webkit-airplay='deny'></audio>",r=m.children.item(0),r.controls=!1,r.disableRemotePlayback=!0,r.preload="auto",r.srcObject=g.stream,d(!0)}In.on(mi.STATE_CHANGE,(function(){a(!0)})),a(!1)})(Cs)})(),!Cs)throw new Be(Q.NOT_SUPPORTED,"can not create audio context");return Cs}return Cs}function A0(e){if((function(){if(lE!==null)return lE;const r=$p(),i=r.createBufferSource(),o=r.createGain(),s=r.createGain();i.connect(o),i.connect(s),i.disconnect(o);let a=!1;try{i.disconnect(o)}catch{a=!0}return i.disconnect(),lE=a,a})())return;const t=e.connect,n=e.disconnect;e.connect=(r,i,o)=>{var s;return e._inputNodes||(e._inputNodes=[]),lt(s=e._inputNodes).call(s,r)||(r instanceof AudioNode?(e._inputNodes.push(r),t.call(e,r,i,o)):t.call(e,r,i)),e},e.disconnect=(r,i,o)=>{n.call(e),r?T4(e._inputNodes,r):e._inputNodes=[];for(const s of e._inputNodes)t.call(e,s)}}let lE=null;function EI(e,t){let n=!1;const r=1/t;if(he("DISABLE_WEBAUDIO")){const i=window.setInterval((()=>{n?window.clearInterval(i):e(performance.now()/1e3)}),1e3*r)}else{const i=$p();let o=i.createGain();o.gain.value=0,o.connect(i.destination);const s=()=>{if(n)return void(o=null);const a=i.createOscillator();a.onended=s,a.connect(o),a.start(0),a.stop(i.currentTime+r),e(i.currentTime)};s()}return()=>{n=!0}}class jq{constructor(){Fe(this,"context",void 0),Fe(this,"analyserNode",void 0),Fe(this,"sourceNode",void 0),this.context=$p(),this.analyserNode=this.context.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.smoothingTimeConstant=.4}updateSource(t){if(t!==this.sourceNode){if(this.sourceNode)try{this.sourceNode.disconnect(this.analyserNode)}catch{}this.sourceNode=t,t==null||t.connect(this.analyserNode)}}getVolumeLevel(){if(!this.sourceNode||(!this.context||vo()||Ma()||this.context.state!=="running"&&this.context.resume(),!this.analyserNode))return 0;const t=new Float32Array(this.analyserNode.fftSize);if(this.analyserNode.getFloatTimeDomainData)this.analyserNode.getFloatTimeDomainData(t);else{const r=new Uint8Array(this.analyserNode.fftSize);this.analyserNode.getByteTimeDomainData(r);for(let i=0;i<t.length;++i)t[i]=r[i]/128-1}const n=vc(t).call(t,((r,i)=>r+i*i),0)/t.length;return Math.max(10*Math.log10(n)+100,0)/100}getAnalyserNode(){return this.analyserNode}rebuildAnalyser(){try{var t,n;(t=this.sourceNode)===null||t===void 0||t.disconnect(this.analyserNode),this.analyserNode=this.context.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.smoothingTimeConstant=.4,(n=this.sourceNode)===null||n===void 0||n.connect(this.analyserNode)}catch{D.warning("rebuild analyser node failed.")}}destroy(){this.updateSource(void 0)}}class Hq extends fr{get processSourceNode(){return this.sourceNode}set processedNode(t){var n;if(!this.isDestroyed&&this._processedNode!==t){try{var r;(r=this.sourceNode)===null||r===void 0||r.disconnect(this.outputNode)}catch{}(n=this._processedNode)===null||n===void 0||n.disconnect(),this._processedNode=t,this.connect()}}get processedNode(){return this._processedNode}constructor(){super(),Fe(this,"outputNode",void 0),Fe(this,"outputTrack",void 0),Fe(this,"isPlayed",!1),Fe(this,"sourceNode",void 0),Fe(this,"context",void 0),Fe(this,"audioBufferNode",void 0),Fe(this,"destNode",void 0),Fe(this,"audioOutputLevel",0),Fe(this,"volumeLevelAnalyser",void 0),Fe(this,"_processedNode",void 0),Fe(this,"playNode",void 0),Fe(this,"isDestroyed",!1),Fe(this,"onNoAudioInput",void 0),Fe(this,"isNoAudioInput",!1),Fe(this,"_noAudioInputCount",0),this.context=$p(),this.playNode=this.context.destination,this.outputNode=this.context.createGain(),A0(this.outputNode),this.volumeLevelAnalyser=new jq}startGetAudioBuffer(t){this.audioBufferNode||(this.audioBufferNode=this.context.createScriptProcessor(t),this.outputNode.connect(this.audioBufferNode),this.audioBufferNode.connect(this.context.destination),this.audioBufferNode.onaudioprocess=n=>{this.emit(Rs.ON_AUDIO_BUFFER,(function(r){for(let i=0;i<r.outputBuffer.numberOfChannels;i+=1){const o=r.outputBuffer.getChannelData(i);for(let s=0;s<o.length;s+=1)o[s]=0}return r.inputBuffer})(n))})}stopGetAudioBuffer(){this.audioBufferNode&&(this.audioBufferNode.onaudioprocess=null,this.outputNode.disconnect(this.audioBufferNode),this.audioBufferNode=void 0)}createOutputTrack(){if(!fn().webAudioMediaStreamDest)throw new Be(Q.NOT_SUPPORTED,"your browser is not support audio processor");return this.destNode&&this.outputTrack||(this.destNode=this.context.createMediaStreamDestination(),this.outputNode.connect(this.destNode),this.outputTrack=this.destNode.stream.getAudioTracks()[0]),this.outputTrack}play(t){this.context.state!=="running"&&u6((()=>{In.emit("autoplay-failed")})),this.isPlayed=!0,this.playNode=t||this.context.destination,this.outputNode.connect(this.playNode)}stop(){if(this.isPlayed)try{this.outputNode.disconnect(this.playNode)}catch{}this.isPlayed=!1}getAccurateVolumeLevel(){return this.volumeLevelAnalyser.getVolumeLevel()}async checkHasAudioInput(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;if(t>5)return this.isNoAudioInput=!0,this.onNoAudioInput&&this.onNoAudioInput(),!1;vo()||Ma()?this.context.state==="suspended"&&this.context.resume():this.context.state!=="running"&&this.context.resume();const n=this.volumeLevelAnalyser.getAnalyserNode();let r;n.getFloatTimeDomainData?(r=new Float32Array(n.fftSize),n.getFloatTimeDomainData(r)):(r=new Uint8Array(n.fftSize),n.getByteTimeDomainData(r));let i=!1;for(let o=0;o<r.length;o++)r[o]!==0&&(i=!0);return i?(this.isNoAudioInput=!1,!0):(await Ei(200),await this.checkHasAudioInput(t?t+1:1)&&i)}getAudioVolume(){return this.outputNode.gain.value}setVolume(t){this.outputNode.gain.setValueAtTime(t,this.context.currentTime)}destroy(){this.disconnect(),this.stop(),this.isDestroyed=!0,this.onNoAudioInput=void 0}disconnect(){var t,n;(t=this.processedNode)===null||t===void 0||t.disconnect(),(n=this.sourceNode)===null||n===void 0||n.disconnect(),this.outputNode&&this.outputNode.disconnect()}connect(){var t;this.processedNode?(t=this.processedNode)===null||t===void 0||t.connect(this.outputNode):this.sourceNode&&this.sourceNode.connect(this.outputNode),this.volumeLevelAnalyser.updateSource(this.outputNode)}}class zq extends Hq{get isFreeze(){return!1}constructor(t,n,r){var i;if(super(),Fe(this,"sourceNode",void 0),Fe(this,"track",void 0),Fe(this,"clonedTrack",void 0),Fe(this,"audioElement",void 0),Fe(this,"isCurrentTrackCloned",!1),Fe(this,"isRemoteTrack",!1),Fe(this,"originVolumeLevelAnalyser",void 0),Fe(this,"rebuildWebAudio",(async()=>{if(D.debug("ready to rebuild web audio, state:",this.context.state),this.isNoAudioInput&&await this.checkHasAudioInput(),!this.isNoAudioInput||this.isDestroyed)return document.body.removeEventListener("click",this.rebuildWebAudio,!0),void D.debug("rebuild web audio success, current volume status",this.getAccurateVolumeLevel());this.context.resume().then((()=>D.info("resume success"))),D.debug("rebuild web audio because of ios 12 bugs"),this.disconnect();const a=this.track;this.track=this.track.clone(),this.isCurrentTrackCloned?a.stop():this.isCurrentTrackCloned=!0;const c=new MediaStream([this.track]);this.sourceNode=this.context.createMediaStreamSource(c),A0(this.sourceNode),this.volumeLevelAnalyser.rebuildAnalyser();const l=this.outputNode.gain.value;this.outputNode=this.context.createGain(),this.outputNode.gain.setValueAtTime(l,this.context.currentTime),A0(this.outputNode),this.emit(Rs.UPDATE_SOURCE),this.connect(),this.audioElement.srcObject=c,this.isPlayed&&this.play(this.playNode),this.checkHasAudioInput()})),t.kind!=="audio")throw new Be(Q.UNEXPECTED_ERROR);this.track=t;const o=new MediaStream([this.track]);if(this.isRemoteTrack=!!n,this.sourceNode=this.context.createMediaStreamSource(o),A0(this.sourceNode),r){const a=r.clone();a.enabled=!0,this.clonedTrack=a,D.debug("create an unmuted track ".concat(a.id," from the original track ").concat(r.id," to get the volume"));const c=this.context.createMediaStreamSource(new MediaStream([a]));A0(c),this.originVolumeLevelAnalyser=new jq,this.originVolumeLevelAnalyser.updateSource(c)}this.connect(),this.audioElement=document.createElement("audio"),this.audioElement.srcObject=o;const s=an();n&&s.os===ii.IOS&&Number((i=s.osVersion)===null||i===void 0?void 0:i.split(".")[0])<15&&(In.on(mi.STATE_CHANGE,(()=>{this.context.state==="suspended"?document.body.addEventListener("click",this.rebuildWebAudio,!0):this.context.state==="running"&&this.rebuildWebAudio()})),this.checkHasAudioInput().then((a=>{a||document.body.addEventListener("click",this.rebuildWebAudio,!0)})))}updateTrack(t){this.sourceNode.disconnect(),this.track=t,this.isCurrentTrackCloned=!1;const n=new MediaStream([t]);this.sourceNode=this.context.createMediaStreamSource(n),A0(this.sourceNode),this.processedNode||this.sourceNode.connect(this.outputNode),this.emit(Rs.UPDATE_SOURCE),this.audioElement.srcObject=n}destroy(){var t;this.audioElement.srcObject=null,this.audioElement.remove(),In.off("state-change",this.rebuildWebAudio),(t=this.originVolumeLevelAnalyser)===null||t===void 0||t.destroy(),this.clonedTrack=void 0,super.destroy()}createMediaStreamSourceNode(t){return this.context.createMediaStreamSource(new MediaStream([t]))}updateOriginTrack(t){const n=t.clone();n.enabled=!0,this.clonedTrack&&(this.clonedTrack.stop(),this.clonedTrack=n),D.debug("create an unmuted track ".concat(n.id," from the original track ").concat(t.id," to get the volume"));const r=this.context.createMediaStreamSource(new MediaStream([n]));A0(r),this.originVolumeLevelAnalyser&&this.originVolumeLevelAnalyser.updateSource(r)}getOriginVolumeLevel(){return this.originVolumeLevelAnalyser?this.originVolumeLevelAnalyser.getVolumeLevel():this.getAccurateVolumeLevel()}}async function Wq(e,t,n){const r=(o,s)=>o?typeof o!="number"?o.max||o.exact||o.ideal||o.min||s:o:s,i={audio:!!n&&{mandatory:{chromeMediaSource:"desktop"}},video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e,maxHeight:r(t.height,1080),maxWidth:r(t.width,1920)}}};return t.frameRate&&typeof t.frameRate!="number"?(i.video.mandatory.maxFrameRate=t.frameRate.max,i.video.mandatory.minFrameRate=t.frameRate.min):typeof t.frameRate=="number"&&(i.video.mandatory.maxFrameRate=t.frameRate),await navigator.mediaDevices.getUserMedia(i)}async function bBe(e,t){const n=await Vq(e.mediaSource),{sourceId:r,audio:i}=await(function(o){let s=arguments.length>1&&arguments[1]!==void 0&&arguments[1];return new ot(((a,c)=>{const l=document.createElement("div");l.innerText="share screen",l.setAttribute("style","text-align: center; height: 25px; line-height: 25px; border-radius: 4px 4px 0 0; background: #D4D2D4; border-bottom: solid 1px #B9B8B9;");const u=document.createElement("div");u.setAttribute("style","width: 100%; height: 500px; padding: 15px 25px ; box-sizing: border-box;");const d=document.createElement("div");d.innerText="Agora Web Screensharing wants to share the contents of your screen with webdemo.agorabeckon.com. Choose what you'd like to share.",d.setAttribute("style","height: 12%;");const f=document.createElement("div");f.setAttribute("style","width: 100%; height: 80%; background: #FFF; border: solid 1px #CBCBCB; display: flex; flex-wrap: wrap; justify-content: space-around; overflow-y: scroll; padding: 0 15px; box-sizing: border-box;");const h=document.createElement("div");h.setAttribute("style","display: flex; justify-content: space-between; padding: 16px 0;");const p=document.createElement("button");p.innerHTML="cancel",p.setAttribute("style","width: 85px;"),p.onclick=()=>{document.body.removeChild(y);const v=new Error("NotAllowedError");v.name="NotAllowedError",c(v)};let g=s;const m=document.createElement("div");if(s){const v=document.createElement("input");v.setAttribute("type","checkbox");const E=document.createElement("span");v.setAttribute("style","margin-right: 6px;"),E.innerText="Share audio",v.checked=g,v.onchange=()=>{g=v.checked},m.appendChild(v),m.appendChild(E)}h.appendChild(m),h.appendChild(p),u.appendChild(d),u.appendChild(f),u.appendChild(h);const y=document.createElement("div");y.setAttribute("style","position: fixed; z-index: 99999999; top: 50%; left: 50%; width: 620px; height: 525px; background: #ECECEC; border-radius: 4px; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);"),y.appendChild(l),y.appendChild(u),document.body.appendChild(y),o.map((v=>{if(v.id){const E=document.createElement("div");E.setAttribute("style","width: 30%; height: 160px; padding: 20px 0; text-align: center;box-sizing: content-box;");let b=v.thumbnail;try{const{width:S}=b.getSize();S>1920&&(b=b.resize({width:1920}))}catch(S){throw S&&S.message.startsWith("Illegal invocation")&&console.error("Operate thumbnail error, please try to set contextIsolation: false. (https://github.com/electron/electron/issues/34953)"),S}E.innerHTML='<div style="height: 120px; display: table-cell; vertical-align: middle;"><img style="width: 100%; background: #333333; box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.2);" src='+b.toDataURL()+' /></div><span style=" height: 40px; line-height: 40px; display: inline-block; width: 70%; word-break: keep-all; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">'+v.name.replace(/[\u00A0-\u9999<>\&]/g,(function(S){return"&#"+S.charCodeAt(0)+";"}))+"</span>",E.onclick=()=>{document.body.removeChild(y),a({sourceId:v.id,audio:g})},f.appendChild(E)}}))}))})(n,t);return await Wq(r,e,i)}async function Vq(e){let t=["window","screen"];e!=="application"&&e!=="window"||(t=["window"]),e==="screen"&&(t=["screen"]);const n=pq();if(!n)throw console.error("failed to fetch electron, please mount it to window"),new Be(Q.ELECTRON_IS_NULL);let r=null;try{var i;r=((i=n.desktopCapturer)===null||i===void 0?void 0:i.getSources({types:t}))||n.ipcRenderer.invoke("DESKTOP_CAPTURER_GET_SOURCES",{types:t})}catch{r=null}r&&r.then||(r=new ot(((o,s)=>{n.desktopCapturer.getSources({types:t},((a,c)=>{a?s(a):o(c)}))})));try{return await r}catch(o){throw new Be(Q.ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR,o.toString())}}const nC=new Hi("safari");let Gq=!1,Jq=!1;async function Os(e,t){let n=0,r=null;for(;n<2;)try{r=await SBe(e,t,n>0);break}catch(i){if(i instanceof Be)throw D.error("[".concat(t,"] ").concat(i.toString())),i;const o=w3(i.name||i.code||i,i.message);if(o.code===Q.MEDIA_OPTION_INVALID){D.debug("[".concat(t,"] detect media option invalid, retry")),n+=1,await Ei(500);continue}throw D.error("[".concat(t,"] ").concat(o.toString())),o}if(!r)throw new Be(Q.UNEXPECTED_ERROR,"can not find stream after getUserMedia");return r}async function SBe(e,t,n){if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)throw new Be(Q.NOT_SUPPORTED,"can not find getUserMedia");n&&(e.video&&(delete e.video.width,delete e.video.height),e.screen&&(delete e.screen.width,delete e.screen.height));const r=fn(),i=new MediaStream;if(e.audioSource&&i.addTrack(e.audioSource),e.videoSource&&i.addTrack(e.videoSource),!e.audio&&!e.video&&!e.screen)return D.debug("Using Video Source/ Audio Source"),i;if(e.screen)if(pq())e.screen.sourceId?nh(i,await Wq(e.screen.sourceId,e.screen,e.screenAudio)):nh(i,await bBe(e.screen,e.screenAudio));else if(Od()&&e.screen.extensionId&&e.screen.mandatory){if(!r.getStreamFromExtension)throw new Be(Q.NOT_SUPPORTED,"This browser does not support screen sharing");D.debug("[".concat(t,'] Screen access on chrome stable, looking for extension"'));const f=await(s=e.screen.extensionId,a=t,new ot(((h,p)=>{try{chrome.runtime.sendMessage(s,{getStream:!0},(g=>{if(!g||!g.streamId)return D.error("[".concat(a,"] No response from Chrome Plugin. Plugin not installed properly"),g),void p(new Be(Q.CHROME_PLUGIN_NO_RESPONSE,"No response from Chrome Plugin. Plugin not installed properly"));h(g.streamId)}))}catch(g){D.error("[".concat(a,"] AgoraRTC screensharing plugin is not accessible(").concat(s,")"),g.toString()),p(new Be(Q.CHROME_PLUGIN_NOT_INSTALL))}})));e.screen.mandatory.chromeMediaSourceId=f,nh(i,await navigator.mediaDevices.getUserMedia({video:{mandatory:e.screen.mandatory}}))}else if(r.getDisplayMedia){var o;e.screen.mediaSource&&sB(e.screen.mediaSource);const f={width:e.screen.width,height:e.screen.height,frameRate:e.screen.frameRate,displaySurface:(o=e.screen.displaySurface)!==null&&o!==void 0?o:e.screen.mediaSource==="screen"?"monitor":e.screen.mediaSource},{selfBrowserSurface:h,surfaceSwitching:p,systemAudio:g}=e.screen,m={selfBrowserSurface:h,surfaceSwitching:p,systemAudio:g};!h&&delete m.selfBrowserSurface,!p&&delete m.surfaceSwitching,!g&&delete m.systemAudio,D.debug("[".concat(t,"] getDisplayMedia:"),JSON.stringify({video:f,audio:!!e.screenAudio,controls:m})),nh(i,await navigator.mediaDevices.getDisplayMedia(or({video:f,audio:!!e.screenAudio},m)))}else{if(!Er())throw D.error("[".concat(t,"] This browser does not support screenSharing")),new Be(Q.NOT_SUPPORTED,"This browser does not support screen sharing");{e.screen.mediaSource&&sB(e.screen.mediaSource);const f={video:{mediaSource:e.screen.mediaSource,width:e.screen.width,height:e.screen.height,frameRate:e.screen.frameRate}};D.debug("[".concat(t,"] getUserMedia: ").concat(JSON.stringify(f))),nh(i,await navigator.mediaDevices.getUserMedia(f))}}var s,a;if(!e.video&&!e.audio)return i;let c={video:e.video,audio:e.audio},l=he("MEDIA_DEVICE_CONSTRAINTS");if(l)try{typeof l=="string"&&(l=JSON.parse(l)),c=JA(c,l)}catch{}D.debug("[".concat(t,"] GetUserMedia"),JSON.stringify(c)),an();let u,d=null;(Ri()||vo()||w4())&&(d=await nC.lock());try{u=await navigator.mediaDevices.getUserMedia(c)}catch(f){throw d&&d(),f}return c.audio&&(Gq=!0),c.video&&(Jq=!0),nh(i,u),d&&d(),i}function w3(e,t){switch(e){case"Starting video failed":case"OverconstrainedError":case"TrackStartError":return new Be(Q.MEDIA_OPTION_INVALID,"".concat(e,": ").concat(t));case"NotFoundError":case"DevicesNotFoundError":return new Be(Q.DEVICE_NOT_FOUND,"".concat(e,": ").concat(t));case"NotSupportedError":return new Be(Q.NOT_SUPPORTED,"".concat(e,": ").concat(t));case"NotReadableError":return new Be(Q.NOT_READABLE,"".concat(e,": ").concat(t));case"InvalidStateError":case"NotAllowedError":case"PERMISSION_DENIED":case"PermissionDeniedError":return new Be(Q.PERMISSION_DENIED,"".concat(e,": ").concat(t));case"ConstraintNotSatisfiedError":return new Be(Q.CONSTRAINT_NOT_SATISFIED,"".concat(e,": ").concat(t));default:return D.error("getUserMedia unexpected error",e),new Be(Q.UNEXPECTED_ERROR,"".concat(e,": ").concat(t))}}function nh(e,t){const n=e.getVideoTracks()[0],r=e.getAudioTracks()[0],i=t.getVideoTracks()[0],o=t.getAudioTracks()[0];o&&(r&&e.removeTrack(r),e.addTrack(o)),i&&(n&&e.removeTrack(n),e.addTrack(i))}const xs=new class extends fr{get state(){return this._state}set state(e){e!==this._state&&(this.emit(z0.STATE_CHANGE,e),this._state=e)}constructor(){super(),Fe(this,"_state",S1.IDLE),Fe(this,"isAccessMicrophonePermission",!1),Fe(this,"isAccessCameraPermission",!1),Fe(this,"lastAccessMicrophonePermission",!1),Fe(this,"lastAccessCameraPermission",!1),Fe(this,"checkdeviceMatched",!1),Fe(this,"deviceInfoMap",new Map),this.init().then((()=>{navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",this.updateDevicesInfo.bind(this)),window.setInterval((()=>{(he("ENUMERATE_DEVICES_INTERVAL")||(c6()||a6()===ii.HARMONY_OS)&&Bd())&&this.updateDevicesInfo()}),he("ENUMERATE_DEVICES_INTERVAL_TIME"))})).catch((e=>D.error(e.toString())))}async enumerateDevices(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return new Be(Q.NOT_SUPPORTED,"enumerateDevices() not supported.").throw();const r=await navigator.mediaDevices.enumerateDevices(),i=this.checkMediaDeviceInfoIsOk(r);let o=!this.isAccessMicrophonePermission&&e,s=!this.isAccessCameraPermission&&t;i.audio&&(o=!1),i.video&&(s=!1);let a=null,c=null,l=null;if(!n&&(o||s)){if(nC.isLocked&&(D.debug("[device manager] wait GUM lock"),(await nC.lock())(),D.debug("[device manager] GUM unlock")),Gq&&(o=!1,this.isAccessMicrophonePermission=!0),Jq&&(s=!1,this.isAccessCameraPermission=!0),D.debug("[device manager] check media device permissions",e,t,o,s),o&&s){try{l=await navigator.mediaDevices.getUserMedia({audio:!0,video:!0})}catch(u){const d=w3(u.name||u.code||u,u.message);if(d.code===Q.PERMISSION_DENIED)throw d;D.warning("getUserMedia failed in getDevices",d)}this.isAccessCameraPermission=!0,this.isAccessMicrophonePermission=!0}else if(o){try{a=await navigator.mediaDevices.getUserMedia({audio:e})}catch(u){const d=w3(u.name||u.code||u,u.message);if(d.code===Q.PERMISSION_DENIED)throw d;D.warning("getUserMedia failed in getDevices",d)}this.isAccessMicrophonePermission=!0}else if(s){try{c=await navigator.mediaDevices.getUserMedia({video:t})}catch(u){const d=w3(u.name||u.code||u,u.message);if(d.code===Q.PERMISSION_DENIED)throw d;D.warning("getUserMedia failed in getDevices",d)}this.isAccessCameraPermission=!0}D.debug("[device manager] mic permission",e,"cam permission",t)}try{const u=await navigator.mediaDevices.enumerateDevices();return a&&a.getTracks().forEach((d=>d.stop())),c&&c.getTracks().forEach((d=>d.stop())),l&&l.getTracks().forEach((d=>d.stop())),a=null,c=null,l=null,u}catch(u){return a&&a.getTracks().forEach((d=>d.stop())),c&&c.getTracks().forEach((d=>d.stop())),l&&l.getTracks().forEach((d=>d.stop())),a=null,c=null,l=null,new Be(Q.ENUMERATE_DEVICES_FAILED,u.toString()).throw()}}async getRecordingDevices(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];return(await this.enumerateDevices(!0,!1,e)).filter((t=>t.kind==="audioinput"))}async getCamerasDevices(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];return(await this.enumerateDevices(!1,!0,e)).filter((t=>t.kind==="videoinput"))}async getSpeakers(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];return(await this.enumerateDevices(!0,!1,e)).filter((t=>t.kind==="audiooutput"))}searchDeviceIdByName(e){let t=null;return this.deviceInfoMap.forEach((n=>{n.device.label===e&&(t=n.device.deviceId)})),t}async getDeviceById(e){const t=(await this.enumerateDevices(!0,!0,!0)).find((n=>n.deviceId===e));if(!t)throw new Be(Q.DEVICE_NOT_FOUND,"deviceId: ".concat(e));return t}async init(){this.state=S1.INITING;try{await this.updateDevicesInfo(),this.state=S1.INITEND}catch(e){throw D.warning("Device Detection functionality cannot start properly.",e.toString()),this.state=S1.IDLE,(typeof isSecureContext=="boolean"?isSecureContext:location.protocol==="https:"||location.protocol==="file:"||location.hostname==="localhost"||location.hostname==="127.0.0.1"||location.hostname==="::1")||new Be(Q.WEB_SECURITY_RESTRICT,"Your context is limited by web security, please try using https protocol or localhost.").throw(),e}}async updateDevicesInfo(){const e=await this.enumerateDevices(!0,!0,!0),t=Date.now(),n=[];if(e[0]&&e[0].label&&this.checkdeviceMatched===!1){this.checkdeviceMatched=!0;const i=e.find((s=>s.kind==="audioinput"&&s.deviceId==="default")),o=e.find((s=>s.kind==="audiooutput"&&s.deviceId==="default"));i&&o?o.groupId===i.groupId?D.debug("[device-check] default input ".concat(i.label," and output ").concat(o.label," is the same group")):D.warning("[device-check] default input ".concat(i.label," and output ").concat(o.label," is not the same group")):D.debug("[device-check] default input or output not found")}const r=this.checkMediaDeviceInfoIsOk(e);if(e.forEach((i=>{if(!i.deviceId)return;const o=this.deviceInfoMap.get("".concat(i.kind,"_").concat(i.deviceId));if((o?o.state:"INACTIVE")!=="ACTIVE"){const s={initAt:t,updateAt:t,device:i,state:"ACTIVE"};this.deviceInfoMap.set("".concat(i.kind,"_").concat(i.deviceId),s),n.push(s)}o&&(o.updateAt=t)})),this.deviceInfoMap.forEach(((i,o)=>{i.state==="ACTIVE"&&i.updateAt!==t&&(i.state="INACTIVE",n.push(i))})),this.state!==S1.INITEND)return r.audio&&(this.lastAccessMicrophonePermission=!0,this.isAccessMicrophonePermission=!0),void(r.video&&(this.lastAccessCameraPermission=!0,this.isAccessCameraPermission=!0));n.forEach((i=>{switch(i.device.kind){case"audioinput":this.lastAccessMicrophonePermission&&this.isAccessMicrophonePermission&&this.emit(z0.RECORDING_DEVICE_CHANGED,i);break;case"videoinput":this.lastAccessCameraPermission&&this.isAccessCameraPermission&&this.emit(z0.CAMERA_DEVICE_CHANGED,i);break;case"audiooutput":this.lastAccessMicrophonePermission&&this.isAccessMicrophonePermission&&this.emit(z0.PLAYOUT_DEVICE_CHANGED,i)}})),r.audio&&(this.lastAccessMicrophonePermission=!0,this.isAccessMicrophonePermission=!0),r.video&&(this.lastAccessCameraPermission=!0,this.isAccessCameraPermission=!0)}checkMediaDeviceInfoIsOk(e){const t=e.filter((i=>i.kind==="audioinput")),n=e.filter((i=>i.kind==="videoinput")),r={audio:!1,video:!1};for(const i of t)if(i.label&&i.deviceId){r.audio=!0;break}for(const i of n)if(i.label&&i.deviceId){r.video=!0;break}return r}};let uE=!1;const ws=new class extends fr{constructor(){super(...arguments),Fe(this,"onAutoplayFailed",void 0),Fe(this,"onAudioAutoplayFailed",void 0)}};function Zq(){if(an(),!uE){const e=t=>{t.preventDefault(),uE=!1,ag()?document.body.removeEventListener("click",e,!0):(document.body.removeEventListener("touchstart",e,!0),document.body.removeEventListener("mousedown",e,!0))};uE=!0,ag()?document.body.addEventListener("click",e,!0):(document.body.addEventListener("touchstart",e,!0),document.body.addEventListener("mousedown",e,!0)),D.info("detect media autoplay failed, document: https://docs.agora.io/cn/Voice/autoplay_policy_web_ng?platform=Web"),ws.onAutoplayFailed?ws.onAutoplayFailed():ws.onAudioAutoplayFailed?D.warning(`AgoraRTC.onAudioAutoplayFailed has been deprecated in favor of AgoraRTC.onAutoplayFailed.
Please refer to the Agora document to migrate the newer API, https://docs.agora.io/en/Voice/autoplay_policy_web_ng?platform=Web .`):D.warning(`We have detected a media autoplay failed event, and found out that you haven't implemented AgoraRTC.onAutoplayFailed callback yet.
It will cause audio/video element not playing automatically on some browsers without user interaction, possibly hurting user experiences.
Please refer to the Agora document to properly handle autoplay failed event, https://docs.agora.io/en/Voice/autoplay_policy_web_ng?platform=Web .`),ws.emit("autoplay-failed")}}function Yq(e,t,n,r){if(!e)return;const i=mt.getBaseInfoBySessionId(e);if(!i)return;const o=i.info,s=Date.now(),a=or(or({},o),{},{vid:o.vid===void 0?0:Number(o.vid),lts:s,elapse:s-i.startTime,cbRegistered:ws.onAutoplayFailed||ws.onAudioAutoplayFailed?1:-1,errorMsg:n,mediaType:t,trackId:r,extend:void 0});mt.send({type:dr.AUTOPLAY_FAILED,data:a},!0)}const ABe=["play","playing","loadeddata","canplay","pause","stalled","suspend","waiting","abort","emptied","ended","error"],Io=new class{constructor(){Fe(this,"onAutoplayFailed",void 0),Fe(this,"elementMap",new Map),Fe(this,"elementStateMap",new Map),Fe(this,"elementsNeedToResume",[]),Fe(this,"sinkIdMap",new Map),Fe(this,"autoResumeAfterInterruption",(e=>{Array.from(this.elementMap.entries()).forEach((t=>{let[n,r]=t;const i=this.elementStateMap.get(n),o=r.srcObject.getAudioTracks()[0],s=o&&o.readyState;if(D.debug("resume after interrupted, ele: ".concat(i," audio: ").concat(s," ").concat(e)),s==="live"){if(e)return r.pause(),void r.play();if(In.curState==="running")return Ep()?(r.pause(),void r.play()):void(i&&i==="paused"&&r.play())}}))})),Fe(this,"autoResumeAfterInterruptionOnIOS15_16",(()=>{Array.from(this.elementMap.entries()).forEach((e=>{let[t,n]=e;const r=n.srcObject.getAudioTracks()[0];r&&r.readyState==="live"&&(D.debug("auto resume after interruption inside autoResumeAfterInterruptionOnIOS15"),n.pause(),n.play())}))})),this.autoResumeAudioElement(),In.on(mi.IOS_INTERRUPTION_END,this.autoResumeAfterInterruption),In.on(mi.IOS_15_16_INTERRUPTION_END,this.autoResumeAfterInterruptionOnIOS15_16),In.on(mi.STATE_CHANGE,(()=>{vo()&&In.prevState==="suspended"&&In.curState==="running"&&this.autoResumeAfterInterruption()}))}async setSinkID(e,t){const n=this.elementMap.get(e);if(this.sinkIdMap.set(e,t),n)try{await n.setSinkId(t)}catch(r){throw new Be(Q.PERMISSION_DENIED,"can not set sink id: "+r.toString())}}play(e,t,n,r){if(this.elementMap.has(t))return;const i=document.createElement("audio");i.autoplay=!0,i.srcObject=new MediaStream([e]),this.bindAudioElementEvents(t,i),this.elementMap.set(t,i),this.elementStateMap.set(t,oo.INIT),this.setVolume(t,n);const o=this.sinkIdMap.get(t);if(o)try{i.setSinkId(o).catch((a=>{D.warning("[".concat(t,"] set sink id failed"),a.toString())}))}catch(a){D.warning("[".concat(t,"] set sink id failed"),a.toString())}const s=i.play();s&&s.then&&s.catch((a=>{r&&Yq(r,"audio",a.message,t),D.warning("audio element play warning",a.toString()),this.elementMap.has(t)&&a.name==="NotAllowedError"&&(D.warning("detected audio element autoplay failed"),this.elementsNeedToResume.push(i),u6((()=>{this.onAutoplayFailed&&this.onAutoplayFailed(),Zq()})))}))}updateTrack(e,t){const n=this.elementMap.get(e);n&&(n.srcObject=new MediaStream([t]))}isPlaying(e){return this.elementMap.has(e)&&this.elementStateMap.get(e)==="playing"}setVolume(e,t){const n=this.elementMap.get(e);n&&(t=Math.max(0,Math.min(100,t)),n.volume=t/100)}stop(e){const t=this.elementMap.get(e);if(this.sinkIdMap.delete(e),!t)return;const n=this.elementsNeedToResume.indexOf(t);this.elementsNeedToResume.splice(n,1),t.srcObject=null,t.remove(),this.elementMap.delete(e),this.elementStateMap.delete(e)}bindAudioElementEvents(e,t){ABe.forEach((n=>{t.addEventListener(n,(r=>{const i=this.elementStateMap.get(e),o=r.type==="pause"?"paused":r.type;if(D.debug("[".concat(e,"] audio-element-status change ").concat(i," => ").concat(o)),r.type==="error"){const s=t==null?void 0:t.error;s&&D.error("[".concat(e,"] media error, code: ").concat(s.code,", message: ").concat(s.message))}this.elementStateMap.set(e,o)}))}))}getPlayerState(e){return this.elementStateMap.get(e)||"uninit"}autoResumeAudioElement(){const e=()=>{this.elementsNeedToResume.forEach((t=>{t.play().then((n=>{D.debug("Auto resume audio element success")})).catch((n=>{D.warning("Auto resume audio element failed!",n)}))})),this.elementsNeedToResume=[]};new ot((t=>{document.body?t():window.addEventListener("load",(()=>t()))})).then((()=>{ag()?document.body.addEventListener("click",e,!0):(document.body.addEventListener("touchstart",e,!0),document.body.addEventListener("mousedown",e,!0))}))}};function Or(){return function(e,t,n){const r=n.value;return typeof r=="function"&&(n.value=function(){this._isClosed&&new Be(Q.INVALID_OPERATION,"[".concat(this.getTrackId(),"] cannot operate a closed track")).print("warning",D);for(var i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];const a=r.apply(this,o);return a instanceof ot?new ot(((c,l)=>{a.then(c).catch(l)})):a}),n}}class Xq extends fr{constructor(t){super(),Fe(this,"name","VideoProcessorDestination"),Fe(this,"ID","0"),Fe(this,"_source",void 0),Fe(this,"videoContext",void 0),Fe(this,"inputTrack",void 0),this.videoContext=t}get kind(){return"video"}get enabled(){return!0}pipe(){throw new Be(Q.NOT_SUPPORTED,"VideoProcessor cannot pipe to any other Processor")}unpipe(){throw new Be(Q.NOT_SUPPORTED,"VideoProcessor cannot unpipe to any other Processor")}enable(){}disable(){}updateInput(t){if(t.context!==this.videoContext)throw new Error(`ProcessorContext passed to VideoTrack.processorDestination doesn't match it's belonging VideoTrack's context.
Probably you are making pipeline like this:
videoTrack1.pipe(processor).pipe(videoTrack2.processorDestination).`);t.track&&t.track!==this.inputTrack&&(this.videoContext.chained=!0,this.inputTrack=t.track,this.emit(yo.ON_TRACK,t.track))}reset(){this.inputTrack=void 0,this.videoContext.chained=!1,this.emit(yo.ON_TRACK,void 0)}}class Qq extends fr{set chained(t){this._chained=t}get chained(){return this._chained}constructor(t,n){super(),Fe(this,"constraintsMap",new Map),Fe(this,"statsRegistry",[]),Fe(this,"usageRegistry",[]),Fe(this,"trackId",void 0),Fe(this,"direction",void 0),Fe(this,"_chained",!1),this.trackId=t,this.direction=n}async getConstraints(){return await ki(this,Fs.REQUEST_CONSTRAINTS)}async requestApplyConstraints(t,n){var r;return D.info("processor ".concat(n.name," requestApplyConstraints for ").concat(this.trackId)),t&&this.constraintsMap.set(n,t),Fn(this,Fs.REQUEST_UPDATE_CONSTRAINTS,Array.from(pu(r=this.constraintsMap).call(r)))}async requestRevertConstraints(t){var n;if(this.constraintsMap.has(t))return D.info("processor ".concat(t.name," requestRevertConstraints for ").concat(this.trackId)),this.constraintsMap.delete(t),Fn(this,Fs.REQUEST_UPDATE_CONSTRAINTS,Array.from(pu(n=this.constraintsMap).call(n)))}registerStats(t,n,r){this.statsRegistry.find((i=>i.processorID===t.ID&&i.processorName===t.name&&i.type===n))||this.statsRegistry.push({processorName:t.name,processorID:t.ID,type:n,cb:r})}unregisterStats(t,n){const r=this.statsRegistry.findIndex((i=>i.processorID===t.ID&&i.processorName===t.name&&i.type===n));r!==-1&&this.statsRegistry.splice(r,1)}gatherStats(){const t=[];for(const{processorID:n,processorName:r,type:i,cb:o}of this.statsRegistry)try{const s=o();t.push({processorID:n,processorName:r,type:i,stats:s})}catch(s){D.error(new Be(Q.UNEXPECTED_ERROR,s.message))}return t}registerUsage(t,n){this.usageRegistry.find((r=>r.processorID===t.ID&&r.processorName===t.name))||this.usageRegistry.push({processorID:t.ID,processorName:t.name,cb:n})}unregisterUsage(t){const n=this.usageRegistry.findIndex((r=>r.processorID===t.ID&&r.processorName===t.name));n!==-1&&this.usageRegistry.splice(n,1)}async gatherUsage(){const t=[];if(!this.chained)return[];for(const{cb:n}of this.usageRegistry)try{let r=n();r instanceof ot&&(r=await r),t.push(or(or({},r),{},{direction:this.direction}))}catch(r){D.error("gather extension usage error",r)}return t}getDirection(){return this.direction}}class Kq extends fr{constructor(t){super(),Fe(this,"name","AudioProcessorDestination"),Fe(this,"ID","0"),Fe(this,"inputTrack",void 0),Fe(this,"inputNode",void 0),Fe(this,"audioProcessorContext",void 0),Fe(this,"_source",void 0),this.audioProcessorContext=t}get kind(){return"audio"}get enabled(){return!0}pipe(){throw new Be(Q.NOT_SUPPORTED,"AudioProcessorDestination cannot pipe to any other Processor")}unpipe(){throw new Be(Q.NOT_SUPPORTED,"AudioProcessor cannot unpipe to any other Processor")}enable(){}disable(){}reset(){this.inputTrack=void 0,this.inputNode=void 0,this.audioProcessorContext.chained=!1,this.emit(yo.ON_TRACK,void 0),this.emit(yo.ON_NODE,void 0)}updateInput(t){if(t.context!==this.audioProcessorContext)throw new Error(`ProcessorContext passed to AudioTrack.processorDestination doesn't match it's belonging AudioTrack's context.
Probably you are making pipeline like this: audioTrack1.pipe(processor).pipe(audioTrack2.processorDestination).`);t.track&&this.inputTrack!==t.track&&(this.audioProcessorContext.chained=!0,this.inputTrack=t.track,this.emit(yo.ON_TRACK,this.inputTrack)),t.node&&this.inputNode!==t.node&&(this.audioProcessorContext.chained=!0,this.inputNode=t.node,this.emit(yo.ON_NODE,this.inputNode))}}class qq extends fr{set chained(t){this._chained=t}get chained(){return this._chained}constructor(t,n,r){super(),Fe(this,"constraintsMap",new Map),Fe(this,"statsRegistry",[]),Fe(this,"audioContext",void 0),Fe(this,"trackId",void 0),Fe(this,"direction",void 0),Fe(this,"usageRegistry",[]),Fe(this,"_chained",!1),this.audioContext=t,this.trackId=n,this.direction=r}async getConstraints(){return ki(this,Fs.REQUEST_CONSTRAINTS)}getAudioContext(){return this.audioContext}async requestApplyConstraints(t,n){var r;return D.info("processor ".concat(n.name," requestApplyConstraints for ").concat(this.trackId)),t&&this.constraintsMap.set(n,t),Fn(this,Fs.REQUEST_UPDATE_CONSTRAINTS,Array.from(pu(r=this.constraintsMap).call(r)))}async requestRevertConstraints(t){var n;if(this.constraintsMap.has(t))return this.constraintsMap.delete(t),Fn(this,Fs.REQUEST_UPDATE_CONSTRAINTS,Array.from(pu(n=this.constraintsMap).call(n)))}registerStats(t,n,r){this.statsRegistry.find((i=>i.processorID===t.ID&&i.processorName===t.name&&i.type===n))||this.statsRegistry.push({processorName:t.name,processorID:t.ID,type:n,cb:r})}unregisterStats(t,n){const r=this.statsRegistry.findIndex((i=>i.processorID===t.ID&&i.processorName===t.name&&i.type===n));r!==-1&&this.statsRegistry.splice(r,1)}gatherStats(){const t=[];for(const{processorID:n,processorName:r,type:i,cb:o}of this.statsRegistry)try{const s=o();t.push({processorID:n,processorName:r,type:i,stats:s})}catch(s){D.error(new Be(Q.UNEXPECTED_ERROR,s.message))}return t}registerUsage(t,n){this.usageRegistry.find((r=>r.processorID===t.ID&&r.processorName===t.name))||this.usageRegistry.push({processorID:t.ID,processorName:t.name,cb:n})}unregisterUsage(t){const n=this.usageRegistry.findIndex((r=>r.processorID===t.ID&&r.processorName===t.name));n!==-1&&this.usageRegistry.splice(n,1)}async gatherUsage(){const t=[];if(!this.chained)return[];for(const{cb:n}of this.usageRegistry)try{let r=n();r instanceof ot&&(r=await r),t.push(or(or({},r),{},{direction:this.direction}))}catch(r){D.error("gather extension usage error",r)}return t}getDirection(){return this.direction}}class rC extends fr{get isPlayed(){return!0}get isFreeze(){return!1}constructor(){super(),Fe(this,"context",void 0),Fe(this,"processSourceNode",void 0),Fe(this,"outputTrack",void 0),Fe(this,"processedNode",void 0),Fe(this,"clonedTrack",void 0),Fe(this,"outputNode",void 0),this.outputNode=new CBe}setVolume(){}createOutputTrack(){throw new Be(Q.NOT_SUPPORTED,"can not create output MediaStreamTrack when WebAudio disabled")}getOriginVolumeLevel(){return 0}getAccurateVolumeLevel(){return 0}stopGetAudioBuffer(){}startGetAudioBuffer(){}play(){}stop(){}destroy(){}updateTrack(){}updateOriginTrack(){}createMediaStreamSourceNode(){}}class CBe{disconnect(){}connect(){}}function $q(e){return new ot(((t,n)=>{let r=!1;const i=document.createElement("video");i.setAttribute("autoplay",""),i.setAttribute("muted",""),i.muted=!0,i.autoplay=!0,i.setAttribute("playsinline",""),i.setAttribute("style","position: fixed; top: 0; left: 0; width: 1px; height: 1px"),document.body.appendChild(i);const o=vo()?"canplay":"playing";i.addEventListener(o,(()=>{const s=i.videoWidth,a=i.videoHeight;!s&&Er()||(r=!0,i.srcObject=null,i.remove(),t([s,a]))})),i.srcObject=new MediaStream([e]),i.play().catch(d6),setTimeout((()=>{r||(i.srcObject=null,i.remove(),t([i.videoWidth,i.videoHeight]))}),4e3)}))}function O4(e){const t={};e.facingMode&&(t.facingMode=e.facingMode),e.cameraId&&(t.deviceId={exact:e.cameraId});const n=$c(e.encoderConfig);return n.width!=null&&(t.width=n.width),n.height!=null&&(t.height=n.height),!dq()&&n.frameRate&&(t.frameRate=n.frameRate),oq()&&typeof t.frameRate=="object"&&(t.frameRate.max=60),Er()&&(t.frameRate={ideal:30,max:30}),t}function lB(e){const t={};if(dq()||(e.AGC!==void 0&&(t.autoGainControl=e.AGC),e.AEC!==void 0&&(t.echoCancellation=e.AEC),e.ANS!==void 0&&(t.noiseSuppression=e.ANS,Od()&&e.ANS&&(t.googHighpassFilter=e.ANS))),e.encoderConfig){const n=P4(e.encoderConfig);t.channelCount=n.stereo?2:1,t.sampleRate=n.sampleRate,t.sampleSize=n.sampleSize}return e.microphoneId&&(t.deviceId={exact:e.microphoneId}),c6()&&(t.sampleRate=void 0),t}const wBe=e=>{const t=e._encoderConfig;if(!t)return;const{frameRate:n,width:r,height:i}=e.getMediaStreamTrackSettings();let{frameRate:o=n,width:s=r,height:a=i}=t;if(!o||!s||!a)return;s=D9(s),a=D9(a),o=D9(o);const{max:c,min:l}=(function(h,p,g){const m=200*Math.pow(g/15,.6)*Math.pow(h*p/640/360,.75);return{min:Math.floor(m),max:Math.floor(4*m)}})(s,a,o),{bitrateMax:u,bitrateMin:d}=t||{};u||D.debug("calculate bitrate: [w: ".concat(s,", h: ").concat(a,", fps: ").concat(o,"] => [brMax: ").concat(u,", brMin: ").concat(d,"]"));const{maxFramerate:f}=he("ENCODER_CONFIG_LIMIT");return f&&typeof f=="number"&&(o=Math.min(o,f)),{frameRate:o,bitrateMax:u||c,bitrateMin:d||l,scaleResolutionDownBy:1,scale:0}},e$=async(e,t,n)=>await(async(r,i,o)=>{const s=(function(l){const u=[];for(let d=0;d<l.length;d+=2)u.push(parseInt(l.slice(d,d+2),16));return Uint8Array.from(u)})(yq(""+i+o)).slice(0,16),a=s.slice(0,12),c=await window.crypto.subtle.importKey("raw",s,"AES-GCM",!0,["encrypt"]);return new Uint8Array(await window.crypto.subtle.encrypt({name:"AES-GCM",iv:a},c,r))})(e.buffer,t,n),bI=e=>{const t=document.createElement("canvas");return t.width=2,t.height=2,new ot(((n,r)=>{t.toBlob((async i=>{if(t.remove(),i){const o=await t$(i);n({buffer:o,width:t.width,height:t.height})}else r(new Be(Q.CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED))}),e,1)}))},t$=async e=>{const t=await e.arrayBuffer();return new Uint8Array(t)};var uB,dB,fB,hB,pB,mB,gB,vB,yB,EB,bB,SB,AB,CB,wB,TB,IB,PB,ar,OB,_B,RB,kB,xB,DB,Dc,LB,NB,MB,BB,FB,UB,jB,HB,zB,WB,VB,GB,JB,Si;let mr=(uB=Pt({argsMap:(e,t)=>[e.getTrackId(),t],throttleTime:300}),dB=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),fB=Or(),hB=bp("LocalAudioTrack","_enabledMutex"),pB=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),mB=Or(),gB=bp("LocalAudioTrack","_enabledMutex"),vB=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),yB=Or(),EB=Or(),bB=Or(),SB=Pt({argsMap:e=>[e.getTrackId()]}),AB=Or(),CB=Pt({argsMap:e=>[e.getTrackId()]}),wB=Or(),TB=Pt({argsMap:e=>[e.getTrackId()]}),IB=Pt({argsMap:(e,t)=>[e.getTrackId(),t.name]}),PB=Pt({argsMap:e=>[e.getTrackId()]}),on((ar=class extends Rh{get _source(){return this.initWebAudio()}set _source(e){this._trackSource=e}get processorContext(){return this._processorContext||(this._processorContext=this.initProcessor().processorContext),this._processorContext}get processorDestination(){return this._processorDestination||(this._processorDestination=this.initProcessor().processorDestination),this._processorDestination}get isPlaying(){return this._useAudioElement?Io.isPlaying(this.getTrackId()):this._source.isPlayed}get __className__(){return"LocalAudioTrack"}constructor(e,t,n,r){super(e,n),Fe(this,"trackMediaType",qp.AUDIO),Fe(this,"_encoderConfig",void 0),Fe(this,"_trackSource",void 0),Fe(this,"_enabled",!0),Fe(this,"_volume",100),Fe(this,"_useAudioElement",!0),Fe(this,"_bypassWebAudio",!1),Fe(this,"processor",void 0),Fe(this,"_processorContext",void 0),Fe(this,"_processorDestination",void 0),Fe(this,"_getOriginVolumeLevel",void 0),this._encoderConfig=t,this._getOriginVolumeLevel=!!r,this._trackSource=new rC,he("DISABLE_WEBAUDIO")&&(this._bypassWebAudio=!0),he("LOCAL_AUDIO_TRACK_USES_WEB_AUDIO")&&(this._useAudioElement=!1),Ri()&&!Cs?setTimeout((()=>this.initWebAudio())):this.initWebAudio()}setVolume(e){Ln(e,"volume",0,1e3),this._volume=e,this._source.setVolume(e/100),this._useAudioElement&&Io.setVolume(this.getTrackId(),e);try{if(this._bypassWebAudio)return void D.debug("[".concat(this.getTrackId(),"] setVolume returned because no pass through WebAudio."));const t=this._source.createOutputTrack();this._mediaStreamTrack!==t&&(this._mediaStreamTrack=t,Fn(this,ut.NEED_REPLACE_TRACK,this).then((()=>{D.debug("[".concat(this.getTrackId(),"] replace web audio track success"))})).catch((n=>{D.warning("[".concat(this.getTrackId(),"] replace web audio track failed"),n)})))}catch{}}getVolumeLevel(){return this._muted&&this.enabled&&this._getOriginVolumeLevel?this._source.getOriginVolumeLevel():this._source.getAccurateVolumeLevel()}async setPlaybackDevice(e){if(!this._useAudioElement||!Mq())throw new Be(Q.NOT_SUPPORTED,"your browser does not support setting the audio output device");await Io.setSinkID(this.getTrackId(),e)}async setEnabled(e,t,n){return this._setEnabled(e,t,n)}async _setEnabled(e,t,n){if(!n){if(e===this._enabled)return;this.stateCheck("enabled",e)}if(D.info("[".concat(this.getTrackId(),"] start setEnabled"),e),e){this._originMediaStreamTrack.enabled=!0;try{n||(this._enabled=!0),await Fn(this,ut.NEED_ENABLE_TRACK,this),D.info("[".concat(this.getTrackId(),"] setEnabled to ").concat(e," success"))}catch(r){throw n||(this._enabled=!1),D.error("[".concat(this.getTrackId(),"] setEnabled to true error"),r.toString()),r}}else{this._originMediaStreamTrack.enabled=!1,n||(this._enabled=!1);try{await Fn(this,ut.NEED_DISABLE_TRACK,this)}catch(r){throw n||(this._enabled=!0),D.error("[".concat(this.getTrackId(),"] setEnabled to false error"),r.toString()),r}}}async setMuted(e){e!==this._muted&&(this.stateCheck("muted",e),this._muted=e,this._originMediaStreamTrack.enabled=!e,D.debug("[".concat(this.getTrackId(),"] start set muted: ").concat(e)),e?await Fn(this,ut.NEED_MUTE_TRACK,this):await Fn(this,ut.NEED_UNMUTE_TRACK,this))}getStats(){return Fd((()=>{D.warning("[deprecated] LocalAudioTrack.getStats will be removed in the future, use AgoraRTCClient.getLocalAudioStats instead")}),"localAudioTrackGetStatsWarning"),ia(this,ut.GET_STATS)||or({},eC)}setAudioFrameCallback(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4096;if(!e)return this._source.removeAllListeners(Rs.ON_AUDIO_BUFFER),void this._source.stopGetAudioBuffer();this._source.startGetAudioBuffer(t),this._source.removeAllListeners(Rs.ON_AUDIO_BUFFER),this._source.on(Rs.ON_AUDIO_BUFFER,(n=>e(n)))}play(){D.debug("[".concat(this.getTrackId(),"] start audio playback")),this._useAudioElement?(D.debug("[".concat(this.getTrackId(),"] start audio playback in element")),Io.play(this._mediaStreamTrack,this.getTrackId(),this._volume)):this._source.play()}stop(){D.debug("[".concat(this.getTrackId(),"] stop audio playback")),this._useAudioElement?Io.stop(this.getTrackId()):this._source.stop()}close(){super.close(),this._processorDestination&&this.unbindProcessorDestinationEvents(this._processorDestination),this._processorContext&&this.unbindProcessorContextEvents(this._processorContext),this.unpipe(),this._processorDestination&&this._processorDestination._source&&this._processorDestination._source.unpipe(),this._source.destroy()}_updatePlayerSource(){let e=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];D.debug("[".concat(this.getTrackId(),"] update player source track")),e&&this._source.updateTrack(this._mediaStreamTrack),this._useAudioElement&&Io.updateTrack(this.getTrackId(),this._mediaStreamTrack)}async _updateOriginMediaStreamTrack(e,t){this._originMediaStreamTrack!==e&&(this._originMediaStreamTrack&&(this._originMediaStreamTrack.removeEventListener("ended",this._handleTrackEnded),t&&this._originMediaStreamTrack.stop()),e.addEventListener("ended",this._handleTrackEnded),this._originMediaStreamTrack=e,this._muted&&(this._originMediaStreamTrack.enabled=!1),this.processor&&this._processorContext&&this.processor.updateInput({track:e,context:this._processorContext}),this._mediaStreamTrack!==this._source.outputTrack?(this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource(),await Fn(this,ut.NEED_REPLACE_TRACK,this)):this._source.updateTrack(this._originMediaStreamTrack),this._getOriginVolumeLevel&&this._source.updateOriginTrack(e))}renewMediaStreamTrack(e){return ot.resolve(void 0)}pipe(e){if(this._bypassWebAudio)throw new Be(Q.INVALID_OPERATION,"Can not process AudioTrack when bypassWebAudio set to true.");if(this.processor===e)return e;if(e._source)throw new Be(Q.INVALID_OPERATION,"Processor ".concat(e.name," already piped, please call unpipe beforehand."));return this.unpipe(),this.processor=e,this.processor._source=this,e.updateInput({track:this._originMediaStreamTrack,node:this._source.processSourceNode,context:this.processorContext}),e}unpipe(){var e;if(!this.processor)return;const t=this.processor;(e=this._source.processSourceNode)===null||e===void 0||e.disconnect(),this.processor._source=!1,this.processor=void 0,t.reset()}bindProcessorDestinationEvents(e){e.on(yo.ON_TRACK,(async t=>{t?t!==this._mediaStreamTrack&&(this._mediaStreamTrack=t,this._updatePlayerSource(!1),this._source.processedNode=this._source.createMediaStreamSourceNode(t),await Fn(this,ut.NEED_REPLACE_TRACK,this)):this._mediaStreamTrack!==this._originMediaStreamTrack&&(this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource(),await Fn(this,ut.NEED_REPLACE_TRACK,this))})),e.on(yo.ON_NODE,(t=>{this._source.processedNode=t}))}unbindProcessorDestinationEvents(e){e.removeAllListeners(yo.ON_TRACK),e.removeAllListeners(yo.ON_NODE)}bindProcessorContextEvents(e){e.on(Fs.REQUEST_CONSTRAINTS,(async t=>{t(this._originMediaStreamTrack.getSettings())}))}unbindProcessorContextEvents(e){e.removeAllListeners(Fs.REQUEST_CONSTRAINTS)}initWebAudio(){return this._trackSource instanceof rC&&(this._trackSource=new zq(this._mediaStreamTrack,!1,this._getOriginVolumeLevel?this._mediaStreamTrack:void 0)),this._trackSource}initProcessor(){const e=new qq(this._source.context,this.getTrackId(),"local"),t=new Kq(e);return this._processorContext=e,this._processorDestination=t,this.bindProcessorContextEvents(e),this.bindProcessorDestinationEvents(t),this._source.on(Rs.UPDATE_SOURCE,(()=>{this.processor&&this.processor.updateInput({node:this._source.processSourceNode,context:e})})),this._useAudioElement&&(this._useAudioElement=!1,this.isPlaying&&(Io.stop(this.getTrackId()),this._source.play()),Fn(this,ut.NEED_REPLACE_MIXING_TRACK,this).then((()=>{D.debug("[".concat(this.getTrackId(),"] replace from origin track to web audio track success"))})).catch((n=>{D.warning("[".concat(this.getTrackId(),"] replace from origin track to web audio track failed"),n)}))),{processorContext:e,processorDestination:t}}}).prototype,"setVolume",[uB],Object.getOwnPropertyDescriptor(ar.prototype,"setVolume"),ar.prototype),on(ar.prototype,"setPlaybackDevice",[dB,fB],Object.getOwnPropertyDescriptor(ar.prototype,"setPlaybackDevice"),ar.prototype),on(ar.prototype,"setEnabled",[hB,pB,mB],Object.getOwnPropertyDescriptor(ar.prototype,"setEnabled"),ar.prototype),on(ar.prototype,"setMuted",[gB,vB,yB],Object.getOwnPropertyDescriptor(ar.prototype,"setMuted"),ar.prototype),on(ar.prototype,"getStats",[EB],Object.getOwnPropertyDescriptor(ar.prototype,"getStats"),ar.prototype),on(ar.prototype,"setAudioFrameCallback",[bB],Object.getOwnPropertyDescriptor(ar.prototype,"setAudioFrameCallback"),ar.prototype),on(ar.prototype,"play",[SB,AB],Object.getOwnPropertyDescriptor(ar.prototype,"play"),ar.prototype),on(ar.prototype,"stop",[CB,wB],Object.getOwnPropertyDescriptor(ar.prototype,"stop"),ar.prototype),on(ar.prototype,"close",[TB],Object.getOwnPropertyDescriptor(ar.prototype,"close"),ar.prototype),on(ar.prototype,"pipe",[IB],Object.getOwnPropertyDescriptor(ar.prototype,"pipe"),ar.prototype),on(ar.prototype,"unpipe",[PB],Object.getOwnPropertyDescriptor(ar.prototype,"unpipe"),ar.prototype),ar),_4=(OB=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),_B=Or(),RB=bp("MicrophoneAudioTrack","_enabledMutex"),kB=Pt({argsMap:(e,t,n)=>[e.getTrackId(),t,n]}),xB=Or(),DB=Pt({argsMap:e=>[e.getTrackId()]}),on((Dc=class extends mr{get __className__(){return"MicrophoneAudioTrack"}constructor(e,t,n,r){super(e,t.encoderConfig?P4(t.encoderConfig):{},r,he("GET_VOLUME_OF_MUTED_AUDIO_TRACK")),Fe(this,"_config",void 0),Fe(this,"_deviceName","default"),Fe(this,"_constraints",void 0),Fe(this,"_originalConstraints",void 0),Fe(this,"_enabled",!0),this._config=t,this._constraints=n,this._originalConstraints=n,this._deviceName=e.label,typeof t.bypassWebAudio=="boolean"&&(this._bypassWebAudio=t.bypassWebAudio),(Ep()||WA())&&In.bindInterruptDetectorTrack(this)}async setDevice(e){if(D.info("[".concat(this.getTrackId(),"] start set device to ").concat(e)),this._enabled)try{const t=await xs.getDeviceById(e),n={};n.audio=or({},this._constraints),n.audio.deviceId={exact:e},this._originMediaStreamTrack.stop();let r=null;try{r=await Os(n,this.getTrackId())}catch(i){throw D.error("[".concat(this.getTrackId(),"] setDevice failed"),i.toString()),r=await Os({audio:this._constraints},this.getTrackId()),await this._updateOriginMediaStreamTrack(r.getAudioTracks()[0],!1),i}await this._updateOriginMediaStreamTrack(r.getAudioTracks()[0],!1),this._deviceName=t.label,this._config.microphoneId=e,this._constraints.deviceId={exact:e}}catch(t){throw D.error("[".concat(this.getTrackId(),"] setDevice error"),t.toString()),t}else try{const t=await xs.getDeviceById(e);this._deviceName=t.label,this._config.microphoneId=e,this._constraints.deviceId={exact:e}}catch(t){throw D.error("[".concat(this.getTrackId(),"] setDevice error"),t.toString()),t}D.info("[".concat(this.getTrackId(),"] set device to ").concat(e," success"))}async setEnabled(e,t,n){if(t)return D.debug("[".concat(this.getTrackId(),"] setEnabled false (do not close microphone)")),await super._setEnabled(e);if(!n){if(e===this._enabled)return;this.stateCheck("enabled",e)}if(D.info("[".concat(this.getTrackId(),"] start setEnabled"),e),he("AUTO_RESET_AUDIO_ROUTE")&&(vo()||Ma())){const s=navigator.audioSession;s&&(e||(s.type="playback"),s.type="auto")}if(!e){var r;this._originMediaStreamTrack.onended=null,this._originMediaStreamTrack.stop(),(r=this._source.clonedTrack)===null||r===void 0||r.stop(),n||(this._enabled=!1);try{await Fn(this,ut.NEED_DISABLE_TRACK,this)}catch(s){throw D.error("[".concat(this.getTrackId(),"] setEnabled false failed"),s.toString()),s}return}const i=or({},this._constraints),o=xs.searchDeviceIdByName(this._deviceName);o&&!i.deviceId&&(i.deviceId=o);try{n||(this._enabled=!0);const s=await Os({audio:this._constraints},this.getTrackId());await this._updateOriginMediaStreamTrack(s.getAudioTracks()[0],!1),await Fn(this,ut.NEED_ENABLE_TRACK,this)}catch(s){throw n||(this._enabled=!1),D.error("[".concat(this.getTrackId(),"] setEnabled true failed"),s.toString()),s}D.info("[".concat(this.getTrackId(),"] setEnabled success"))}close(){super.close(),(Ep()||WA())&&In.unbindInterruptDetectorTrack(this)}onTrackEnded(){if((vo()||Ma())&&this._enabled&&!this._isClosed&&In.duringInterruption){const e=async()=>{In.off(mi.IOS_INTERRUPTION_END,e),this._enabled&&!this._isClosed&&(D.debug("[".concat(this.getTrackId(),"] try capture microphone media device for interrupted iOS device.")),await this.setEnabled(!1),await this.setEnabled(!0))};In.on(mi.IOS_INTERRUPTION_END,e)}else D.debug("[".concat(this.getTrackId(),"] track ended")),this.safeEmit(Kp.TRACK_ENDED)}async renewMediaStreamTrack(e){const t=e||this._constraints,n=xs.searchDeviceIdByName(this._deviceName);if(n&&!t.deviceId&&(t.deviceId=n),this._constraints=t,this._enabled){this._originMediaStreamTrack.stop();const r=await Os({audio:this._constraints},this.getTrackId());await this._updateOriginMediaStreamTrack(r.getAudioTracks()[0],!0)}}bindProcessorContextEvents(e){super.bindProcessorContextEvents(e),e.on(Fs.REQUEST_UPDATE_CONSTRAINTS,(async(t,n,r)=>{try{const i=Object.assign({},this._originalConstraints,...t);await this.renewMediaStreamTrack(i),n()}catch(i){r(i)}}))}unbindProcessorContextEvents(e){super.unbindProcessorContextEvents(e),e.removeAllListeners(Fs.REQUEST_UPDATE_CONSTRAINTS)}}).prototype,"setDevice",[OB,_B],Object.getOwnPropertyDescriptor(Dc.prototype,"setDevice"),Dc.prototype),on(Dc.prototype,"setEnabled",[RB,kB,xB],Object.getOwnPropertyDescriptor(Dc.prototype,"setEnabled"),Dc.prototype),on(Dc.prototype,"close",[DB],Object.getOwnPropertyDescriptor(Dc.prototype,"close"),Dc.prototype),Dc),TBe=(LB=Pt({argsMap:(e,t)=>[e.getTrackId(),t,e.duration]}),NB=Or(),MB=Pt({argsMap:e=>[e.getTrackId()]}),BB=Or(),FB=Pt({argsMap:e=>[e.getTrackId()]}),UB=Or(),jB=Pt({argsMap:e=>[e.getTrackId()]}),HB=Or(),zB=Pt({argsMap:e=>[e.getTrackId()]}),WB=Or(),VB=Pt({argsMap:e=>[e.getTrackId()]}),GB=Pt({argsMap:e=>[e.getTrackId()]}),JB=Or(),on((Si=class extends mr{get __className__(){return"BufferSourceAudioTrack"}constructor(e,t,n,r){super(t.createOutputTrack(),n,r),Fe(this,"source",void 0),Fe(this,"_bufferSource",void 0),this._useAudioElement=!1,this.source=e,this._bufferSource=t,this._bufferSource.on(Rs.AUDIO_SOURCE_STATE_CHANGE,(i=>{this.safeEmit(Kp.SOURCE_STATE_CHANGE,i)}));try{this._mediaStreamTrack=this._source.createOutputTrack()}catch{}}get currentState(){return this._bufferSource.currentState}get duration(){return this._bufferSource.duration}get playbackSpeed(){return this._bufferSource.playbackSpeed}getCurrentTime(){return this._bufferSource.currentTime}startProcessAudioBuffer(e){e&&this._bufferSource.updateOptions(e),this._bufferSource.startProcessAudioBuffer()}pauseProcessAudioBuffer(){this._bufferSource.pauseProcessAudioBuffer()}seekAudioBuffer(e){this._bufferSource.seekAudioBuffer(e)}resumeProcessAudioBuffer(){this._bufferSource.resumeProcessAudioBuffer()}stopProcessAudioBuffer(){this._bufferSource.stopProcessAudioBuffer()}close(){this.source=null,this._bufferSource.destroy(),super.close()}setAudioBufferPlaybackSpeed(e){Ln(e,"speed",0),this._bufferSource.setAudioBufferPlaybackSpeed(e)}}).prototype,"startProcessAudioBuffer",[LB,NB],Object.getOwnPropertyDescriptor(Si.prototype,"startProcessAudioBuffer"),Si.prototype),on(Si.prototype,"pauseProcessAudioBuffer",[MB,BB],Object.getOwnPropertyDescriptor(Si.prototype,"pauseProcessAudioBuffer"),Si.prototype),on(Si.prototype,"seekAudioBuffer",[FB,UB],Object.getOwnPropertyDescriptor(Si.prototype,"seekAudioBuffer"),Si.prototype),on(Si.prototype,"resumeProcessAudioBuffer",[jB,HB],Object.getOwnPropertyDescriptor(Si.prototype,"resumeProcessAudioBuffer"),Si.prototype),on(Si.prototype,"stopProcessAudioBuffer",[zB,WB],Object.getOwnPropertyDescriptor(Si.prototype,"stopProcessAudioBuffer"),Si.prototype),on(Si.prototype,"close",[VB],Object.getOwnPropertyDescriptor(Si.prototype,"close"),Si.prototype),on(Si.prototype,"setAudioBufferPlaybackSpeed",[GB,JB],Object.getOwnPropertyDescriptor(Si.prototype,"setAudioBufferPlaybackSpeed"),Si.prototype),Si);class Jr extends mr{get __className__(){return"MixingAudioTrack"}get isActive(){for(const t of this.trackList)if(t._enabled&&!t._isClosed&&!t.muted)return!0;return!1}constructor(){const t=$p().createMediaStreamDestination();super(t.stream.getAudioTracks()[0],void 0,Wn(8,"track-mix-")),Fe(this,"trackList",void 0),Fe(this,"destNode",void 0),this._useAudioElement=!1;try{this._mediaStreamTrack=this._source.createOutputTrack()}catch{}this.destNode=t,this.trackList=[]}hasAudioTrack(t){return this.trackList.indexOf(t)!==-1}addAudioTrack(t){this.trackList.indexOf(t)===-1?(D.debug("add ".concat(t.getTrackId()," to mixing track")),t._source.outputNode.connect(this.destNode),this.trackList.push(t),this.updateEncoderConfig()):D.debug("track ".concat(t.getTrackId()," is already added"))}removeAudioTrack(t){if(this.trackList.indexOf(t)!==-1){D.debug("remove ".concat(t.getTrackId()," from mixing track"));try{t._source.outputNode.disconnect(this.destNode)}catch{}T4(this.trackList,t),this.updateEncoderConfig()}}updateEncoderConfig(){const t={};this.trackList.forEach((n=>{n._encoderConfig&&((n._encoderConfig.bitrate||0)>(t.bitrate||0)&&(t.bitrate=n._encoderConfig.bitrate),(n._encoderConfig.sampleRate||0)>(t.sampleRate||0)&&(t.sampleRate=n._encoderConfig.sampleRate),(n._encoderConfig.sampleSize||0)>(t.sampleSize||0)&&(t.sampleSize=n._encoderConfig.sampleSize),n._encoderConfig.stereo&&(t.stereo=!0))})),this._encoderConfig=t}_updateRtpTransceiver(t){this._rtpTransceiver!==t&&(this._rtpTransceiver=t,this.trackList.forEach((n=>{n instanceof Jr?n.emit(nf.TRANSCEIVER_UPDATED,t):n._updateRtpTransceiver(t)})))}}class IBe extends Hq{set currentState(t){t!==this._currentState&&(this._currentState=t,this.safeEmit(Rs.AUDIO_SOURCE_STATE_CHANGE,this._currentState))}get currentState(){return this._currentState}constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Fe(this,"audioBuffer",void 0),Fe(this,"sourceNode",void 0),Fe(this,"startPlayTime",0),Fe(this,"startPlayOffset",0),Fe(this,"pausePlayTime",0),Fe(this,"options",void 0),Fe(this,"currentLoopCount",0),Fe(this,"currentPlaybackSpeed",100),Fe(this,"_currentState","stopped"),this.audioBuffer=t,this.options=n,this.startPlayOffset=this.options.startPlayTime||0}createWebAudioDiagram(){return this.context.createGain()}get duration(){return this.audioBuffer?this.audioBuffer.duration:0}get playbackSpeed(){return this.currentPlaybackSpeed}get currentTime(){return this.audioBuffer?this.currentState==="stopped"?0:this.currentState==="paused"?this.pausePlayTime:((this.context.currentTime-this.startPlayTime)*(this.playbackSpeed/100)+this.startPlayOffset)%this.audioBuffer.duration:0}updateOptions(t){this.currentState==="stopped"?(this.options=t,this.startPlayOffset=this.options.startPlayTime||0):D.warning("can not set audio source options")}startProcessAudioBuffer(){this.sourceNode&&this.stopProcessAudioBuffer(),this.sourceNode=this.createSourceNode(),this.startSourceNode(),this.currentState="playing"}pauseProcessAudioBuffer(){this.sourceNode&&this.currentState==="playing"&&(this.pausePlayTime=this.currentTime,this.sourceNode.onended=null,this.sourceNode.stop(),this.sourceNode.buffer=null,this.sourceNode=this.createSourceNode(),this.currentState="paused")}seekAudioBuffer(t){this.sourceNode&&(this.sourceNode.onended=null,this.currentState==="playing"&&this.sourceNode.stop(),this.sourceNode=this.createSourceNode(),this.currentState==="playing"?(this.startPlayOffset=t,this.startSourceNode()):this.currentState==="paused"&&(this.pausePlayTime=t))}resumeProcessAudioBuffer(){this.currentState==="paused"&&this.sourceNode&&(this.startPlayOffset=this.pausePlayTime,this.pausePlayTime=0,this.startSourceNode(),this.currentState="playing")}stopProcessAudioBuffer(){if(this.sourceNode){this.sourceNode.onended=null;try{this.sourceNode.stop()}catch{}this.reset()}}destroy(){this.audioBuffer=null,super.destroy()}setAudioBufferPlaybackSpeed(t){this.sourceNode&&(this.currentState==="playing"&&(this.startPlayOffset=this.currentTime,this.startPlayTime=this.context.currentTime),this.sourceNode.playbackRate.value=t/100),this.currentPlaybackSpeed=t}startSourceNode(){this.sourceNode&&this.sourceNode.buffer&&(this.sourceNode.start(0,this.startPlayOffset),this.startPlayTime=this.context.currentTime,this.sourceNode.onended=this.handleSourceNodeEnded.bind(this))}createSourceNode(){const t=this.context.createBufferSource();return t.buffer=this.audioBuffer,t.loop=!!this.options.loop,t.connect(this.outputNode),t.playbackRate.value=this.currentPlaybackSpeed/100,t}handleSourceNodeEnded(){if(this.currentLoopCount+=1,this.options.cycle&&this.options.cycle>this.currentLoopCount)return this.startPlayOffset=0,this.sourceNode=void 0,void this.startProcessAudioBuffer();this.reset()}reset(){this.startPlayOffset=this.options.startPlayTime||0,this.currentState="stopped",this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=void 0),this.currentLoopCount=0}}const ZB=new Map;class SI{get rendFrameRate(){if(this.renderStats&&this.renderStats.curTs!==this.renderStats.lastTs){const t=this.renderStats.curTs-this.renderStats.lastTs,n=(this.renderStats.renderNum-this.renderStats.lastRenderNum)/t;return this.renderStats.lastRenderNum=this.renderStats.renderNum,this.renderStats.lastTs=this.renderStats.curTs,n}return 0}get videoElementStatus(){return this._videoElementStatus}set videoElementStatus(t){t!==this._videoElementStatus&&(D.debug("[".concat(this.trackId,"] video-element-status change ").concat(this._videoElementStatus," => ").concat(t)),this._videoElementStatus=t)}get videoState(){return this._videoState}set videoState(t){var n;t!==this._videoState&&(this._videoState=t,(n=this.onVideoStateChanged)===null||n===void 0||n.call(this,this.videoState))}constructor(t){Fe(this,"trackId",void 0),Fe(this,"config",void 0),Fe(this,"onFirstVideoFrameDecoded",void 0),Fe(this,"onVideoStateChanged",void 0),Fe(this,"freezeTimeCounterList",[]),Fe(this,"renderFreezeAccTime",0),Fe(this,"isKeepLastFrame",!1),Fe(this,"timeUpdatedCount",0),Fe(this,"freezeTime",0),Fe(this,"playbackTime",0),Fe(this,"lastTimeUpdatedTime",0),Fe(this,"autoplayFailed",!1),Fe(this,"videoTrack",void 0),Fe(this,"videoElement",void 0),Fe(this,"cacheVideoElement",void 0),Fe(this,"renderStats",void 0),Fe(this,"_videoState",xc.VideoStateStopped),Fe(this,"videoElementCheckInterval",void 0),Fe(this,"videoElementFreezeTimeout",void 0),Fe(this,"_videoElementStatus",oo.NONE),Fe(this,"isGettingVideoDimensions",!1),Fe(this,"startGetVideoDimensions",(()=>{const n=()=>{if(this.isGettingVideoDimensions=!0,this.videoElement.videoWidth*this.videoElement.videoHeight>4)return D.debug("[".concat(this.trackId,"] current video dimensions:"),this.videoElement.videoWidth,this.videoElement.videoHeight),void(this.isGettingVideoDimensions=!1);setTimeout(n,500)};!this.isGettingVideoDimensions&&n()})),Fe(this,"autoResumeAfterInterruption",(()=>{this.videoTrack&&this.videoTrack.readyState==="live"&&In.curState==="running"&&(D.debug("[track-".concat(this.trackId,"] video element paused, auto resume for ").concat($N())),rM()?(this.videoElement.srcObject=null,this.videoElement.srcObject=new MediaStream([this.videoTrack]),this.videoElement.play()):(this.videoElement.pause(),this.videoElement.play()))})),Fe(this,"handleVideoEvents",(n=>{switch(n.type){case"play":case"playing":this.startGetVideoDimensions(),this.videoElementStatus=oo.PLAYING;break;case"loadeddata":if(this.videoState=xc.VideoStateStarting,this.onFirstVideoFrameDecoded&&this.onFirstVideoFrameDecoded(),this.cacheVideoElement){try{this.cacheVideoElement.srcObject=null,this.cacheVideoElement.remove()}catch{}this.cacheVideoElement=void 0}break;case"canplay":this.videoElementStatus=oo.CANPLAY;break;case"stalled":this.videoElementStatus=oo.STALLED;break;case"suspend":this.videoElementStatus=oo.SUSPEND;break;case"pause":this.videoElementStatus=oo.PAUSED,vo()||Ma()||Ri()&&this.autoplayFailed||!this.videoTrack||this.videoTrack.readyState!=="live"||(D.debug("[track-".concat(this.trackId,"] video element paused, auto resume")),this.videoElement.play());break;case"waiting":this.videoElementStatus=oo.WAITING;break;case"abort":this.videoElementStatus=oo.ABORT;break;case"ended":this.videoElementStatus=oo.ENDED;break;case"emptied":this.videoElementStatus=oo.EMPTIED;break;case"error":{const r=this.videoElement.error;r?(this.videoElementStatus=oo.ERROR,D.error("[".concat(this.trackId,"] media error: ").concat(r.message," (").concat(r.code,")"))):D.debug("[".concat(this.trackId,"] media not been an error."));break}case"timeupdate":{const r=performance.now();if(this.timeUpdatedCount+=1,this.timeUpdatedCount<10)return void(this.lastTimeUpdatedTime=r);const i=r-this.lastTimeUpdatedTime,o=this.lastTimeUpdatedTime;if(this.lastTimeUpdatedTime=r,Hl.lastVisibleTime<Hl.lastHiddenTime||o<Hl.lastHiddenTime||o<Hl.lastVisibleTime)return;for(i>he("VIDEO_FREEZE_DURATION")&&(this.freezeTime+=i),this.playbackTime+=i;this.playbackTime>=6e3;){this.playbackTime-=6e3;const s=Math.min(6e3,this.freezeTime);this.freezeTimeCounterList.push(s),this.freezeTime=Math.max(0,this.freezeTime-6e3)}break}}})),Fe(this,"autoResumeAfterInterruptionOnIOS15_16",(()=>{this.videoTrack&&this.videoTrack.readyState==="live"&&(D.debug("[track-".concat(this.trackId,"] video element paused, auto resume for ").concat($N())),rM()?(this.videoElement.srcObject=null,this.videoElement.srcObject=new MediaStream([this.videoTrack]),this.videoElement.play()):(this.videoElement.pause(),this.videoElement.play()))})),this.trackId=t.trackId,this.config=t,t.element instanceof HTMLVideoElement?this.videoElement=t.element:this.videoElement=document.createElement("video"),In.on(mi.IOS_INTERRUPTION_END,this.autoResumeAfterInterruption),In.on(mi.IOS_15_16_INTERRUPTION_END,this.autoResumeAfterInterruptionOnIOS15_16)}getVideoElement(){return this.videoElement}getContainerElement(){var t;return(t=this.videoElement.parentElement)!==null&&t!==void 0?t:void 0}updateConfig(t){this.config=t,this.trackId=t.trackId,t.element!==this.videoElement&&(this.destroy(),this.videoElement=t.element),this.videoTrack&&this.initVideoElement()}updateVideoTrack(t){this.videoTrack!==t&&(this.videoTrack=t,this.initVideoElement())}play(t){const n=this.videoElement.play();n&&n.catch&&n.catch((i=>{t&&Yq(t,"video",i.message,this.trackId),i.name==="NotAllowedError"?(D.warning("detected video element autoplay failed",i),this.autoplayFailed=!0,this.handleAutoPlayFailed()):D.warning("[".concat(this.trackId,"] play warning: "),i)}));const r=an();if((r.name==="Safari"&&Number(r.version)===15||Ep())&&n&&n.then){const i=()=>{this.config.mirror&&(this.videoElement.style.transform="rotateY(180deg)")};n.then(i).catch(i)}}getCurrentFrame(){const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;const n=t.getContext("2d");if(!n)return D.error("create canvas context failed!"),new ImageData(2,2);n.drawImage(this.videoElement,0,0,t.width,t.height);const r=n.getImageData(0,0,t.width,t.height);return t.remove(),r}async getCurrentFrameToUint8Array(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const r=document.createElement("canvas");r.width=this.videoElement.videoWidth,r.height=this.videoElement.videoHeight;const i=r.getContext("2d");return i?(i.drawImage(this.videoElement,0,0,r.width,r.height),new ot(((o,s)=>{r.toBlob((async a=>{if(r.remove(),a){const c=await t$(a);o({buffer:c,width:r.width,height:r.height})}else s(new Be(Q.CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED))}),t,n<0?.1:n>1?1:n)}))):await bI(t)}destroy(){this.renderStats=void 0,In.off(mi.IOS_INTERRUPTION_END,this.autoResumeAfterInterruption),In.off(mi.IOS_15_16_INTERRUPTION_END,this.autoResumeAfterInterruptionOnIOS15_16),this.videoElement.srcObject=null,this.resetVideoElement(),this.freezeTimeCounterList=[],this.videoState=xc.VideoStateStopped}initVideoElement(){if(this.videoElementStatus=oo.INIT,!this.videoElementCheckInterval&&(YB.forEach((o=>{this.videoElement.addEventListener(o,this.handleVideoEvents)})),this.videoElementCheckInterval=window.setInterval((()=>{(function(o){return o!==document.body&&document.body.contains(o)})(this.videoElement)||(this.videoElementStatus=oo.DESTROYED)}),1e3),he("ENABLE_VIDEO_FRAME_CALLBACK"))){var t,n;let o;const s=()=>{document.visibilityState==="visible"&&(document.removeEventListener("visibilitychange",s),this.videoElementFreezeTimeout=window.setTimeout(a,he("VIDEO_FREEZE_DURATION")))},a=()=>{this.videoElementFreezeTimeout=void 0,this.videoState===xc.VideoStateDecoding&&(document.visibilityState==="visible"?this.videoState=xc.VideoStateFrozen:document.addEventListener("visibilitychange",s))},c=(l,u)=>{if(this.videoElementStatus===oo.PLAYING){if(this.renderStats?(this.renderStats.renderNum++,this.renderStats.curTs=u.mediaTime):this.renderStats={lastTs:u.mediaTime,curTs:u.mediaTime,lastRenderNum:0,renderNum:0},o){const h=u.presentationTime-o.presentationTime;this.videoState===xc.VideoStateStarting&&(this.videoState=xc.VideoStateDecoding),this.videoState===xc.VideoStateDecoding&&this.onVideoStateChanged&&(this.videoElementFreezeTimeout&&window.clearTimeout(this.videoElementFreezeTimeout),this.videoElementFreezeTimeout=window.setTimeout(a,he("VIDEO_FREEZE_DURATION"))),h<he("VIDEO_FREEZE_DURATION")&&this.videoState===xc.VideoStateFrozen&&(this.videoState=xc.VideoStateDecoding),h>he("VIDEO_FREEZE_DURATION")&&Hl.lastVisibleTime>=Hl.lastHiddenTime&&o.timestamp>Hl.lastVisibleTime&&o.timestamp>Hl.lastHiddenTime&&(this.renderFreezeAccTime+=h)}o=or(or({},u),{},{timestamp:l})}var d,f;he("ENABLE_VIDEO_FRAME_CALLBACK")&&((d=(f=this.videoElement).requestVideoFrameCallback)===null||d===void 0||d.call(f,c))};(t=(n=this.videoElement).requestVideoFrameCallback)===null||t===void 0||t.call(n,c)}this.videoElement.controls=!1,this.videoElement.setAttribute("playsinline",""),c6()&&!he("HIDE_NO_POSTER")&&(this.videoElement.poster="noposter");const r=an();r.name==="Safari"&&Number(r.version)===15||Ep()||!this.config.mirror||(this.videoElement.style.transform="rotateY(180deg)"),this.config.fit?this.videoElement.style.objectFit=this.config.fit:this.videoElement.style.objectFit="cover",this.videoElement.setAttribute("muted",""),this.videoElement.muted=!0,this.videoElement.srcObject&&this.videoElement.srcObject instanceof MediaStream?this.videoElement.srcObject.getVideoTracks()[0]!==this.videoTrack&&(this.videoElement.srcObject=this.videoTrack?new MediaStream([this.videoTrack]):null,Er()&&this.videoElement.load()):(this.videoElement.srcObject=this.videoTrack?new MediaStream([this.videoTrack]):null,Er()&&this.videoElement.load());const i=this.videoElement.play();i!==void 0&&i.catch((o=>{D.debug("[".concat(this.trackId,"] playback interrupted"),o.toString())}))}resetVideoElement(){YB.forEach((t=>{this.videoElement&&this.videoElement.removeEventListener(t,this.handleVideoEvents)})),this.videoElementCheckInterval&&(window.clearInterval(this.videoElementCheckInterval),this.videoElementCheckInterval=void 0),this.videoElementStatus=oo.NONE}handleAutoPlayFailed(){const t=n=>{n.preventDefault(),this.videoElement.play().then((()=>{D.debug("[".concat(this.trackId,"] Video element for trackId:").concat(this.trackId," autoplay resumed."))})).catch((r=>{D.error(r)})),this.autoplayFailed=!1,ag()?document.body.removeEventListener("click",t,!0):(document.body.removeEventListener("touchstart",t,!0),document.body.removeEventListener("mousedown",t,!0))};ag()?document.body.addEventListener("click",t,!0):(document.body.addEventListener("touchstart",t,!0),document.body.addEventListener("mousedown",t,!0)),Zq()}}const YB=["play","playing","loadeddata","canplay","pause","stalled","suspend","waiting","abort","emptied","ended","timeupdate","error"];class n$ extends SI{constructor(t){super(t),Fe(this,"container",void 0),Fe(this,"slot",void 0),this.slot=t.element,this.updateConfig(t)}updateConfig(t){this.config=t,this.trackId=t.trackId;const n=t.element;n!==this.slot&&(this.destroy(),this.slot=n),this.createElements()}updateVideoTrack(t){this.videoTrack!==t&&(this.videoTrack=t,this.createElements())}play(t){var n;(n=this.container)!==null&&n!==void 0&&n.contains(this.videoElement)&&super.play(t)}getCurrentFrame(){var t;return(t=this.container)!==null&&t!==void 0&&t.contains(this.videoElement)?super.getCurrentFrame():new ImageData(2,2)}async getCurrentFrameToUint8Array(t){var n;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return(n=this.container)!==null&&n!==void 0&&n.contains(this.videoElement)?await super.getCurrentFrameToUint8Array(t,r):await bI(t)}destroy(){if(super.destroy(),this.videoElement.remove(),this.videoElement=document.createElement("video"),this.container){try{this.container.remove(),this.slot.removeChild(this.container)}catch{}this.container=void 0}}createElements(){this.container||(this.container=document.createElement("div")),this.container.id="agora-video-player-".concat(this.trackId),this.container.style.width="100%",this.container.style.height="100%",this.container.style.position="relative",this.container.style.overflow="hidden",this.videoTrack?(this.container.style.backgroundColor="black",he("KEEP_LAST_FRAME")&&this.isKeepLastFrame&&this.videoElement.paused&&this.resetVideoElement(),this.mountedVideoElement()):this.unmountedVideoElement(),this.slot.appendChild(this.container)}mountedVideoElement(){var t;!this.container||(t=this.container)!==null&&t!==void 0&&t.contains(this.videoElement)||this.container.appendChild(this.videoElement),super.initVideoElement(),this.videoElement.id="video_".concat(this.trackId),this.videoElement.className="agora_video_player",this.videoElement.style.width="100%",this.videoElement.style.height="100%",this.videoElement.style.position="absolute",this.videoElement.style.left="0",this.videoElement.style.top="0"}unmountedVideoElement(){var t;if((t=this.container)!==null&&t!==void 0&&t.contains(this.videoElement)){super.resetVideoElement();try{this.container&&this.container.removeChild(this.videoElement)}catch{}this.videoElement=document.createElement("video")}}resetVideoElement(){var t;(t=this.container)!==null&&t!==void 0&&t.contains(this.videoElement)&&(super.resetVideoElement(),this.cacheVideoElement=this.videoElement,this.videoElement=document.createElement("video"))}getContainerElement(){return this.container}}var XB,QB,KB,qB,$B,eF,tF,nF,rF,iF,oF,sF,aF,cF,lF,uF,dF,fF,hF,pF,mF,gF,vF,yF,en,EF,bF,SF,AF,CF,wF,TF,IF,As;let Kn=(XB=Pt({argsMap:(e,t,n)=>[e.getTrackId(),typeof t=="string"?t:t instanceof HTMLVideoElement?"HTMLVideoElement":"HTMLElement",n]}),QB=Or(),KB=Pt({argsMap:e=>[e.getTrackId()]}),qB=bp("LocalVideoTrack","_enabledMutex"),$B=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),eF=Or(),tF=bp("LocalVideoTrack","_enabledMutex"),nF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),rF=Or(),iF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),oF=Or(),sF=Or(),aF=Pt({argsMap:(e,t,n)=>[e.getTrackId(),t,n]}),cF=Or(),lF=Or(),uF=Or(),dF=Or(),fF=Or(),hF=Or(),pF=Or(),mF=Pt({argsMap:(e,t)=>[e.getTrackId(),t.name]}),gF=Pt({argsMap:e=>[e.getTrackId()]}),vF=Pt({argsMap:e=>[e.getTrackId()]}),yF=Pt({argsMap:(e,t,n)=>[e.getTrackId(),t.label,n]}),en=class r$ extends Rh{get videoHeight(){if(Ri()){const{height:t}=this._mediaStreamTrack.getSettings();return this._videoHeight=t,this._videoHeight}return this._videoHeight}get videoWidth(){if(Ri()){const{width:t}=this._mediaStreamTrack.getSettings();return this._videoWidth=t,this._videoWidth}return this._videoWidth}get isPlaying(){return!(!this._player||this._player.videoElementStatus!==oo.PLAYING)}get processorDestination(){return this._processorDestination}get processorContext(){return this._processorContext}set processorContext(t){this._processorContext=t}get __className__(){return"LocalVideoTrack"}constructor(t,n,r,i,o,s){if(super(t,o),Fe(this,"trackMediaType",qp.VIDEO),Fe(this,"_player",void 0),Fe(this,"isUseScaleResolutionDownBy",!1),Fe(this,"_videoVisibleTimer",null),Fe(this,"_previousVideoVisibleStatus",void 0),Fe(this,"_clearPreviousVideoVisibleStatus",(()=>this._previousVideoVisibleStatus=void 0)),Fe(this,"_encoderConfig",void 0),Fe(this,"_scalabilityMode",{numSpatialLayers:1,numTemporalLayers:1}),Fe(this,"_optimizationMode",void 0),Fe(this,"_videoHeight",void 0),Fe(this,"_videoWidth",void 0),Fe(this,"_forceBitrateLimit",void 0),Fe(this,"_enabled",!0),Fe(this,"_processorDestination",void 0),Fe(this,"_processorContext",void 0),Ri()){const{width:a,height:c}=t.getSettings();this._videoWidth=a,this._videoHeight=c}else this.updateMediaStreamTrackResolution();if(this._encoderConfig=n,this._scalabilityMode=r,this._optimizationMode=i,this._hints=s||[],this._hints.indexOf(nr.SCREEN_TRACK)===-1)this.updateBitrateFromProfile();else if((function(a,c,l){const u=an();return!(u.name!==a||!u.osVersion)&&Number(u.version)===c})(An.CHROME,115)&&a6().indexOf("Windows")!==-1){const a=(function(c,l){if("VideoFrame"in window&&"TransformStream"in window&&fn().supportWebRTCInsertableStream){const u=new MediaStreamTrackProcessor(c),d=new MediaStreamTrackGenerator({kind:"video"});let f,h,p=Date.now();const g=()=>{m&&(clearInterval(m),m=void 0),f&&(f.close(),f=void 0),c.stop(),h=void 0,d.removeEventListener("ended",g)};let m=window.setInterval((()=>{if(h&&f&&Date.now()-p>1e3)try{d.readyState==="live"?h.enqueue(f.clone()):g()}catch{g()}}),1e3);const y=new TransformStream({transform:(v,E)=>{d.readyState==="live"?(h=E,p=Date.now(),f===void 0?(f=v,E.enqueue(v.clone())):(E.enqueue(f),f=v)):v.close()}});return d.addEventListener("ended",g),u.readable.pipeThrough(y).pipeTo(d.writable),d}})(t);a&&(D.info("local screen video track begin to inject frame"),this._mediaStreamTrack=a)}n&&this._hints.indexOf(nr.CUSTOM_TRACK)!==-1&&this.setEncoderConfiguration(n),this._processorContext=new Qq(this.getTrackId(),"local"),this._processorDestination=new Xq(this.processorContext),this.bindProcessorDestinationEvents()}play(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof t=="string"){const i=document.getElementById(t);i?t=i:(D.warning("[".concat(this.getTrackId(),'] can not find "#').concat(t,'" element, use document.body')),t=document.body)}D.debug("[".concat(this.getTrackId(),"] start video playback in ").concat(t instanceof HTMLVideoElement?"HTMLVideoElement":"HTMLElement"),JSON.stringify(n));const r=or(or(or({},this._getDefaultPlayerConfig()),n),{},{trackId:this.getTrackId(),element:t});this._player?this._player.updateConfig(r):(t instanceof HTMLVideoElement?this._player=new SI(r):this._player=new n$(r),this._player.updateVideoTrack(this._mediaStreamTrack)),this._player.play(),this._videoVisibleTimer&&window.clearInterval(this._videoVisibleTimer),this._clearPreviousVideoVisibleStatus(),this._videoVisibleTimer=window.setInterval((()=>{try{const i=this.getVideoElementVisibleStatus();this.safeEmit(Kp.VIDEO_ELEMENT_VISIBLE_STATUS,i)}catch{}}),he("CHECK_VIDEO_VISIBLE_INTERVAL"))}stop(){this._player&&(this._videoVisibleTimer&&(window.clearInterval(this._videoVisibleTimer),this._videoVisibleTimer=null),this._clearPreviousVideoVisibleStatus(),this._player.destroy(),this._player=void 0,D.debug("[".concat(this.getTrackId(),"] stop video playback")))}async setEnabled(t,n){if(!n){if(t===this._enabled)return;this.stateCheck("enabled",t)}if(D.info("[".concat(this.getTrackId(),"] start setEnabled"),t),!t){this._originMediaStreamTrack.enabled=!1;try{await Fn(this,ut.NEED_DISABLE_TRACK,this)}catch(r){throw D.error("[".concat(this.getTrackId(),"] setEnabled to false error"),r.toString()),r}return n||(this._enabled=!1),void D.info("[".concat(this.getTrackId(),"] setEnabled to false success"))}this._originMediaStreamTrack.enabled=!0;try{await Fn(this,ut.NEED_ENABLE_TRACK,this)}catch(r){throw D.error("[".concat(this.getTrackId(),"] setEnabled to true error"),r.toString()),r}D.info("[".concat(this.getTrackId(),"] setEnabled to true success")),n||(this._enabled=!0)}async setMuted(t){t!==this._muted&&(this.stateCheck("muted",t),this._muted=t,this._originMediaStreamTrack.enabled=!t,D.debug("[".concat(this.getTrackId(),"] start set muted: ").concat(t)),t?await Fn(this,ut.NEED_MUTE_TRACK,this):await Fn(this,ut.NEED_UNMUTE_TRACK,this))}async setEncoderConfiguration(t,n){if(!this._enabled)throw new Be(Q.TRACK_IS_DISABLED,"can not set encoder configuration when track is disabled");if(t=$c(t),this._forceBitrateLimit&&(t.bitrateMax=this._forceBitrateLimit.max_bitrate?this._forceBitrateLimit.max_bitrate:t.bitrateMax,t.bitrateMin=this._forceBitrateLimit.min_bitrate?this._forceBitrateLimit.min_bitrate:t.bitrateMin),t.width||t.height||t.frameRate){const r=O4({encoderConfig:t});(Ri()||vo()||Ma())&&(r.deviceId=void 0),D.debug("[".concat(this.getTrackId(),"] setEncoderConfiguration applyConstraints"),JSON.stringify(t),JSON.stringify(r));try{await this._originMediaStreamTrack.applyConstraints(r),this.updateMediaStreamTrackResolution()}catch(i){const o=new Be(Q.UNEXPECTED_ERROR,i.toString());throw D.error("[".concat(this.getTrackId(),"] applyConstraints error"),o.toString()),o}}this._encoderConfig=t,this._hints.indexOf(nr.SCREEN_TRACK)===-1&&this.updateBitrateFromProfile();try{await Fn(this,ut.NEED_UPDATE_VIDEO_ENCODER,this)}catch(r){return r.throw(D)}}getStats(){return Fd((()=>{D.warning("[deprecated] LocalVideoTrack.getStats will be removed in the future, use AgoraRTCClient.getLocalVideoStats instead")}),"localVideoTrackGetStatsWarning"),ia(this,ut.GET_STATS)||or({},tC)}async setBeautyEffect(t){D.error("LocalVideoTrack.setBeautyEffect was deprecated, please migrate to agora-extension-beauty-effect")}getCurrentFrameData(){return this._player?this._player.getCurrentFrame():new ImageData(2,2)}async getCurrentFrameImage(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return this._player?this._player.getCurrentFrameToUint8Array(t,n):await bI(t)}async setBitrateLimit(t){if(D.debug("[".concat(this.getTrackId(),"] set bitrate limit, ").concat(JSON.stringify(t))),t){this._forceBitrateLimit=t,this._encoderConfig&&(this._encoderConfig.bitrateMax?this._encoderConfig.bitrateMax=this._encoderConfig.bitrateMax<t.max_bitrate?this._encoderConfig.bitrateMax:t.max_bitrate:this._encoderConfig.bitrateMax=t.max_bitrate,this._encoderConfig.bitrateMin,this._encoderConfig.bitrateMin=t.min_bitrate);try{await Fn(this,ut.NEED_UPDATE_VIDEO_ENCODER,this)}catch(n){return n.throw(D)}}}async setOptimizationMode(t){if(t!=="motion"&&t!=="detail"&&t!=="balanced")return void D.error(Q.INVALID_PARAMS,"optimization mode must be motion, detail or balanced");const n=this._optimizationMode;try{this._optimizationMode=t,await Fn(this,ut.NEED_UPDATE_VIDEO_SEND_PARAMETERS,this)}catch(r){throw this._optimizationMode=n,D.error("[".concat(this.getTrackId(),"] set optimization mode failed"),r.toString()),r}D.info("[".concat(this.getTrackId(),"] set optimization mode success (").concat(t,")"))}setScalabiltyMode(t){if(t.numSpatialLayers===1&&t.numTemporalLayers!==1)return D.error(Q.INVALID_PARAMS,"scalability mode currently not supported, no SVC."),void(this._scalabilityMode={numSpatialLayers:1,numTemporalLayers:1});this._scalabilityMode=t,D.info("[".concat(this.getTrackId(),"] set scalability mode success (").concat(t,")"))}updateMediaStreamTrackResolution(){$q(this._originMediaStreamTrack).then((t=>{let[n,r]=t;this._videoHeight=r,this._videoWidth=n})).catch(d6)}_updatePlayerSource(){this._player&&this._player.updateVideoTrack(this._mediaStreamTrack)}_getDefaultPlayerConfig(){return{fit:"contain"}}async setSenderConfiguration(t){if(!this._enabled)throw new Be(Q.TRACK_IS_DISABLED,"can not set encoder configuration when track is disabled");D.debug("[".concat(this.getTrackId(),"] setSenderConfiguration applyConstraints"),JSON.stringify(t)),t=$c(t),this._forceBitrateLimit&&(t.bitrateMax=this._forceBitrateLimit.max_bitrate?this._forceBitrateLimit.max_bitrate:t.bitrateMax,t.bitrateMin=this._forceBitrateLimit.min_bitrate?this._forceBitrateLimit.min_bitrate:t.bitrateMin),this._encoderConfig=t,this._hints.indexOf(nr.SCREEN_TRACK)===-1&&this.updateBitrateFromProfile();try{await Fn(this,ut.NEED_UPDATE_VIDEO_ENCODER,this)}catch(n){return n.throw(D)}}updateBitrateFromProfile(){if(!this._encoderConfig)return;const{width:t,height:n,frameRate:r}=this.getMediaStreamTrackSettings();if(!t||!n||!r)return;const{bitrateMax:i,bitrateMin:o}=this._encoderConfig;if(o==null||i==null){const{max:s,min:a}=(function(c,l,u,d,f){const h=he("BITRATE_ADAPTER_TYPE");if(h==="DEFAULT_BITRATE")return{min:d,max:f};if(f===void 0){var p;const m=Math.floor(200*Math.pow(u/15,.6)*Math.pow(c*l/640/360,.75));f=h==="STANDARD_BITRATE"?4*m:2*m,d=(p=d)!==null&&p!==void 0?p:m}else{var g;d=(g=d)!==null&&g!==void 0?g:Math.floor(f/10)}return{min:d,max:f}})(t,n,r,o,i);this._encoderConfig.bitrateMin=a,this._encoderConfig.bitrateMax=s,D.debug("[".concat(this.getTrackId(),"] update bitrate from profile, [w: ").concat(t,", h: ").concat(n,", fps: ").concat(r,"] => [brMax: ").concat(s,", brMin: ").concat(a,"]"))}}getVideoElementVisibleStatus(){try{var t,n;const r=this==null||(t=this._player)===null||t===void 0?void 0:t.getContainerElement(),i={track:this,element:this==null||(n=this._player)===null||n===void 0?void 0:n.getVideoElement(),slot:r==null?void 0:r.parentElement},{element:o,slot:s}=i;if(this.isPlaying&&o instanceof HTMLVideoElement&&s instanceof HTMLElement){const a=hq.checkOneElementVisible(o),c=Object.assign({},a);if(c.visible!==this._previousVideoVisibleStatus){this._previousVideoVisibleStatus=c.visible;const l=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.LOCAL_VIDEO_TRACK_GET_VIDEO_VISIBLE,options:[this.getTrackId()]});c.visible?l.onSuccess("Video is visible"):l.onSuccess("Invisible because of ".concat(c.reason))}return c}return}catch(r){throw new Be(Q.GET_VIDEO_ELEMENT_VISIBLE_ERROR,r.message)}}async renewMediaStreamTrack(t){}pipe(t){if(this.processor===t)return t;if(t._source)throw new Be(Q.INVALID_OPERATION,"Processor ".concat(t.name," already piped, please call unpipe beforehand."));return this.unpipe(),this.processor=t,this.processor._source=this,t.updateInput({track:this._originMediaStreamTrack,context:this.processorContext}),t}unpipe(){if(!this.processor)return;const t=this.processor;this.processor._source=void 0,this.processor=void 0,t.reset()}close(){super.close(),this.unbindProcessorDestinationEvents(),this.unbindProcessorContextEvents(),this.unpipe(),this.processorDestination._source&&this.processorDestination._source.unpipe()}clone(t){let n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],r=this._encoderConfig;t&&(r=or(or({},r),$c(t))),r=j0(r);const i=Wn(8,"track-video-cloned-"),o=new r$(n?this._mediaStreamTrack.clone():this._mediaStreamTrack,r,j0(this._scalabilityMode),this._optimizationMode,i,j0(this._hints));return t&&r&&o.setEncoderConfiguration(r),D.debug("clone video track from ".concat(this.getTrackId()," to ").concat(i,", clone ").concat(n)),o}async replaceTrack(t,n){if(!(t instanceof MediaStreamTrack))throw new Be(Q.INVALID_PARAMS,"track should be an instance of MediaStreamTrack");if(t.kind!=="video")throw new Be(Q.INVALID_PARAMS,"track should be a video MediaStreamTrack");await this._updateOriginMediaStreamTrack(t,n,!0),this.updateMediaStreamTrackResolution()}sendSeiData(t){if(Fd((()=>{mt.reportApiInvoke(null,{name:Zr.LOCAL_VIDEO_SEND_SEI_DATA,options:[],tag:vr.TRACER}).onSuccess("")}),this._mediaStreamTrack.id||this.getTrackId()),!he("ENABLE_VIDEO_SEI")||!he("ENABLE_ENCODED_TRANSFORM"))return void D.warning('To send/receive SEI, please call AgoraRTC.setParameter("ENABLE_VIDEO_SEI", true) before instantiate IAgoraRtcClient');if(t instanceof Uint8Array==0)return new Be(Q.INVALID_PARAMS,"Invalid argument type, ILocalVideoTrack.sendSeiData() only accept Uint8Array argument.").throw();const n=this.getRTCRtpTransceiver();if(!n)return void D.warning("Video track is not published, SEI can not be send");const r=n.sender.getParameters();if(r.codecs.length===0)return;const i=r.codecs[0].mimeType.toLocaleLowerCase();i==="video/h264"?this.safeEmit("sei-to-send",t):D.warning("SEI is not supported by ".concat(i))}bindProcessorDestinationEvents(){this.processorDestination.on(yo.ON_TRACK,(async t=>{t?t!==this._mediaStreamTrack&&(this._mediaStreamTrack=t,this._updatePlayerSource(),await Fn(this,ut.NEED_REPLACE_TRACK,this)):this._mediaStreamTrack!==this._originMediaStreamTrack&&(this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource(),await Fn(this,ut.NEED_REPLACE_TRACK,this))}))}unbindProcessorDestinationEvents(){this.processorDestination.removeAllListeners(yo.ON_TRACK)}unbindProcessorContextEvents(){this.processorContext.removeAllListeners(Fs.REQUEST_UPDATE_CONSTRAINTS),this.processorContext.removeAllListeners(Fs.REQUEST_CONSTRAINTS)}},on(en.prototype,"play",[XB,QB],Object.getOwnPropertyDescriptor(en.prototype,"play"),en.prototype),on(en.prototype,"stop",[KB],Object.getOwnPropertyDescriptor(en.prototype,"stop"),en.prototype),on(en.prototype,"setEnabled",[qB,$B,eF],Object.getOwnPropertyDescriptor(en.prototype,"setEnabled"),en.prototype),on(en.prototype,"setMuted",[tF,nF,rF],Object.getOwnPropertyDescriptor(en.prototype,"setMuted"),en.prototype),on(en.prototype,"setEncoderConfiguration",[iF,oF],Object.getOwnPropertyDescriptor(en.prototype,"setEncoderConfiguration"),en.prototype),on(en.prototype,"getStats",[sF],Object.getOwnPropertyDescriptor(en.prototype,"getStats"),en.prototype),on(en.prototype,"setBeautyEffect",[aF,cF],Object.getOwnPropertyDescriptor(en.prototype,"setBeautyEffect"),en.prototype),on(en.prototype,"getCurrentFrameData",[lF],Object.getOwnPropertyDescriptor(en.prototype,"getCurrentFrameData"),en.prototype),on(en.prototype,"getCurrentFrameImage",[uF],Object.getOwnPropertyDescriptor(en.prototype,"getCurrentFrameImage"),en.prototype),on(en.prototype,"setBitrateLimit",[dF],Object.getOwnPropertyDescriptor(en.prototype,"setBitrateLimit"),en.prototype),on(en.prototype,"setOptimizationMode",[fF],Object.getOwnPropertyDescriptor(en.prototype,"setOptimizationMode"),en.prototype),on(en.prototype,"setScalabiltyMode",[hF],Object.getOwnPropertyDescriptor(en.prototype,"setScalabiltyMode"),en.prototype),on(en.prototype,"updateMediaStreamTrackResolution",[pF],Object.getOwnPropertyDescriptor(en.prototype,"updateMediaStreamTrackResolution"),en.prototype),on(en.prototype,"pipe",[mF],Object.getOwnPropertyDescriptor(en.prototype,"pipe"),en.prototype),on(en.prototype,"unpipe",[gF],Object.getOwnPropertyDescriptor(en.prototype,"unpipe"),en.prototype),on(en.prototype,"close",[vF],Object.getOwnPropertyDescriptor(en.prototype,"close"),en.prototype),on(en.prototype,"replaceTrack",[yF],Object.getOwnPropertyDescriptor(en.prototype,"replaceTrack"),en.prototype),en),iC=(EF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),bF=Or(),SF=bp("CameraVideoTrack","_enabledMutex"),AF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),CF=Or(),wF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),TF=Or(),IF=Pt({argsMap:e=>[e.getTrackId()]}),As=class i$ extends Kn{get __className__(){return"CameraVideoTrack"}constructor(t,n,r,i,o,s){super(t,$c(n.encoderConfig),i,o,s),Fe(this,"_config",void 0),Fe(this,"_originalConstraints",void 0),Fe(this,"_constraints",void 0),Fe(this,"_enabled",!0),Fe(this,"_deviceName","default"),Fe(this,"tryResumeVideoForIOS15_16WeChat",(async()=>{(Ep()||WA())&&!(function(){const a=an();if(a.os!==ii.IOS||!a.osVersion)return!1;const c=a.osVersion.split(".");return Number(c[0])===15&&Number(c[1])>=2})()&&uq()&&this._enabled&&!this._isClosed&&(D.debug("[".concat(this.getTrackId(),"] try capture camera media device for interrupted iOS 15 device on WeChat.")),await this.renewMediaStreamTrack())})),this._config=n,this._originalConstraints=r,this._constraints=r,this._deviceName=t.label,this._encoderConfig=$c(this._config.encoderConfig),In.on(mi.IOS_15_16_INTERRUPTION_END,this.tryResumeVideoForIOS15_16WeChat),In.on(mi.IOS_INTERRUPTION_END,this.tryResumeVideoForIOS15_16WeChat),this.bindProcessorContextEvents()}async setDevice(t){return typeof t=="string"?this._setDeviceById(t):t.deviceId?this._setDeviceById(t.deviceId):t.facingMode?this._setDeviceByFacingModel(t.facingMode):void 0}async _setDeviceById(t){if(D.info("[".concat(this.getTrackId(),"] set device to ").concat(t)),this._enabled)try{const n=await xs.getDeviceById(t),r={};r.video=or({},this._constraints),r.video.deviceId={exact:t},r.video.facingMode=void 0,this._originMediaStreamTrack.stop();let i=null;try{i=await Os(r,this.getTrackId())}catch(o){throw D.error("[".concat(this.getTrackId(),"] setDevice failed"),o.toString()),i=await Os({video:this._constraints},this.getTrackId()),await this._updateOriginMediaStreamTrack(i.getVideoTracks()[0],!1),o}await this._updateOriginMediaStreamTrack(i.getVideoTracks()[0],!1),this.updateMediaStreamTrackResolution(),this._deviceName=n.label,this._config.cameraId=t,this._constraints.deviceId={exact:t}}catch(n){throw D.error("[".concat(this.getTrackId(),"] setDevice error"),n.toString()),n}else try{const n=await xs.getDeviceById(t);this._deviceName=n.label,this._config.cameraId=t,this._constraints.deviceId={exact:t}}catch(n){throw D.error("[".concat(this.getTrackId(),"] setDevice error"),n.toString()),n}D.info("[".concat(this.getTrackId(),"] setDevice success"))}async _setDeviceByFacingModel(t){D.info("[".concat(this.getTrackId(),"] set facingMode ").concat(t));const n={video:or(or({},this._constraints),{},{deviceId:void 0,facingMode:{exact:t}})};if(this._enabled){this._originMediaStreamTrack.stop();let r=null;try{r=await Os(n,this.getTrackId())}catch(i){throw D.error("[".concat(this.getTrackId(),"] setDeviceByFacingModel failed"),i.toString()),r=await Os({video:this._constraints},this.getTrackId()),await this._updateOriginMediaStreamTrack(r.getVideoTracks()[0],!1),i}await this._updateOriginMediaStreamTrack(r.getVideoTracks()[0],!1),this.updateMediaStreamTrackResolution()}this._deviceName="",this._config.facingMode=t,this._config.cameraId=void 0,this._constraints=or({},n.video),D.info("[".concat(this.getTrackId(),"] setDeviceByFacingModel success"))}async setEnabled(t,n){if(!n){if(t===this._enabled)return;this.stateCheck("enabled",t)}if(D.info("[".concat(this.getTrackId(),"] start setEnabled"),t),t){try{if(this.isExternalTrack)this._originMediaStreamTrack.enabled=!0;else{const r=await Os({video:this._constraints},this.getTrackId());await this._updateOriginMediaStreamTrack(r.getVideoTracks()[0],!1)}await Fn(this,ut.NEED_ENABLE_TRACK,this)}catch(r){throw D.error("[".concat(this.getTrackId(),"] setEnabled true error"),r.toString()),r}this.updateMediaStreamTrackResolution(),D.info("[".concat(this.getTrackId(),"] setEnabled to true success")),n||(this._enabled=!0)}else{this.isExternalTrack?this._originMediaStreamTrack.enabled=!1:(this._originMediaStreamTrack.onended=null,this._originMediaStreamTrack.stop()),n||(this._enabled=!1);try{await Fn(this,ut.NEED_DISABLE_TRACK,this)}catch(r){throw D.error("[".concat(this.getTrackId(),"] setEnabled to false error"),r.toString()),r}D.info("[".concat(this.getTrackId(),"] setEnabled to false success"))}}async setEncoderConfiguration(t,n){if(!this._enabled)throw new Be(Q.TRACK_IS_DISABLED,"can not set encoder configuration when track is disabled");t=$c(t),this._forceBitrateLimit&&(t.bitrateMax=this._forceBitrateLimit.max_bitrate||t.bitrateMax,t.bitrateMin=this._forceBitrateLimit.min_bitrate||t.bitrateMin);const r=Lr(this._config);r.encoderConfig=t;const i=O4(r);(Ri()||vo()||Ma())&&(i.deviceId=void 0),D.debug("[".concat(this.getTrackId(),"] setEncoderConfiguration applyConstraints"),JSON.stringify(t),JSON.stringify(i));try{await this._originMediaStreamTrack.applyConstraints(i),this.updateMediaStreamTrackResolution()}catch(o){const s=new Be(Q.UNEXPECTED_ERROR,o.toString());throw D.error("[".concat(this.getTrackId(),"] applyConstraints error"),s.toString()),s}this._config=r,this._constraints=i,this._originalConstraints=i,this._encoderConfig=t,this._hints.indexOf(nr.SCREEN_TRACK)===-1&&this.updateBitrateFromProfile();try{await Fn(this,ut.NEED_UPDATE_VIDEO_ENCODER,this)}catch(o){return o.throw(D)}}_getDefaultPlayerConfig(){return{mirror:!0,fit:"cover"}}onTrackEnded(){if((vo()||Ma())&&this._enabled&&!this._isClosed&&In.duringInterruption){const t=async()=>{In.off(mi.IOS_INTERRUPTION_END,t),this._enabled&&!this._isClosed&&(D.debug("[".concat(this.getTrackId(),"] try capture camera media device for interrupted iOS device.")),await this.setEnabled(!1),await this.setEnabled(!0))};In.on(mi.IOS_INTERRUPTION_END,t)}else D.debug("[".concat(this.getTrackId(),"] track ended")),this.safeEmit(Kp.TRACK_ENDED)}async renewMediaStreamTrack(t){const n=t||this._constraints,r=xs.searchDeviceIdByName(this._deviceName);if(r&&!n.deviceId&&(n.deviceId={exact:r}),this._enabled){const i=await Os({video:n},this.getTrackId());this._constraints=n,await this._updateOriginMediaStreamTrack(i.getVideoTracks()[0],!0),this.updateMediaStreamTrackResolution()}}close(){super.close(),In.off(mi.IOS_15_16_INTERRUPTION_END,this.tryResumeVideoForIOS15_16WeChat),In.off(mi.IOS_INTERRUPTION_END,this.tryResumeVideoForIOS15_16WeChat)}clone(t){let n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1],r=this._encoderConfig;t&&(r=or(or({},r),$c(t))),r=j0(r);const i=Wn(8,"track-cam-cloned-"),o=new i$(n?this._mediaStreamTrack.clone():this._mediaStreamTrack,j0(or(or({},this._config),{},{encoderConfig:r})),j0(this._constraints),j0(this._scalabilityMode),this._optimizationMode,i);return t&&r&&o.setEncoderConfiguration(r),D.debug("clone track from ".concat(this.getTrackId()," to ").concat(i,", clone ").concat(n)),o}bindProcessorContextEvents(){this.processorContext.on(Fs.REQUEST_UPDATE_CONSTRAINTS,(async(t,n,r)=>{try{const i=Object.assign({},this._originalConstraints,...t);await this.renewMediaStreamTrack(i),n()}catch(i){r(i)}})),this.processorContext.on(Fs.REQUEST_CONSTRAINTS,(async t=>{t(this._originMediaStreamTrack.getSettings())}))}},on(As.prototype,"setDevice",[EF,bF],Object.getOwnPropertyDescriptor(As.prototype,"setDevice"),As.prototype),on(As.prototype,"setEnabled",[SF,AF,CF],Object.getOwnPropertyDescriptor(As.prototype,"setEnabled"),As.prototype),on(As.prototype,"setEncoderConfiguration",[wF,TF],Object.getOwnPropertyDescriptor(As.prototype,"setEncoderConfiguration"),As.prototype),on(As.prototype,"close",[IF],Object.getOwnPropertyDescriptor(As.prototype,"close"),As.prototype),As);function dE(e,t,n,r){n.optimizationMode&&(r&&r.width&&r.height?(n.encoderConfig=or(or({},r),{},{bitrateMin:r.bitrateMin,bitrateMax:r.bitrateMax}),n.optimizationMode!=="motion"&&n.optimizationMode!=="detail"||(t.contentHint=n.optimizationMode,t.contentHint===n.optimizationMode?D.debug("[".concat(e,"] set content hint to"),n.optimizationMode):D.debug("[".concat(e,"] set content hint failed")))):D.warning("[".concat(e,"] can not apply optimization mode bitrate config, no encoderConfig")))}var PF,OF,_F,RF,Js,kF,xF,DF,LF,NF,MF,no;class o$ extends Uq{getUserId(){return this._userId}constructor(t,n,r,i){super(t,"track-".concat(t.kind,"-").concat(n,"-").concat(i.clientId,"_").concat(Wn(5,""))),Fe(this,"_userId",void 0),Fe(this,"_uintId",void 0),Fe(this,"_isDestroyed",!1),Fe(this,"store",void 0),Fe(this,"processor",void 0),Fe(this,"processorContext",void 0),this._userId=n,this._uintId=r,this.store=i}_updateOriginMediaStreamTrack(t){this._originMediaStreamTrack=t,this._mediaStreamTrack=t,this._updatePlayerSource(),this.processor&&this.processor.updateInput({track:this._originMediaStreamTrack,context:this.processorContext})}_destroy(){this._isDestroyed=!0,D.info("[".concat(this.getTrackId(),"] is destroyed")),this.stop(),super.close()}getProcessorStats(){return this.processorContext.gatherStats()}getProcessorUsage(){return this.processorContext.gatherUsage()}}let Gh=(PF=Pt({argsMap:(e,t,n)=>[e.getTrackId(),typeof t=="string"?t:t instanceof HTMLVideoElement?"HTMLVideoElement":"HTMLElement",n]}),OF=Pt({argsMap:e=>[e.getTrackId()]}),_F=Pt({argsMap:(e,t)=>[e.getTrackId(),t.name]}),RF=Pt({argsMap:e=>[e.getTrackId()]}),on((Js=class extends o${get isPlaying(){return!(!this._player||this._player.videoElementStatus!==oo.PLAYING)}get __className__(){return"RemoteVideoTrack"}constructor(e,t,n,r){super(e,t,n,r),Fe(this,"_videoVisibleTimer",null),Fe(this,"_previousVideoVisibleStatus",void 0),Fe(this,"_clearPreviousVideoVisibleStatus",(()=>this._previousVideoVisibleStatus=void 0)),Fe(this,"trackMediaType",qp.VIDEO),Fe(this,"_videoWidth",void 0),Fe(this,"_videoHeight",void 0),Fe(this,"_player",void 0),Fe(this,"processorDestination",void 0),Fe(this,"processorContext",void 0),this.updateMediaStreamTrackResolution(),this.processorContext=new Qq(this.getTrackId(),"remote"),this.processorDestination=new Xq(this.processorContext),this.bindProcessorDestinationEvents()}getStats(){return Fd((()=>{D.warning("[deprecated] RemoteVideoTrack.getStats will be removed in the future, use AgoraRTCClient.getRemoteVideoStats instead")}),"remoteVideoTrackGetStatsWarning"),ia(this,ut.GET_STATS)||or({},Fq)}play(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof e=="string"){const r=document.getElementById(e);r?e=r:(D.warning("[".concat(this.getTrackId(),'] can not find "#').concat(e,'" element, use document.body')),e=document.body)}D.debug("[".concat(this.getTrackId(),"] start video playback in ").concat(e instanceof HTMLVideoElement?"HTMLVideoElement":"HTMLElement"),JSON.stringify(t));const n=or(or({fit:"cover"},t),{},{trackId:this.getTrackId(),element:e});this._player?this._player.updateConfig(n):(e instanceof HTMLVideoElement?this._player=new SI(n):this._player=new n$(n),this._player.updateVideoTrack(this._mediaStreamTrack),this._player.onFirstVideoFrameDecoded=()=>{this.store.subscribe(this.getUserId(),"video",void 0,void 0,Date.now()),this.safeEmit(Vh.FIRST_FRAME_DECODED)},this._player.onVideoStateChanged=r=>{this.safeEmit(Vh.VIDEO_STATE_CHANGED,r)}),this._player.play(this.store.sessionId||void 0),this._videoVisibleTimer&&window.clearInterval(this._videoVisibleTimer),this._clearPreviousVideoVisibleStatus(),this._videoVisibleTimer=window.setInterval((()=>{try{const r=this.getVideoElementVisibleStatus();this.safeEmit(Vh.VIDEO_ELEMENT_VISIBLE_STATUS,r)}catch{}}),he("CHECK_VIDEO_VISIBLE_INTERVAL"))}stop(){this._player&&(this._videoVisibleTimer&&(window.clearInterval(this._videoVisibleTimer),this._videoVisibleTimer=null),this._clearPreviousVideoVisibleStatus(),this._player.destroy(),this._player=void 0,D.debug("[".concat(this.getTrackId(),"] stop video playback")))}getCurrentFrameData(){return this._player?this._player.getCurrentFrame():new ImageData(2,2)}updateMediaStreamTrackResolution(){$q(this._originMediaStreamTrack).then((e=>{let[t,n]=e;this._videoHeight=n,this._videoWidth=t})).catch(d6)}_updatePlayerSource(){D.debug("[".concat(this.getTrackId(),"] update player source track")),this._player&&this._player.updateVideoTrack(this._mediaStreamTrack)}getVideoElementVisibleStatus(){try{var e,t;const n=this==null||(e=this._player)===null||e===void 0?void 0:e.getContainerElement(),r={track:this,element:this==null||(t=this._player)===null||t===void 0?void 0:t.getVideoElement(),slot:n==null?void 0:n.parentElement},{element:i,slot:o}=r;if(this.isPlaying&&i instanceof HTMLVideoElement&&o instanceof HTMLElement){const s=hq.checkOneElementVisible(i),a=Object.assign({},s);if(a.visible!==this._previousVideoVisibleStatus){this._previousVideoVisibleStatus=a.visible;const c=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.REMOTE_VIDEO_TRACK_GET_VIDEO_VISIBLE,options:[this.getTrackId()]});a.visible?c.onSuccess("Video is visible"):c.onSuccess("Invisible because of ".concat(a.reason))}return a}return}catch(n){throw new Be(Q.GET_VIDEO_ELEMENT_VISIBLE_ERROR,n.message)}}pipe(e){if(this.processor===e)return e;if(e._source)throw new Be(Q.INVALID_OPERATION,"Processor ".concat(e.name," already piped, please call unpipe beforehand."));return this.unpipe(),this.processor=e,this.processor._source=this,e.updateInput({track:this._originMediaStreamTrack,context:this.processorContext}),e}unpipe(){if(!this.processor)return;const e=this.processor;this.processor._source=void 0,this.processor=void 0,e.reset()}bindProcessorDestinationEvents(){this.processorDestination.on(yo.ON_TRACK,(async e=>{e?e!==this._mediaStreamTrack&&(this._mediaStreamTrack=e,this._updatePlayerSource()):this._mediaStreamTrack!==this._originMediaStreamTrack&&(this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource())}))}unbindProcessorDestinationEvents(){this.processorDestination.removeAllListeners(yo.ON_TRACK)}_destroy(){super._destroy(),this.unbindProcessorDestinationEvents()}_onSei(e){this.emit(nf.SEI_RECEIVED,e)}}).prototype,"play",[PF],Object.getOwnPropertyDescriptor(Js.prototype,"play"),Js.prototype),on(Js.prototype,"stop",[OF],Object.getOwnPropertyDescriptor(Js.prototype,"stop"),Js.prototype),on(Js.prototype,"pipe",[_F],Object.getOwnPropertyDescriptor(Js.prototype,"pipe"),Js.prototype),on(Js.prototype,"unpipe",[RF],Object.getOwnPropertyDescriptor(Js.prototype,"unpipe"),Js.prototype),Js),Jh=(kF=Pt({argsMap:(e,t)=>[e.getTrackId(),t],throttleTime:300}),xF=Pt({argsMap:(e,t)=>[e.getTrackId(),t]}),DF=Pt({argsMap:e=>[e.getTrackId()]}),LF=Pt({argsMap:e=>[e.getTrackId()]}),NF=Pt({argsMap:(e,t)=>[e.getTrackId(),t.name]}),MF=Pt({argsMap:e=>[e.getTrackId()]}),on((no=class extends o${get isPlaying(){return this._useAudioElement?Io.isPlaying(this.getTrackId()):this._source.isPlayed}get __className__(){return"RemoteAudioTrack"}constructor(e,t,n,r){super(e,t,n,r),Fe(this,"trackMediaType",qp.AUDIO),Fe(this,"_source",void 0),Fe(this,"_useAudioElement",!0),Fe(this,"_volume",100),Fe(this,"processorContext",void 0),Fe(this,"processorDestination",void 0),Fe(this,"_played",!1),Fe(this,"_bypassWebAudio",!1),he("DISABLE_WEBAUDIO")?(this._source=new rC,this._bypassWebAudio=!0,this._useAudioElement=!0):(this._source=new zq(e,!0),he("REMOTE_AUDIO_TRACK_USES_WEB_AUDIO")&&(this._useAudioElement=!1)),this._source.once(Rs.RECEIVE_TRACK_BUFFER,(()=>{this.safeEmit(Vh.FIRST_FRAME_DECODED)})),this.processorContext=new qq(this._source.context,this.getTrackId(),"remote"),this.processorDestination=new Kq(this.processorContext),this.bindProcessorDestinationEvents(),this._source.on(Rs.UPDATE_SOURCE,(()=>{this.processor&&this.processor.updateInput({node:this._source.processSourceNode,context:this.processorContext})}))}setAudioFrameCallback(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4096;if(!e)return this._source.removeAllListeners(Rs.ON_AUDIO_BUFFER),void this._source.stopGetAudioBuffer();this._source.startGetAudioBuffer(t),this._source.removeAllListeners(Rs.ON_AUDIO_BUFFER),this._source.on(Rs.ON_AUDIO_BUFFER,(n=>e(n)))}setVolume(e){this._volume=e,this._useAudioElement?Io.setVolume(this.getTrackId(),e):this._source.setVolume(e/100)}async setPlaybackDevice(e){if(!this._useAudioElement||!Mq())throw new Be(Q.NOT_SUPPORTED,"your browser does not support setting the audio output device");await Io.setSinkID(this.getTrackId(),e)}getVolumeLevel(){return this._source.getAccurateVolumeLevel()}getStats(){return Fd((()=>{D.warning("[deprecated] RemoteAudioTrack.getStats will be removed in the future, use AgoraRTCClient.getRemoteAudioStats instead")}),"remoteAudioTrackGetStatsWarning"),ia(this,ut.GET_STATS)||or({},Bq)}play(){D.debug("[".concat(this.getTrackId(),"] start audio playback")),this._played=!0,this._useAudioElement?(D.debug("[".concat(this.getTrackId(),"] use audio element to play")),Io.play(this._mediaStreamTrack,this.getTrackId(),this._volume,this.store.sessionId||void 0)):this._source.play()}stop(){D.debug("[".concat(this.getTrackId(),"] stop audio playback")),this._played=!1,this._useAudioElement?Io.stop(this.getTrackId()):this._source.stop()}_destroy(){super._destroy(),this._played=!1,this.unbindProcessorDestinationEvents(),this._source.destroy()}_isFreeze(){return this._source.isFreeze}_updatePlayerSource(){let e=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];D.debug("[".concat(this.getTrackId(),"] update player source track")),e&&this._source.updateTrack(this._mediaStreamTrack),this._useAudioElement&&Io.updateTrack(this.getTrackId(),this._mediaStreamTrack)}pipe(e){if(this._bypassWebAudio)throw new Be(Q.NOT_SUPPORTED,"can not pipe extension when WebAudio disabled");if(this.processor===e)return e;if(e._source)throw new Be(Q.INVALID_OPERATION,"Processor ".concat(e.name," already piped, please call unpipe beforehand."));return this.unpipe(),this.processor=e,this.processor._source=this,e.updateInput({track:this._originMediaStreamTrack,node:this._source.processSourceNode,context:this.processorContext}),e}unpipe(){var e;if(this._bypassWebAudio)throw new Be(Q.NOT_SUPPORTED,"can not unpipe extension when WebAudio disabled");if(!this.processor)return;const t=this.processor;(e=this._source.processSourceNode)===null||e===void 0||e.disconnect(),this.processor._source=!1,this.processor=void 0,t.reset()}bindProcessorDestinationEvents(){this.processorDestination.on(yo.ON_TRACK,(async e=>{e?e!==this._mediaStreamTrack&&(this._mediaStreamTrack=e,this._updatePlayerSource(!1),this._source.processedNode=this._source.createMediaStreamSourceNode(e)):this._mediaStreamTrack!==this._originMediaStreamTrack&&(this._mediaStreamTrack=this._originMediaStreamTrack,this._updatePlayerSource())})),this.processorDestination.on(yo.ON_NODE,(e=>{this._source.processedNode=e;const t=!e;this._useAudioElement!==t&&(this._played?(this.stop(),this._useAudioElement=t,this.play()):this._useAudioElement=t)}))}unbindProcessorDestinationEvents(){this.processorDestination.removeAllListeners(yo.ON_TRACK),this.processorDestination.removeAllListeners(yo.ON_NODE)}}).prototype,"setVolume",[kF],Object.getOwnPropertyDescriptor(no.prototype,"setVolume"),no.prototype),on(no.prototype,"setPlaybackDevice",[xF],Object.getOwnPropertyDescriptor(no.prototype,"setPlaybackDevice"),no.prototype),on(no.prototype,"play",[DF],Object.getOwnPropertyDescriptor(no.prototype,"play"),no.prototype),on(no.prototype,"stop",[LF],Object.getOwnPropertyDescriptor(no.prototype,"stop"),no.prototype),on(no.prototype,"pipe",[NF],Object.getOwnPropertyDescriptor(no.prototype,"pipe"),no.prototype),on(no.prototype,"unpipe",[MF],Object.getOwnPropertyDescriptor(no.prototype,"unpipe"),no.prototype),no);const Hl=new class extends fr{get visibility(){return document.visibilityState}get lastHiddenTime(){return this._lastHiddenTime}get lastVisibleTime(){return this._lastVisibleTime}constructor(){super(),Fe(this,"_lastHiddenTime",0),Fe(this,"_lastVisibleTime",0),document.addEventListener("visibilitychange",(()=>{document.visibilityState==="hidden"?this._lastHiddenTime=performance.now():this._lastVisibleTime=performance.now(),D.debug("document visibility went ".concat(document.visibilityState)),this.emit("VISIBILITY_CHANGE",document.visibilityState)}))}};class s$ extends fr{constructor(t,n){super(),Fe(this,"trackMediaType",qp.DATA),Fe(this,"_version",1),Fe(this,"_type",3),Fe(this,"_config",void 0),Fe(this,"_originDataChannel",void 0),Fe(this,"_dataStreamPacketHeader",new ArrayBuffer(4)),Fe(this,"_dataStreamPacketHandler",{serialize:r=>r,deserialize:r=>r}),Fe(this,"_datachannelEventMap",new Map),this._config=t,n&&(this._originDataChannel=n,this._bandDataChannelEvents(n)),this._initPacketHeader()}useDataStream(t){this._dataStreamPacketHandler=t}get id(){return this._config.id}get ordered(){return this._config.ordered}get maxRetransmits(){return he("DATASTREAM_MAX_RETRANSMITS")}get metadata(){return this._config.metadata}get readyState(){var t,n;return(t=(n=this._originDataChannel)===null||n===void 0?void 0:n.readyState)!==null&&t!==void 0?t:"connecting"}get _originDataChannelId(){var t,n;return(t=(n=this._originDataChannel)===null||n===void 0?void 0:n.id)!==null&&t!==void 0?t:null}getChannelId(){return this.id}getConfig(){return this._config}_close(){this._originDataChannel&&(this._unbindDataChannelEvents(this._originDataChannel),this._originDataChannel=void 0)}async _waitTillOpen(){return new ot(((t,n)=>{if(this._originDataChannel){this._originDataChannel.readyState==="open"&&t();const r=setTimeout((()=>{var i;n(new Be(Q.DATACHANNEL_CONNECTION_TIMEOUT,"Cannot create datachannel, id: ".concat((i=this._originDataChannel)===null||i===void 0?void 0:i.id)))}),1e4);this._originDataChannel.onopen=()=>{clearTimeout(r),this._originDataChannel&&this._bandDataChannelEvents(this._originDataChannel),t()},this._originDataChannel.onerror=()=>{throw clearTimeout(r),new Be(Q.DATACHANNEL_CONNECTION_TIMEOUT)}}else n(new Be(Q.DATACHANNEL_CONNECTION_TIMEOUT,"cannot find dataChannel"))}))}_updateOriginDataChannel(t){this._originDataChannel=t,this._bandDataChannelEvents(t)}_initPacketHeader(){const t=new DataView(this._dataStreamPacketHeader);t.setUint16(0,this._version),t.setUint8(2,this._type),t.setUint8(3,this._config.id)}_bandDataChannelEvents(t){this._unbindDataChannelEvents(t),[C3.OPEN,C3.CLOSE,C3.ERROR].forEach((n=>{const r=()=>{this.emit(n)};this._datachannelEventMap.set(n,r),t.addEventListener(n,r)}))}_unbindDataChannelEvents(t){Array.from(this._datachannelEventMap.entries()).forEach((n=>{let[r,i]=n;t.removeEventListener(r,i)})),this._datachannelEventMap.clear()}}class PBe extends s${constructor(t){super(t),Fe(this,"_messageListener",void 0),this._messageListener=n=>{if(n.data.byteLength<this._dataStreamPacketHeader.byteLength)throw Error("invalid byteLength: the byte length must exceed "+this._dataStreamPacketHeader.byteLength);const r=n.data.slice(0,this._dataStreamPacketHeader.byteLength),i=new DataView(r).getUint8(3);if(i!==this.id)return void(he("SHOW_DATASTREAM2_LOG")&&D.debug("invalid datachannel id: ".concat(i," !== ").concat(this.id)));let o=n.data.slice(this._dataStreamPacketHeader.byteLength);o=this._dataStreamPacketHandler.deserialize(o),this.emit(C3.MESSAGE,o)}}_updateOriginDataChannel(t){super._updateOriginDataChannel(t),this._bandRemoteDataChannelEvents()}_close(){this._originDataChannel&&(this._originDataChannel.removeEventListener("message",this._messageListener),super._close())}_bandRemoteDataChannelEvents(){this._originDataChannel&&this._originDataChannel.addEventListener("message",this._messageListener)}}class OBe extends s${send(t){if(this._originDataChannel){let n=t;n=this._dataStreamPacketHandler.serialize(t);const r=new Uint8Array(this._dataStreamPacketHeader.byteLength+n.byteLength);r.set(new Uint8Array(this._dataStreamPacketHeader),0),r.set(new Uint8Array(n),this._dataStreamPacketHeader.byteLength),this._originDataChannel.send(r.buffer)}}}function T3(){const e=new Blob([atob("ZnVuY3Rpb24gZShlLHQsbil7bGV0IHI9bmV3IFVpbnQ4QXJyYXkoZSx0LG4pLGE9W10sbz0wO2Zvcig7YS5sZW5ndGg8bjspbyszPG4mJjA9PT1yW29dJiYwPT09cltvKzFdJiYzPT09cltvKzJdJiYoMD09PXJbbyszXXx8MT09PXJbbyszXXx8Mj09PXJbbyszXXx8Mz09PXJbbyszXSk/KGEucHVzaChyW29dLHJbbysxXSxyW28rM10pLG8rPTQpOihhLnB1c2gocltvXSksbysrKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9ZnVuY3Rpb24gdChlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgbj1bXSxyPTA7Zm9yKDtyPHQ7KXIrMjx0JiYwPT09ZVtyXSYmMD09PWVbcisxXSYmKDA9PT1lW3IrMl18fDE9PT1lW3IrMl18fDI9PT1lW3IrMl18fDM9PT1lW3IrMl0pPyhuLnB1c2goZVtyXSxlW3IrMV0sMyxlW3IrMl0pLHIrPTMpOihuLnB1c2goZVtyXSkscisrKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9KHQpLHI9bi5sZW5ndGgsYT1NYXRoLmZsb29yKHIvMjU1KSxvPXIlMjU1LHM9bmV3IFVpbnQ4QXJyYXkoNithKzErcitlLmJ5dGVMZW5ndGgpO3NbMF09MCxzWzFdPTAsc1syXT0wLHNbM109MSxzWzRdPTYsc1s1XT0xMDE7bGV0IGk9MDtmb3IoO2k8YTspc1s2K2ldPTI1NSxpKys7cmV0dXJuIHNbNitpXT1vLGkrKyxzLnNldChuLDYraSkscy5zZXQobmV3IFVpbnQ4QXJyYXkoZSksNitpK3IpLHMuYnVmZmVyfW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiU2FmYXJpIik+LTEmJi0xPT09bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJDaHJvbWUiKSYmKHNlbGYub25ydGN0cmFuc2Zvcm09bj0+e2NvbnN0IHI9bi50cmFuc2Zvcm1lcjtsZXQgYT1bXTtyLm9wdGlvbnMucG9ydC5vbm1lc3NhZ2U9ZT0+e2UuZGF0YS5zZWkmJmEucHVzaChlLmRhdGEuc2VpKX0sc2VsZi5wb3N0TWVzc2FnZSgic3RhcnRlZCIpO2NvbnN0IG89ci5yZWFkYWJsZS5nZXRSZWFkZXIoKSxzPXIud3JpdGFibGUuZ2V0V3JpdGVyKCk7InJ4Ij09PXIub3B0aW9ucy5uYW1lP2Z1bmN0aW9uIHQobil7by5yZWFkKCkudGhlbigocj0+e2lmKCFyLmRvbmUpe2lmKHIudmFsdWUgaW5zdGFuY2VvZiBSVENFbmNvZGVkVmlkZW9GcmFtZSl7Y29uc3QgdD1mdW5jdGlvbih0KXtjb25zdCBuPW5ldyBEYXRhVmlldyh0LmRhdGEpO2xldCByPTA7Zm9yKDtyKzQ8dC5kYXRhLmJ5dGVMZW5ndGg7KXtpZigwPT09bi5nZXRVaW50OChyKzApJiYwPT09bi5nZXRVaW50OChyKzEpJiYwPT09bi5nZXRVaW50OChyKzIpJiYxPT09bi5nZXRVaW50OChyKzMpJiY2PT09bi5nZXRVaW50OChyKzQpKXtsZXQgYT1yKzYsbz0wLHM9MDtmb3IoOzI1NT09PShzPW4uZ2V0VWludDgoYSsrKSk7KW8rPTI1NTtvKz1zO2NvbnN0IGk9ZSh0LmRhdGEsYSxvKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoaSl9cisrfXJldHVybiBudWxsfShyLnZhbHVlKTt0JiZuLm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSh7c2VpOnR9KX1zLndyaXRlKHIudmFsdWUpLG4ub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKHt0cmFuc2Zvcm1lZDohMH0pLHQobil9fSkpfShyKToidHgiPT09ci5vcHRpb25zLm5hbWUmJmZ1bmN0aW9uIGUobil7by5yZWFkKCkudGhlbigocj0+e2lmKCFyLmRvbmUpe2lmKHIudmFsdWUgaW5zdGFuY2VvZiBSVENFbmNvZGVkVmlkZW9GcmFtZSl7Y29uc3QgZT1hLnNoaWZ0KCk7ZSYmKHIudmFsdWUuZGF0YT10KHIudmFsdWUuZGF0YSxlKSl9cy53cml0ZShyLnZhbHVlKSxuLm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSh7dHJhbnNmb3JtZWQ6ITB9KSxlKG4pfX0pKX0ocil9LHNlbGYucG9zdE1lc3NhZ2UoInJlZ2lzdGVyZWQiKSk7Cg==")],{type:"text/javascript"});return setTimeout((()=>iB.revokeObjectURL(e)),0),new Worker(iB.createObjectURL(e))}const m5=new Map,g5=new Map;function _Be(e,t,n){let r=new Uint8Array(e,t,n),i=[],o=0;for(;i.length<n;)o+3<n&&r[o]===0&&r[o+1]===0&&r[o+2]===3&&(r[o+3]===0||r[o+3]===1||r[o+3]===2||r[o+3]===3)?(i.push(r[o],r[o+1],r[o+3]),o+=4):(i.push(r[o]),o++);return new Uint8Array(i)}const v5=new Map;async function RBe(e,t){if(!fn().supportWebRTCEncodedTransform)return void D.warning("browser not support video encoded transform");if(v5.has(e)||!e.track)return;const n={track:e.track};if(Od()){if(!e.createEncodedStreams)return void D.warning("browser not support createEncodedStreams() API");let i=null;try{i=e.createEncodedStreams()}catch(a){return void D.error("create video-encoded-streams error",a&&a.message)}let o=[];t.on("sei-to-send",(a=>{o.push(a)}));const s=new TransformStream({transform(a,c){n.controller||(n.controller=c),e.track&&e.track.id!==n.track.id&&(D.debug("video track changed: ".concat(n.track.id," => ").concat(e.track.id)),n.track.removeEventListener("ended",r),n.track=e.track,n.track.addEventListener("ended",r));const l=o.shift();l&&(a.data=(function(u,d){const f=(function(v){const E=v.length;let b=[],S=0;for(;S<E;)S+2<E&&v[S]===0&&v[S+1]===0&&(v[S+2]===0||v[S+2]===1||v[S+2]===2||v[S+2]===3)?(b.push(v[S],v[S+1],3,v[S+2]),S+=3):(b.push(v[S]),S++);return new Uint8Array(b)})(d),h=f.length,p=Math.floor(h/255),g=h%255,m=new Uint8Array(6+p+1+h+u.byteLength);m[0]=0,m[1]=0,m[2]=0,m[3]=1,m[4]=6,m[5]=101;let y=0;for(;y<p;)m[6+y]=255,y++;return m[6+y]=g,y++,m.set(f,6+y),m.set(new Uint8Array(u),6+y+h),m.buffer})(a.data,l)),c.enqueue(a)}});i.readable.pipeThrough(s).pipeTo(i.writable)}else{if(!Ri())return;{if(typeof RTCRtpScriptTransform>"u")return void D.warning("browser not support RTCRtpScriptTransform");const i=T3(),o=new MessageChannel;await new ot((a=>i.onmessage=c=>{c.data==="registered"&&a(void 0)}));const s=new RTCRtpScriptTransform(i,{name:"tx",port:o.port2},[o.port2]);e.transform=s,await new ot((a=>i.onmessage=c=>{c.data==="started"&&a(void 0)})),t.on("sei-to-send",(a=>{o.port1.postMessage({sei:a})})),o.port1.onmessage=a=>{var c;a.data.transformed&&e.track&&((c=e.track)===null||c===void 0?void 0:c.id)!==n.track.id&&(D.debug("video track changed: ".concat(n.track.id," => ").concat(e.track.id)),n.track.removeEventListener("ended",r),n.track=e.track,n.track.addEventListener("ended",r))},n.worker=i}}function r(){if(e.track){if(this.id!==e.track.id)return;e.track.removeEventListener("ended",r)}const i=v5.get(e);if(i){v5.delete(e);try{var o,s;(o=i.controller)===null||o===void 0||o.terminate(),(s=i.worker)===null||s===void 0||s.terminate()}catch(a){D.warning(a&&a.message)}}}v5.set(e,n),e.track.addEventListener("ended",r)}const A1=new Map;(function(){const e=an();fi.getDisplayMedia=!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia),fi.getStreamFromExtension=e.name===An.CHROME&&Number(e.version)>34,fi.supportUnifiedPlan=(function(){if(!window.RTCRtpTransceiver||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;const t=new RTCPeerConnection;let n=!1;try{t.addTransceiver("audio"),n=!0}catch{}return t.close(),n})(),fi.supportMinBitrate=e.name===An.CHROME||e.name===An.EDGE,fi.supportSetRtpSenderParameters=(function(){const t=an();return!!(window.RTCRtpSender&&window.RTCRtpSender.prototype.setParameters&&window.RTCRtpSender.prototype.getParameters)&&(!!Bd()||!(!Ri()&&!w4())||t.name===An.FIREFOX&&Number(t.version)>=64)})(),e.name===An.SAFARI&&(Number(e.version)>=14?fi.supportDualStream=!0:fi.supportDualStream=!1),fi.webAudioMediaStreamDest=(function(){const t=an();return!(t.name===An.SAFARI&&Number(t.version)<12)})(),fi.supportReplaceTrack=!!window.RTCRtpSender&&typeof RTCRtpSender.prototype.replaceTrack=="function",fi.supportWebGL=typeof WebGLRenderingContext<"u",fi.supportRequestFrame=!!window.CanvasCaptureMediaStreamTrack,Bd()||(fi.webAudioWithAEC=!0),fi.supportShareAudio=(function(){const t=an();return(t.os===ii.WIN_10||t.os===ii.WIN_81||t.os===ii.WIN_7||t.os===ii.LINUX||t.os===ii.MAC_OS||t.os===ii.CHROMIUM_OS)&&t.name===An.CHROME&&Number(t.version)>=74})(),fi.supportDataChannel=!!(zA(76)||(function(t){const n=an();return!(n.name!==An.FIREFOX||!n.osVersion)&&Number(n.version)>=t})(68)||aq(14)),fi.supportPCSetConfiguration=(function(){const t=window.RTCPeerConnection;return!Er()&&!!t&&t.prototype.setConfiguration instanceof Function})(),fi.supportWebRTCEncodedTransform=(function(){const t=an();return t.name==="Chrome"&&Number(t.version)>=86||t.name==="Safari"&&Number(t.version)>=15})(),fi.supportWebRTCInsertableStream=(function(){const t=an();return(t.name===An.CHROME||t.name===An.EDGE)&&Number(t.version)>=94&&"MediaStreamTrackGenerator"in window&&"MediaStreamTrackProcessor"in window})(),fi.supportRequestVideoFrameCallback="requestVideoFrameCallback"in HTMLVideoElement.prototype,fi.supportWebCrypto=typeof window<"u"&&window.crypto!==void 0&&window.crypto.subtle!==void 0,u6((()=>{fi.supportDualStreamEncoding=(function(){const t=an();return!!he("DISABLE_WEBAUDIO")||t.name==="Safari"&&Number(t.version)>=14||!!(t.name==="Chrome"&&/Windows/i.test(t.os||"")&&Number(t.version)>=100&&he("CHROME_DUAL_STREAM_USE_ENCODING"))})(),D.info("browser compatibility",JSON.stringify(fi),JSON.stringify(e))}))})();class mf extends fr{constructor(t,n){super(),H(this,"signal",void 0),H(this,"token",void 0),H(this,"tokenTimeout",void 0),H(this,"tokenInterval",void 0),H(this,"_sequence",0),H(this,"userMap",new Map),H(this,"encoder",new TextEncoder),this.signal=t,this.token=n;const r=()=>{this.signal.connectionState===Hn.CONNECTED&&this.check(),this.userMap.size===0?this.tokenInterval=window.setTimeout(r,1e3):this.tokenInterval=window.setTimeout(r,3*he("P2P_TOKEN_INTERVAL"))};r()}async send(t,n,r,i,o){var s,a,c;if(this.userMap.size===0)return;const l=Array.from(pu(s=this.userMap).call(s))[0].token;typeof n!="string"&&(n=JSON.stringify(n)),i=(a=i)!==null&&a!==void 0?a:Wn(6,""),o=(c=o)!==null&&c!==void 0?c:this._sequence++;const u={_id:i,_type:t,_seq:o,_message:n,token:"".concat(this.token,"_").concat(l)};he("SHOW_P2P_LOG")&&D.debug("send message",u,"noNeedResponse : ".concat(r)),this.splitMessage(JSON.stringify(u)).forEach((f=>{this.signal.request(Dt.DATA_STREAM,{payload:_d(this.encoder.encode(f))})}));const d=new ot(((f,h)=>{const p=window.setTimeout((()=>{this.off("res-@".concat(i,"_ack"),g),this.off("res-@".concat(i),y),this.off(Qf.ABORT,m),D.debug("[external-signal] request timeout, type: ".concat(t,", requestId: ").concat(i)),this.userMap.size===0?h(new Be(Q.INVALID_REMOTE_USER)):h(new Be(Q.TIMEOUT))}),he("EXTERNAL_SIGNAL_REQUEST_TIMEOUT")),g=()=>{p&&window.clearTimeout(p),this.off(Qf.ABORT,m),r&&f()},m=()=>{p&&window.clearTimeout(p),this.off("res-@".concat(i,"_ack"),g),this.off("res-@".concat(i),y),h(new Be(Q.EXTERNAL_SIGNAL_ABORT,"type: ".concat(t,", requestId: ").concat(i)))};this.once(Qf.ABORT,m),this.once("res-@".concat(i,"_ack"),g);const y=(E,b)=>{v=!0,p&&window.clearTimeout(p),this.off("res-@".concat(i,"_ack"),g),this.off(Qf.ABORT,m),E==="success"?f(b):h(new Be(Q.P2P_MESSAGE_FAILED,"request ".concat(t," failed, requestId: ").concat(i)))};let v=!1;r||(this.once("res-@".concat(i),y),Ei(he("SIGNAL_REQUEST_TIMEOUT")).then((()=>{v||D.warning("external_signal request timeout, type: ".concat(t,", requestId: ").concat(i,", ").concat(u))})))}));try{return await d}catch(f){if(f.code===Q.TIMEOUT)return await this.send(t,n,r,i,o);throw f}}onMessage(t){var n;const{_uid:r}=t;let i,o=this.userMap.get(r);if(o)i=o.splitMessageMap;else{if(this.userMap.size>0||!("_type"in t)||t._type!==Cr.CHECK)return;const{token:l}=t;i=new Map,o={uid:r,isStart:!0,token:l,splitMessageMap:i,nextExpectedSequenceNumber:0,receivedMessagesMap:new Map},this.userMap.set(r,o),this.signal.emit(Kt.ON_USER_ONLINE,{uid:r}),this.handleUserOnline()}if("id"in t&&"total"in t){var s;const{id:l,total:u}=t,d=(s=i.get(l))!==null&&s!==void 0?s:[];if(d.push(t),i.has(l)||i.set(l,d),d.length!==u)return;{const f=n2(d).call(d,((h,p)=>h.index-p.index)).map((h=>h.payload)).join("");i.delete(l),(t=JSON.parse(f))._uid=r}}const{_type:a,token:c}=t;if(lt(n=[Cr.ACK,Cr.CHECK]).call(n,a))return a===Cr.CHECK&&this.handleCheckToken(o,c),void this.receiveMessage(t);c==="".concat(o.token,"_").concat(this.token)?this.handleReceivedMessage(t):D.debug('Receive unexpected message", '.concat(c,", cur_token: ").concat(o.token,"_").concat(this.token),t)}check(){const t={_id:Wn(6,""),token:this.token,_type:Cr.CHECK};he("SHOW_P2P_LOG")&&D.debug("send message",t),this.signal.request(Dt.DATA_STREAM,{payload:_d(this.encoder.encode(JSON.stringify(t)))})}ack(t){const n={_id:t,_type:Cr.ACK,token:this.token};he("SHOW_P2P_LOG")&&D.debug("send message",n),this.signal.request(Dt.DATA_STREAM,{payload:_d(this.encoder.encode(JSON.stringify(n)))})}response(t,n,r){this.send(Cr.RESPONSE,JSON.stringify({success:!r,message:n}),!0,t)}handleReceivedMessage(t){const n=()=>{this.userMap.forEach((l=>{const{receivedMessagesMap:u,nextExpectedSequenceNumber:d}=l;for(;u.has(d);){const f=u.get(d);u.delete(d),this.receiveMessage(f),l.nextExpectedSequenceNumber++}}))};if(!t)return void n();const{_uid:r,_seq:i}=t,o=this.userMap.get(r),{receivedMessagesMap:s,isStart:a,nextExpectedSequenceNumber:c}=o;if(i<c)return this.ack(t._id),void D.debug("[external-signal] receive old message, seq: ".concat(i,", ").concat(t._message));s.set(i,t),a&&i===c&&(this.receiveMessage(t),s.delete(c),o.nextExpectedSequenceNumber++,n())}receiveMessage(t){const{_id:n,_type:r,_message:i,_uid:o}=t;if(he("SHOW_P2P_LOG")&&D.debug("receive message",t),n){let s;switch(t._type!==Cr.ACK&&(i&&(s=JSON.parse(i)),this.ack(t._id)),t._type){case Cr.CANDIDATE:case Cr.CONTROL:this.signal.emit(r,s,o);break;case Cr.PUBLISH:case Cr.UNPUBLISH:case Cr.RESTART_ICE:case Cr.CALL:s.uid=o,ki(this.signal,r,s).then((a=>{this.response(t._id,a)})).catch((()=>{this.response(t._id,void 0,!0)}));break;case Cr.ACK:this.getListeners("res-@".concat(n,"_ack")).length>0&&this.emit("res-@".concat(n,"_ack"));break;case Cr.RESPONSE:{const{success:a,message:c}=s;this.emit("res-@".concat(n),a?"success":"failed",c);break}}}}splitMessage(t){if(t.length<mf.MAX_MESSAGE_SIZE)return[t];const n=[],{remoteToken:r}=JSON.parse(t),i=Wn(6,"");let o=0,s=800;const a=Math.ceil(t.length/s);for(;t.length>0;){o++;const c={id:i,index:o,total:a,payload:t.slice(0,s),token:"".concat(this.token,"_").concat(r)};JSON.stringify(c).length>mf.MAX_MESSAGE_SIZE?s-=50:(n.push(c),t=t.slice(s))}return n.map((c=>JSON.stringify(c)))}handleCheckToken(t,n){return t.token!==n?(D.debug("token changed, from ".concat(t.token," to ").concat(n)),this.reset(t.uid,n),!1):(this.tokenTimeout&&(window.clearTimeout(this.tokenTimeout),this.tokenTimeout=void 0),this.tokenTimeout=window.setTimeout((()=>{D.debug("token timeout, ".concat(n)),this.reset(t.uid)}),he("MAX_P2P_TIMEOUT")),!0)}async handleUserOnline(){const t=await ki(this.signal,Cr.CALL,void 0),n=await this.send(Cr.CALL,t);this.signal.emit(Nt.P2P_CONNECTION,n,!0)}async reset(t,n){const r=this.userMap.get(t);r&&(this.emit(Qf.ABORT),this.signal.emit(Kt.ON_USER_OFFLINE,{uid:r.uid,reason:JNe.P2P_TOKEN_CHANGED}),this._sequence=0,this.userMap.clear(),n||(D.debug("change local token from ".concat(n," to ").concat(n)),this.token=Wn(6,"")))}clear(){this._sequence=0,this.userMap.clear(),this.tokenInterval&&window.clearTimeout(this.tokenInterval),this.tokenInterval=void 0,this.tokenTimeout&&window.clearTimeout(this.tokenTimeout),this.tokenTimeout=void 0,this.emit(Qf.ABORT)}}H(mf,"MAX_SIZE",1),H(mf,"MAX_MESSAGE_SIZE",1024);class BF extends fr{get connectionState(){return this._connectionState}set connectionState(t){t!==this._connectionState&&(this._connectionState=t,t===Hn.CONNECTED?this.emit(Nt.WS_CONNECTED):t===Hn.RECONNECTING?this.emit(Nt.WS_RECONNECTING,this._websocketReconnectReason):t===Hn.CLOSED&&this.emit(Nt.WS_CLOSED,this._disconnectedReason))}get currentURLIndex(){return this.websocket.currentURLIndex}get url(){return this.websocket&&this.websocket.url||null}get rtt(){return this.rttRolling.mean()}constructor(t,n){super(),H(this,"_disconnectedReason",void 0),H(this,"_websocketReconnectReason",void 0),H(this,"_connectionState",Hn.CLOSED),H(this,"reconnectToken",void 0),H(this,"p2pToken",void 0),H(this,"websocket",void 0),H(this,"openConnectionTime",void 0),H(this,"clientId",void 0),H(this,"lastMsgTime",Date.now()),H(this,"uploadCache",[]),H(this,"uploadCacheInterval",void 0),H(this,"rttRolling",new Eq(5)),H(this,"pingpongTimer",void 0),H(this,"pingpongTimeoutCount",0),H(this,"joinResponse",void 0),H(this,"multiIpOption",void 0),H(this,"initError",void 0),H(this,"spec",void 0),H(this,"store",void 0),H(this,"_external_signal",void 0),H(this,"onWebsocketMessage",(r=>{if(r.data instanceof ArrayBuffer)return void this.emit(Nt.ON_BINARY_DATA,r.data);const i=JSON.parse(r.data);if(this.lastMsgTime=Date.now(),Object.prototype.hasOwnProperty.call(i,"_id")){const o="res-@".concat(i._id);this.emit(o,i._result,i._message)}else if(Object.prototype.hasOwnProperty.call(i,"_type")){switch(i._type){case Kt.ON_DATA_STREAM:return void this.handleDataStream(i._message);case Kt.MUTE_AUDIO:case Kt.MUTE_VIDEO:case Kt.ON_P2P_LOST:case Kt.ON_USER_ONLINE:return;case Kt.ON_USER_OFFLINE:const{uid:o}=i._message;return D.debug("[".concat(this.clientId,"] user-offline uid: ").concat(o)),void this._external_signal.reset(o)}if(this.emit(i._type,i._message),i._type===Kt.ON_NOTIFICATION&&this.handleNotification(i._message),i._type===Kt.ON_USER_BANNED)switch(i._message.error_code){case 14:this.close(Tn.UID_BANNED);break;case 15:this.close(Tn.IP_BANNED);break;case 16:this.close(Tn.CHANNEL_BANNED)}if(i._type===Kt.ON_USER_LICENSE_BANNED)switch(i._message.error_code){case Tt.ERR_LICENSE_MISSING:this.close(Tn.LICENSE_MISSING);break;case Tt.ERR_LICENSE_EXPIRED:this.close(Tn.LICENSE_EXPIRED);break;case Tt.ERR_LICENSE_MINUTES_EXCEEDED:this.close(Tn.LICENSE_MINUTES_EXCEEDED);break;case Tt.ERR_LICENSE_PERIOD_INVALID:this.close(Tn.LICENSE_PERIOD_INVALID);break;case Tt.ERR_LICENSE_MULTIPLE_SDK_SERVICE:this.close(Tn.LICENSE_MULTIPLE_SDK_SERVICE);break;case Tt.ERR_LICENSE_ILLEGAL:this.close(Tn.LICENSE_ILLEGAL);break;default:this.close()}}})),this.clientId=t.clientId,this.spec=t,this.store=n,this.websocket=new hI("gateway-".concat(this.clientId),this.spec.retryConfig,!0,he("JOIN_GATEWAY_USE_DUAL_DOMAIN"),he("JOIN_GATEWAY_USE_443PORT_ONLY"),n),this.handleWebsocketEvents(),window.addEventListener("offline",(()=>{this.connectionState===Hn.CONNECTED&&this.reconnect("retry",Oi.OFFLINE)})),this.p2pToken=Wn(6,""),this._external_signal=new mf(this,this.p2pToken)}async request(t,n,r,i){const o=Wn(6,""),s={_id:o,_type:t,_message:n},a=this.websocket.connectionID,c=()=>new ot(((p,g)=>{if(this.connectionState===Hn.CONNECTED)return p();const m=()=>{this.off(Nt.WS_CLOSED,y),p()},y=()=>{this.off(Nt.WS_CONNECTED,m),g(new Be(Q.WS_ABORT))};this.once(Nt.WS_CONNECTED,m),this.once(Nt.WS_CLOSED,y)}));if(this.connectionState!==Hn.CONNECTING&&this.connectionState!==Hn.RECONNECTING||t===Dt.JOIN||t===Dt.REJOIN||await c(),this.websocket.sendMessage(s,!0),i)return;const l=new ot(((p,g)=>{let m=!1;const y=(E,b)=>{m=!0,p({isSuccess:E==="success",message:b||{}}),this.off(Nt.WS_CLOSED,v),this.off(Nt.WS_RECONNECTING,v),this.emit(Nt.REQUEST_SUCCESS,t,n)};this.once("res-@".concat(o),y);const v=()=>{g(new Be(Q.WS_ABORT,"type: ".concat(t))),this.off(Nt.WS_CLOSED,v),this.off(Nt.WS_RECONNECTING,v),this.off("res-@".concat(o),y)};this.once(Nt.WS_CLOSED,v),this.once(Nt.WS_RECONNECTING,v),Ei(he("SIGNAL_REQUEST_TIMEOUT")).then((()=>{this.websocket.connectionID!==a||m||(D.warning("[".concat(this.clientId,"] ws request timeout, type: ").concat(t)),this.emit(Nt.REQUEST_TIMEOUT,t,n))}))}));let u=null;try{u=await l}catch(p){if(this.connectionState===Hn.CLOSED||t===Dt.LEAVE)throw new Be(Q.WS_ABORT);return!this.spec.forceWaitGatewayResponse||r?p.throw():t===Dt.JOIN||t===Dt.REJOIN?null:(await c(),await this.request(t,n))}if(u.isSuccess)return u.message;const d=Number(u.message.error_code||u.message.code),f=ug(d),h=new Be(Q.UNEXPECTED_RESPONSE,"".concat(f.desc,": ").concat(u.message.error_str),{code:d,data:u.message,desc:f.desc});return f.action==="success"?u.message:(D.warning("[".concat(this.clientId,"] [").concat(this.websocket.connectionID,"] unexpected response from type ").concat(t,", error_code: ").concat(d,", message: ").concat(f.desc,", action: ").concat(f.action)),d===Tt.ERR_TOO_MANY_BROADCASTERS?((t===Dt.JOIN||t===Dt.REJOIN)&&(this.initError=h,this.close()),h.throw()):f.action==="failed"?h.throw():f.action==="quit"?(this.initError=h,this.close(),h.throw()):(d===Tt.ERR_JOIN_BY_MULTI_IP?(this.multiIpOption=u.message.option,D.warning("[".concat(this.clientId,"] detect multi ip, recover")),this.reconnect("recover",Oi.MULTI_IP)):this.reconnect(f.action,Oi.SERVER_ERROR),t===Dt.JOIN||t===Dt.REJOIN?null:await this.request(t,n)))}waitMessage(t,n){return new ot((r=>{const i=o=>{(!n||n(o))&&(this.off(t,i),r(o))};this.on(t,i)}))}uploadWRTCStats(t){if(!this.store.sessionId)return void D.warn("[".concat(this.clientId,"] no session id when upload wrtc stats"));const n={lts:Date.now(),sid:this.store.sessionId,uid:this.store.intUid,stats:t};this.upload(lg.WRTC_STATS,n)}upload(t,n){const r={_type:t,_message:n};try{this.websocket.sendMessage(r)}catch{const o=he("MAX_UPLOAD_CACHE")||50;this.uploadCache.push(r),this.uploadCache.length>o&&this.uploadCache.splice(0,1),this.uploadCache.length>0&&!this.uploadCacheInterval&&(this.uploadCacheInterval=window.setInterval((()=>{if(this.connectionState!==Hn.CONNECTED)return;const s=this.uploadCache.splice(0,1)[0];this.uploadCache.length===0&&(window.clearInterval(this.uploadCacheInterval),this.uploadCacheInterval=void 0),this.upload(s._type,s._message)}),he("UPLOAD_CACHE_INTERVAL")||2e3))}}send(t,n){const r={_type:t,_message:n};this.websocket.sendMessage(r)}async sendExtensionMessage(t,n,r){return await this._external_signal.send(t,n,r)}init(t){return this.initError=void 0,this.multiIpOption=void 0,this.joinResponse=void 0,this.reconnectToken=void 0,this.openConnectionTime=void 0,new ot(((n,r)=>{this.once(Nt.WS_CONNECTED,(()=>n(this.joinResponse))),this.once(Nt.WS_CLOSED,(()=>r(this.initError||new Be(Q.WS_ABORT)))),this.connectionState=Hn.CONNECTING,this.websocket.init(t).catch(r)}))}close(t){this.pingpongTimer&&(this.pingpongTimeoutCount=0,window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0),this.reconnectToken=void 0,this.joinResponse=void 0,this._external_signal.clear(),this._disconnectedReason=t||Tn.LEAVE,this.connectionState=Hn.CLOSED,D.debug("[".concat(this.clientId,"] ")+"will close websocket in signal"),this.websocket.close(),this.p2pToken=Wn(6,""),this._external_signal.clear(),this._external_signal=new mf(this,this.p2pToken)}async join(){if(!this.joinResponse){this.emit(Nt.ABORT_P2P_EXECUTION);const t=await ki(this,Nt.REQUEST_JOIN_INFO),n=await this.request(Dt.JOIN,t);if(!n)return this.emit(Nt.REPORT_JOIN_GATEWAY,Q.TIMEOUT,this.url||""),!1;this.joinResponse=n,this.emit(Nt.JOIN_RESPONSE,this.joinResponse),this.reconnectToken=this.joinResponse.rejoin_token}return this.connectionState=Hn.CONNECTED,this.pingpongTimer&&window.clearInterval(this.pingpongTimer),this.pingpongTimer=window.setInterval(this.handlePingPong.bind(this),3e3),!0}reconnect(t,n){this.pingpongTimer&&(this.pingpongTimeoutCount=0,window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0),this.websocket.reconnect(t,n)}handleDataStream(t){try{var n;const r=H0(t.payload),i=new TextDecoder().decode(r),o=JSON.parse(i);"total"in o&&"id"in o||lt(n=Object.values(Cr)).call(n,o._type)?(o._uid=t.uid,this._external_signal.onMessage(o)):this.emit(Kt.ON_DATA_STREAM,t)}catch{this.emit(Kt.ON_DATA_STREAM,t)}}handleNotification(t){D.debug("[".concat(this.clientId,"] receive notification: "),t);const n=ug(t.code);if(n.action!=="success"){if(n.action!=="failed")return n.action==="quit"?(n.desc==="ERR_REPEAT_JOIN_CHANNEL"&&this.close(Tn.UID_BANNED),void this.close()):void this.reconnect(n.action,Oi.SERVER_ERROR);D.error("[".concat(this.clientId,"] ignore error: "),n.desc)}}handlePingPong(){if(!this.websocket||this.websocket.state!=="connected")return;this.pingpongTimeoutCount>0&&this.rttRolling.add(3e3),this.pingpongTimeoutCount+=1;const t=he("PING_PONG_TIME_OUT"),n=Date.now();this.pingpongTimeoutCount>=t&&(D.warning("[".concat(this.clientId,"] PINGPONG Timeout. Last Socket Message: ").concat(n-this.lastMsgTime,"ms")),n-this.lastMsgTime>he("WEBSOCKET_TIMEOUT_MIN"))?this.reconnect("retry",Oi.TIMEOUT):this.request(Dt.PING,void 0,!0).then((()=>{this.pingpongTimeoutCount=0;const r=Date.now()-n;this.rttRolling.add(r),he("REPORT_STATS")&&this.send(Dt.PING_BACK,{pingpongElapse:r})})).catch((r=>{}))}handleWebsocketEvents(){this.websocket.on(Bt.RECONNECT_WAITTING_FINISH,(t=>{this.emit(Nt.WS_RECONNECT_WAITTING_FINISH,t)})),this.websocket.on(Bt.RECONNECT_CREATE_CONNECTION,(t=>{this.emit(Nt.WS_RECONNECT_CREATE_CONNECTION,t)})),this.websocket.on(Bt.ON_MESSAGE,this.onWebsocketMessage),this.websocket.on(Bt.CLOSED,(()=>{this.connectionState=Hn.CLOSED})),this.websocket.on(Bt.FAILED,(()=>{this._disconnectedReason=Tn.NETWORK_ERROR,this.connectionState=Hn.CLOSED})),this.websocket.on(Bt.RECONNECTING,(t=>{this._websocketReconnectReason=t,this.joinResponse=void 0,this.connectionState===Hn.CONNECTED?this.connectionState=Hn.RECONNECTING:this.connectionState=Hn.CONNECTING})),this.websocket.on(Bt.WILL_RECONNECT,((t,n,r)=>{t!=="retry"?(D.debug("".concat(this.clientId," websocket will_connect event, renewSession reconnectMode is ").concat(t)),this.reconnectToken=void 0):D.debug("".concat(this.clientId," reconnect mode is retry, no need to renew session")),r(t)})),this.websocket.on(Bt.CONNECTED,(()=>{this.openConnectionTime=Date.now(),this.join().catch((t=>{if(this.emit(Nt.REPORT_JOIN_GATEWAY,t,this.url||""),t instanceof Be&&t.code===Q.UNEXPECTED_RESPONSE&&t.data.code===Tt.ERR_NO_AUTHORIZED)return D.warning("[".concat(this.clientId,"] reconnect no authorized, recover")),void this.reconnect("recover",Oi.SERVER_ERROR);D.error("[".concat(this.clientId,"] join gateway request failed"),t.toString()),this.spec.forceWaitGatewayResponse?this.reconnect("tryNext",Oi.SERVER_ERROR):(this.initError=t,this.close())}))})),this.websocket.on(Bt.REQUEST_NEW_URLS,((t,n)=>{ki(this,Nt.REQUEST_RECOVER,this.multiIpOption).then(t).catch(n)})),this.websocket.on(Bt.ON_TOKEN_PRIVILEGE_DID_EXPIRE,(()=>{this.emit(Kt.ON_TOKEN_PRIVILEGE_DID_EXPIRE)}))}}var a$={exports:{}};a$.exports=(()=>{var e={8:(r,i,o)=>{o.r(i),o.d(i,{Parser:()=>I,Printer:()=>W,parse:()=>B,print:()=>q});const s=`
`,a="".concat("\r").concat(s),c=" ";let l;function u(z){return z>="0"&&z<="9"}function d(z){return z>="!"&&z<="~"}function f(z){return d(z)||z>="€"&&z<="ÿ"}function h(z){return z==="!"||z>="#"&&z<="'"||z>="*"&&z<="+"||z>="-"&&z<="."||z>="0"&&z<="9"||z>="A"&&z<="Z"||z>="^"&&z<="~"}function p(z){return z>="1"&&z<="9"}function g(z){return z>="A"&&z<="Z"||z>="a"&&z<="z"}function m(z){return z==="d"||z==="h"||z==="m"||z==="s"}function y(z){return z>""&&z<" "||z>"\v"&&z<"\f"||z>""&&z<"ÿ"}function v(z){return g(z)||u(z)||z==="+"||z==="/"}function E(z){return u(z)||g(z)||z==="+"||z==="/"||z==="-"||z==="_"}function b(z){return g(z)||u(z)||z==="+"||z==="/"}function S(z,A){var T=Object.keys(z);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(z);A&&(k=k.filter((function(j){return Object.getOwnPropertyDescriptor(z,j).enumerable}))),T.push.apply(T,k)}return T}function w(z){for(var A=1;A<arguments.length;A++){var T=arguments[A]!=null?arguments[A]:{};A%2?S(Object(T),!0).forEach((function(k){C(z,k,T[k])})):Object.getOwnPropertyDescriptors?Object.defineProperties(z,Object.getOwnPropertyDescriptors(T)):S(Object(T)).forEach((function(k){Object.defineProperty(z,k,Object.getOwnPropertyDescriptor(T,k))}))}return z}function C(z,A,T){return A in z?Object.defineProperty(z,A,{value:T,enumerable:!0,configurable:!0,writable:!0}):z[A]=T,z}(function(z){z.VERSION="v",z.ORIGIN="o",z.SESSION_NAME="s",z.INFORMATION="i",z.URI="u",z.EMAIL="e",z.PHONE="p",z.CONNECTION="c",z.BANDWIDTH="b",z.TIME="t",z.REPEAT="r",z.ZONE_ADJUSTMENTS="z",z.KEY="k",z.ATTRIBUTE="a",z.MEDIA="m"})(l||(l={}));class _{consumeText(A,T){let k=T;for(;k<A.length;){const j=A[k];if(j==="\0"||j==="\r"||j===s)break;k+=1}if(k-T==0)throw new Error("Invalid text, at ".concat(A));return k}consumeUnicastAddress(A,T,k){return this.consumeTill(A,T,c)}consumeOneOrMore(A,T,k){let j=T;for(;k(A[j]);)j++;if(j-T==0)throw new Error("Invalid rule at ".concat(T,"."));return j}consumeSpace(A,T){if(A[T]===c)return T+1;throw new Error("Invalid space at ".concat(T,"."))}consumeIP4Address(A,T){let k=T;for(let j=0;j<4;j++)if(k=this.consumeDecimalUChar(A,k),j!==3){if(A[k]!==".")throw new Error("Invalid IP4 address.");k++}return k}consumeDecimalUChar(A,T){let k=T;for(let re=0;re<3&&u(A[k]);re++,k++);if(k-T==0)throw new Error("Invalid decimal uchar.");const j=parseInt(A.slice(T,k));if(j>=0&&j<=255)return k;throw new Error("Invalid decimal uchar")}consumeIP6Address(A,T){let k=this.consumeHexpart(A,T);return A[k]===":"&&(k+=1,k=this.consumeIP4Address(A,k)),k}consumeHexpart(A,T){let k=T;if(A[k]===":"&&A[k+1]===":"){k+=2;try{k=this.consumeHexseq(A,k)}catch{}return k}if(k=this.consumeHexseq(A,k),A[k]===":"&&A[k+1]===":"){k+=2;try{k=this.consumeHexseq(A,k)}catch{}return k}return k}consumeHexseq(A,T){let k=T;for(;k=this.consumeHex4(A,k),A[k]===":"&&A[k+1]!==":";)k+=1;return k}consumeHex4(A,T){let k=0;for(;k<4;k++)if(!((j=A[T+k])>="0"&&j<="9"||j>="a"&&j<="f"||j>="A"&&j<="F")){if(k===0)throw new Error("Invalid hex 4");break}var j;return T+k}consumeFQDN(A,T){let k=T;for(;u(A[k])||g(A[k])||A[k]==="-"||A[k]===".";)k+=1;if(k-T<4)throw new Error("Invalid FQDN");return k}consumeExtnAddr(A,T){return this.consumeOneOrMore(A,T,f)}consumeMulticastAddress(A,T,k){switch(k){case"IP4":case"ip4":return this.consumeIP4MulticastAddress(A,T);case"IP6":case"ip6":return this.consumeIP6MulticastAddress(A,T);default:try{return this.consumeFQDN(A,T)}catch{return this.consumeExtnAddr(A,T)}}}consumeIP6MulticastAddress(A,T){const k=this.consumeHexpart(A,T);return A[k]==="/"?this.consumeInteger(A,k+1):k}consumeIP4MulticastAddress(A,T){let k=T+3;const j=A.slice(T,k),re=parseInt(j);if(re<224||re>239)throw new Error("Invalid IP4 multicast address, IPv4 multicast addresses may be in the range 224.0.0.0 to 239.255.255.255.");for(let me=0;me<3;me++){if(A[k]!==".")throw new Error("Invalid IP4 multicast address.");k+=1,k=this.consumeDecimalUChar(A,k)}return A[k]==="/"&&(k+=1),k=this.consumeTTL(A,k),A[k]==="/"&&(k=this.consumeInteger(A,k)),k}consumeInteger(A,T){if(!p(A[T]))throw new Error("Invalid integer.");for(T+=1;u(A[T]);)T+=1;return T}consumeTTL(A,T){if(A[T]==="0")return T+1;if(!p(A[T]))throw new Error("Invalid TTL.");T+=1;for(let k=0;k<2&&u(A[T]);k++)T+=1;return T}consumeToken(A,T){return this.consumeOneOrMore(A,T,h)}consumeTime(A,T){let k=T;if(A[k]==="0")return k+1;for(p(A[k])&&(k+=1);u(A[k]);)k++;if(k-T<10)throw new Error("Invalid time");return k}consumeAddress(A,T){return this.consumeTill(A,T,c)}consumeTypedTime(A,T){let k=T;return k=this.consumeOneOrMore(A,k,u),m(A[k])?k+1:k}consumeRepeatInterval(A,T){if(!p(A[T]))throw new Error("Invalid repeat interval");for(T+=1;u(A[T]);)T+=1;return m(A[T])&&(T+=1),T}consumePort(A,T){return this.consumeOneOrMore(A,T,u)}consume(A,T,k){for(let j=0;j<k.length;j++){if(T+j>=A.length)throw new Error("consume exceeding value length");if(A[T+j]!==k[j])throw new Error("consume ".concat(k," failed at ").concat(j))}return T+k.length}consumeTill(A,T,k){let j=T;for(;j<A.length&&(typeof k!="string"||A[j]!==k)&&(typeof k!="function"||!k(A[j]));)j++;return j}}class I extends _{constructor(){super(),C(this,"records",[]),C(this,"currentLine",0)}parse(A){const T=this.probeEOL(A);this.records=A.split(T).filter((ce=>!!ao(ce).call(ce))).map(this.parseLine),this.currentLine=0;const k=this.parseVersion(),j=this.parseOrigin(),re=this.parseSessionName(),me=this.parseInformation(),te=this.parseUri(),X=this.parseEmail(),fe=this.parsePhone(),le=this.parseConnection(),ve=this.parseBandWidth(),Z=this.parseTimeFields(),ae=this.parseKey(),pe=this.parseSessionAttribute(),K=this.parseMediaDescription();if(this.currentLine!==this.records.length)throw new Error("parsing failed, non exhaustive sdp lines.");return{version:k,origin:j,sessionName:re,information:me,uri:te,emails:X,phones:fe,connection:le,bandwidths:ve,timeFields:Z,key:ae,attributes:pe,mediaDescriptions:K}}getCurrentRecord(){const A=this.records[this.currentLine];if(!A)throw new Error("Record doesn't exit.");return A}probeEOL(A){for(let T=0;T<A.length;T++)if(A[T]===s)return A[T-1]==="\r"?a:s;throw new Error("Invalid newline character.")}parseLine(A,T){if(A.length<2)throw new Error("Invalid sdp line, sdp line should be of form <type>=<value>.");const k=A[0];if(A[1]!=="=")throw new Error('Invalid sdp line, <type> should be a single character followed by an "=" sign.');return{type:k,value:A.slice(2),line:T,cur:0}}parseSessionAttribute(){const A=new L;for(;this.currentLine<this.records.length;){const T=this.getCurrentRecord();if(T.type!==l.ATTRIBUTE)break;const k={attField:this.extractOneOrMore(T,(j=>h(j)&&j!==":")),_cur:0};T.value[T.cur]===":"&&(T.cur+=1,k.attValue=this.extractOneOrMore(T,y)),A.parse(k),this.currentLine++}return A.digest()}parseMediaAttributes(A){const T=new R(A);for(;this.currentLine<this.records.length;){const k=this.getCurrentRecord();if(k.type!==l.ATTRIBUTE)break;const j={attField:this.extractOneOrMore(k,(re=>h(re)&&re!==":")),_cur:0};k.value[k.cur]===":"&&(k.cur+=1,j.attValue=this.extractOneOrMore(k,y)),T.parse(j),this.currentLine++}return T.digest()}parseKey(){const A=this.getCurrentRecord();if(A.type===l.KEY){if(A.value==="prompt"||A.value==="clear:"||A.value==="base64:"||A.value==="uri:")return A.value;throw this.currentLine++,new Error("Invalid key.")}}parseZone(){const A=this.getCurrentRecord();if(A.type===l.ZONE_ADJUSTMENTS){const T=[];for(;;)try{const k=this.extract(A,this.consumeTime);this.consumeSpaceForRecord(A);let j=!1;A.value[A.cur]==="-"&&(j=!0,A.cur+=1);const re=this.extract(A,this.consumeTypedTime);T.push({time:k,typedTime:re,back:j})}catch{break}if(T.length===0)throw new Error("Invalid zone adjustments");return this.currentLine++,T}return[]}parseRepeat(){const A=[];for(;;){const T=this.getCurrentRecord();if(T.type!==l.REPEAT)break;{const k=this.extract(T,this.consumeRepeatInterval),j=this.parseTypedTime(T);A.push({repeatInterval:k,typedTimes:j}),this.currentLine++}}return A}parseTypedTime(A){const T=[];for(;;)try{this.consumeSpaceForRecord(A),T.push(this.extract(A,this.consumeTypedTime))}catch{break}if(T.length===0)throw new Error("Invalid typed time.");return T}parseTime(){const A=this.getCurrentRecord(),T=this.extract(A,this.consumeTime);this.consumeSpaceForRecord(A);const k=this.extract(A,this.consumeTime);return this.currentLine++,{startTime:T,stopTime:k}}parseBandWidth(){const A=[];for(;this.currentLine<this.records.length;){const T=this.getCurrentRecord();if(T.type!==l.BANDWIDTH)break;{const k=this.extractOneOrMore(T,h);if(T.value[T.cur]!==":")throw new Error("Invalid bandwidth field.");T.cur++;const j=this.extractOneOrMore(T,u);A.push({bwtype:k,bandwidth:j}),this.currentLine++}}return A}parseVersion(){const A=this.getCurrentRecord();if(A.type!==l.VERSION)throw new Error("first sdp record must be version");const T=A.value.slice(0,this.consumeOneOrMore(A.value,0,u));if(T.length!==A.value.length)throw new Error('invalid proto version, "v='.concat(A.value,'"'));return this.currentLine++,T}parseOrigin(){const A=this.getCurrentRecord();if(A.type!==l.ORIGIN)throw new Error("second line of sdp must be origin");const T=this.extractOneOrMore(A,f);this.consumeSpaceForRecord(A);const k=this.extractOneOrMore(A,u);this.consumeSpaceForRecord(A);const j=this.extractOneOrMore(A,u);this.consumeSpaceForRecord(A);const re=this.extractOneOrMore(A,h);this.consumeSpaceForRecord(A);const me=this.extractOneOrMore(A,h);this.consumeSpaceForRecord(A);const te=this.extract(A,this.consumeUnicastAddress);return this.currentLine++,{username:T,sessId:k,sessVersion:j,nettype:re,addrtype:me,unicastAddress:te}}parseSessionName(){const A=this.getCurrentRecord();if(A.type===l.SESSION_NAME){const T=this.extract(A,this.consumeText);return this.currentLine++,T}}parseInformation(){const A=this.getCurrentRecord();if(A.type!==l.INFORMATION)return;const T=this.extract(A,this.consumeText);return this.currentLine++,T}parseUri(){const A=this.getCurrentRecord();if(A.type===l.URI)return this.currentLine++,A.value}parseEmail(){const A=[];for(;;){const T=this.getCurrentRecord();if(T.type!==l.EMAIL)break;A.push(T.value),this.currentLine++}return A}parsePhone(){const A=[];for(;;){const T=this.getCurrentRecord();if(T.type!==l.PHONE)break;A.push(T.value),this.currentLine++}return A}parseConnection(){const A=this.getCurrentRecord();if(A.type===l.CONNECTION){const T=this.extractOneOrMore(A,h);this.consumeSpaceForRecord(A);const k=this.extractOneOrMore(A,h);this.consumeSpaceForRecord(A);const j=this.extract(A,this.consumeAddress);return this.currentLine++,{nettype:T,addrtype:k,address:j}}}parseMedia(){const A=this.getCurrentRecord(),T=this.extract(A,this.consumeToken);this.consumeSpaceForRecord(A);let k=this.extract(A,this.consumePort);A.value[A.cur]==="/"&&(A.cur+=1,k+=this.extract(A,this.consumeInteger)),this.consumeSpaceForRecord(A);const j=[];for(j.push(this.extract(A,this.consumeToken));A.value[A.cur]==="/";)A.cur+=1,j.push(this.extract(A,this.consumeToken));if(j.length===0)throw new Error("Invalid proto");const re=this.parseFmt(A);return this.currentLine++,{mediaType:T,port:k,protos:j,fmts:re}}parseTimeFields(){const A=[];for(;this.getCurrentRecord().type===l.TIME;){const T=this.parseTime(),k=this.parseRepeat(),j=this.parseZone();A.push({time:T,repeats:k,zones:j})}return A}parseMediaDescription(){const A=[];for(;this.currentLine<this.records.length&&this.getCurrentRecord().type===l.MEDIA;){const T=this.parseMedia(),k=this.parseInformation(),j=this.parseConnections(),re=this.parseBandWidth(),me=this.parseKey(),te=this.parseMediaAttributes(T);A.push({media:T,information:k,connections:j,bandwidths:re,key:me,attributes:te})}return A}parseConnections(){const A=[];for(;this.currentLine<this.records.length&&this.getCurrentRecord().type===l.CONNECTION;)A.push(this.parseConnection());return A}parseFmt(A){const T=[];for(;;)try{this.consumeSpaceForRecord(A),T.push(this.extract(A,this.consumeToken))}catch{break}if(T.length===0)throw new Error("Invalid fmts");return T}extract(A,T){for(var k=arguments.length,j=new Array(k>2?k-2:0),re=2;re<k;re++)j[re-2]=arguments[re];const me=T.call(this,A.value,A.cur,...j),te=A.value.slice(A.cur,me);return A.cur=me,te}extractOneOrMore(A,T){const k=this.consumeOneOrMore(A.value,A.cur,T),j=A.value.slice(A.cur,k);return A.cur=k,j}consumeSpaceForRecord(A){if(A.value[A.cur]!==c)throw new Error("Invalid space at ".concat(A.cur,"."));A.cur+=1}}class O extends _{constructor(){super(...arguments),C(this,"attributes",void 0),C(this,"digested",!1)}extractOneOrMore(A,T,k){const j=this.consumeOneOrMore(A.attValue,A._cur,T),re=A.attValue.slice(A._cur,j),[me,te]=k||[];if(typeof me=="number"&&re.length<me)throw new Error("error in length, should be more or equal than ".concat(me," characters."));if(typeof te=="number"&&re.length>te)throw new Error("error in length, should be less or equal than ".concat(te," characters."));return A._cur=j,re}consumeAttributeSpace(A){if(A.attValue[A._cur]!==c)throw new Error("Invalid space at ".concat(A._cur,"."));A._cur+=1}extract(A,T){if(!A.attValue)throw new Error("Nothing to extract from attValue.");for(var k=arguments.length,j=new Array(k>2?k-2:0),re=2;re<k;re++)j[re-2]=arguments[re];const me=T.call(this,A.attValue,A._cur,...j),te=A.attValue.slice(A._cur,me);return A._cur=me,te}atEnd(A){if(!A.attValue)throw new Error;return A._cur>=A.attValue.length}peekChar(A){if(!A.attValue)throw new Error;return A.attValue[A._cur]}peek(A,T){if(!A.attValue)throw new Error;for(let k=0;k<T.length;k++)if(T[k]!==A.attValue[A._cur+k])return!1;return!0}parseIceUfrag(A){if(this.attributes.iceUfrag)throw new Error("Invalid ice-ufrag, should be only a single line if 'a=ice-ufrag'");this.attributes.iceUfrag=this.extractOneOrMore(A,v,[4,256])}parseIcePwd(A){if(this.attributes.icePwd)throw new Error("Invalid ice-pwd, should be only a single line if 'a=ice-pwd'");this.attributes.icePwd=this.extractOneOrMore(A,v,[22,256])}parseIceOptions(A){if(this.attributes.iceOptions)throw new Error("Invalid ice-options, should be only one 'ice-options' line");const T=[];for(;!this.atEnd(A);){T.push(this.extractOneOrMore(A,v));try{this.consumeAttributeSpace(A)}catch(k){if(this.atEnd(A))break;throw k}}this.attributes.iceOptions=T}parseFingerprint(A){const T=this.extract(A,this.consumeToken);this.consumeAttributeSpace(A);const k=this.extract(A,this.consumeTill);this.attributes.fingerprints.push({hashFunction:T,fingerprint:k})}parseExtmap(A){const T=this.extractOneOrMore(A,u);let k;this.peekChar(A)==="/"&&(this.extract(A,this.consume,"/"),k=this.extract(A,this.consumeToken)),this.consumeAttributeSpace(A);const j=this.extract(A,this.consumeTill,c),re=w(w({entry:parseInt(T,10)},k&&{direction:k}),{},{extensionName:j});this.peekChar(A)===c&&(this.consumeAttributeSpace(A),re.extensionAttributes=this.extract(A,this.consumeTill)),this.attributes.extmaps.push(re)}parseSetup(A){if(this.attributes.setup)throw new Error("must only be one single 'a=setup' line.");const T=this.extract(A,this.consumeTill);if(T!=="active"&&T!=="passive"&&T!=="actpass"&&T!=="holdconn")throw new Error("role must be one of 'active', 'passive', 'actpass', 'holdconn'.");this.attributes.setup=T}}class L extends O{constructor(){super(...arguments),C(this,"attributes",{unrecognized:[],groups:[],extmaps:[],fingerprints:[],identities:[]})}parse(A){if(this.digested)throw new Error("already digested");try{switch(A.attField){case"group":this.parseGroup(A);break;case"ice-lite":this.parseIceLite();break;case"ice-ufrag":this.parseIceUfrag(A);break;case"ice-pwd":this.parseIcePwd(A);break;case"ice-options":this.parseIceOptions(A);break;case"fingerprint":this.parseFingerprint(A);break;case"setup":this.parseSetup(A);break;case"tls-id":this.parseTlsId(A);break;case"identity":this.parseIdentity(A);break;case"extmap":this.parseExtmap(A);break;case"msid-semantic":this.parseMsidSemantic(A);break;default:A.ignored=!0,this.attributes.unrecognized.push(A)}}catch(T){throw console.error("parsing session attribute ".concat(A.attField,' error, "a=').concat(A.attField,":").concat(A.attValue,'"')),T}if(!A.ignored&&A.attValue&&!this.atEnd(A))throw new Error("attribute parsing error")}digest(){return this.digested=!0,this.attributes}parseGroup(A){const T=this.extract(A,this.consumeToken),k=[];for(;!this.atEnd(A)&&this.peekChar(A)===c;)this.consumeAttributeSpace(A),k.push(this.extract(A,this.consumeToken));this.attributes.groups.push({semantic:T,identificationTag:k})}parseIceLite(){if(this.attributes.iceLite)throw new Error("Invalid ice-lite, should be only a single line of 'a=ice-lite'");this.attributes.iceLite=!0}parseTlsId(A){if(this.attributes.tlsId)throw new Error("must be only one tld-id line");this.attributes.tlsId=this.extractOneOrMore(A,E)}parseIdentity(A){const T=this.extractOneOrMore(A,b),k=[];for(;!this.atEnd(A)&&this.peekChar(A)===c;){this.consumeAttributeSpace(A);const j=this.extract(A,this.consumeToken);this.extract(A,this.consume,"=");const re=this.extractOneOrMore(A,(me=>me!==c&&y(me)));k.push({name:j,value:re})}this.attributes.identities.push({assertionValue:T,extensions:k})}parseMsidSemantic(A){this.peekChar(A)===c&&this.consumeAttributeSpace(A);const T={semantic:this.extract(A,this.consumeToken),identifierList:[]};for(;;){try{this.consumeAttributeSpace(A)}catch{break}if(this.peekChar(A)==="*"){this.extract(A,this.consume,"*"),T.applyForAll=!0;break}{const k=this.extract(A,this.consumeTill,c);T.identifierList.push(k)}}this.attributes.msidSemantic=T}}class R extends O{constructor(A){super(),C(this,"attributes",void 0),A.protos.indexOf("RTP")!==-1||A.protos.indexOf("rtp"),this.attributes={unrecognized:[],candidates:[],extmaps:[],fingerprints:[],imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:[],ssrcGroups:[],rtcpFeedbackWildcards:[],payloads:[]}}parse(A){if(this.digested)throw new Error("already digested");try{switch(A.attField){case"extmap":this.parseExtmap(A);break;case"setup":this.parseSetup(A);break;case"ice-ufrag":this.parseIceUfrag(A);break;case"ice-pwd":this.parseIcePwd(A);break;case"ice-options":this.parseIceOptions(A);break;case"candidate":this.parseCandidate(A);break;case"remote-candidate":this.parseRemoteCandidate(A);break;case"end-of-candidates":this.parseEndOfCandidates();break;case"fingerprint":this.parseFingerprint(A);break;case"rtpmap":this.parseRtpmap(A);break;case"ptime":this.parsePtime(A);break;case"maxptime":this.parseMaxPtime(A);break;case"sendrecv":case"recvonly":case"sendonly":case"inactive":this.parseDirection(A);break;case"ssrc":this.parseSSRC(A);break;case"fmtp":this.parseFmtp(A);break;case"rtcp-fb":this.parseRtcpFb(A);break;case"rtcp-mux":this.parseRTCPMux();break;case"rtcp-mux-only":this.parseRTCPMuxOnly();break;case"rtcp-rsize":this.parseRTCPRsize();break;case"rtcp":this.parseRTCP(A);break;case"mid":this.parseMid(A);break;case"msid":this.parseMsid(A);break;case"imageattr":this.parseImageAttr(A);break;case"rid":this.parseRid(A);break;case"simulcast":this.parseSimulcast(A);break;case"sctp-port":this.parseSctpPort(A);break;case"max-message-size":this.parseMaxMessageSize(A);break;case"ssrc-group":this.parseSSRCGroup(A);break;default:A.ignored=!0,this.attributes.unrecognized.push(A)}}catch(T){throw console.error("parsing media attribute ".concat(A.attField,' error, "a=').concat(A.attField,":").concat(A.attValue,'"')),T}if(!A.ignored&&A.attValue&&!this.atEnd(A))throw new Error("attribute parsing error")}parseCandidate(A){const T=this.extractOneOrMore(A,v,[1,32]);this.consumeAttributeSpace(A);const k=this.extractOneOrMore(A,u,[1,5]);this.consumeAttributeSpace(A);const j=this.extract(A,this.consumeToken);this.consumeAttributeSpace(A);const re=this.extractOneOrMore(A,u,[1,10]);this.consumeAttributeSpace(A);const me=this.extract(A,this.consumeAddress);this.consumeAttributeSpace(A);const te=this.extract(A,this.consumePort);this.consumeAttributeSpace(A),this.extract(A,this.consume,"typ"),this.consumeAttributeSpace(A);const X={foundation:T,componentId:k,transport:j,priority:re,connectionAddress:me,port:te,type:this.extract(A,this.consumeToken),extension:{}};for(this.peek(A," raddr")&&(this.extract(A,this.consume," raddr"),this.consumeAttributeSpace(A),X.relAddr=this.extract(A,this.consumeAddress)),this.peek(A," rport")&&(this.extract(A,this.consume," rport"),this.consumeAttributeSpace(A),X.relPort=this.extract(A,this.consumePort));this.peekChar(A)===c;){this.consumeAttributeSpace(A);const fe=this.extract(A,this.consumeToken);this.consumeAttributeSpace(A),X.extension[fe]=this.extractOneOrMore(A,d)}this.attributes.candidates.push(X)}parseRemoteCandidate(A){const T=[];for(;;){const k=this.extractOneOrMore(A,u,[1,5]);this.consumeAttributeSpace(A);const j=this.extract(A,this.consumeAddress);this.consumeAttributeSpace(A);const re=this.extract(A,this.consumePort);T.push({componentId:k,connectionAddress:j,port:re});try{this.consumeAttributeSpace(A)}catch{break}}this.attributes.remoteCandidatesList.push(T)}parseEndOfCandidates(){if(this.attributes.endOfCandidates)throw new Error("must be only one line of end-of-candidates");this.attributes.endOfCandidates=!0}parseRtpmap(A){const T=this.extract(A,this.consumeToken);this.consumeAttributeSpace(A);const k=this.extract(A,this.consumeTill,"/");this.extract(A,this.consume,"/");const j={encodingName:k,clockRate:this.extractOneOrMore(A,u)};this.atEnd(A)||this.peekChar(A)!=="/"||(this.extract(A,this.consume,"/"),j.encodingParameters=parseInt(this.extract(A,this.consumeTill),10));const re=this.attributes.payloads.find((me=>me.payloadType===parseInt(T,10)));re?re.rtpMap=j:this.attributes.payloads.push({payloadType:parseInt(T,10),rtpMap:j,rtcpFeedbacks:[]})}parsePtime(A){if(this.attributes.ptime)throw new Error("must be only one line of ptime");this.attributes.ptime=this.extract(A,this.consumeTill)}parseMaxPtime(A){if(this.attributes.maxPtime)throw new Error("must be only one line of ptime");this.attributes.maxPtime=this.extract(A,this.consumeTill)}parseDirection(A){if(this.attributes.direction)throw new Error("must be only one line of direction info");this.attributes.direction=A.attField}parseSSRC(A){const T=this.extractOneOrMore(A,u);this.consumeAttributeSpace(A);const k=this.extract(A,this.consumeTill,":");let j;this.peekChar(A)===":"&&(this.extract(A,this.consume,":"),j=this.extract(A,this.consumeTill));const re=this.attributes.ssrcs.find((me=>me.ssrcId===parseInt(T,10)));re?re.attributes[k]=j:this.attributes.ssrcs.push({ssrcId:parseInt(T,10),attributes:{[k]:j}})}parseFmtp(A){const T=this.extract(A,this.consumeTill,c);this.consumeAttributeSpace(A);const k=this.extract(A,this.consumeTill),j={};k.split(";").forEach((me=>{let[te,X]=me.split("=");te=ao(te).call(te);const fe=typeof X=="string"?ao(X).call(X):null;typeof te=="string"&&te.length>0&&(j[te]=fe)}));const re=this.attributes.payloads.find((me=>me.payloadType===parseInt(T,10)));re?re.fmtp={parameters:j}:this.attributes.payloads.push({payloadType:parseInt(T,10),rtcpFeedbacks:[],fmtp:{parameters:j}})}parseFmtParameters(A){const T={},k=this.extract(A,this.consumeTill,"=");A._cur++;const j=this.extract(A,this.consumeTill,";");for(T[k]=j;A.attValue[A._cur]===";";){const re=this.extract(A,this.consumeTill,"=");A._cur++;const me=this.extract(A,this.consumeTill,";");T[re]=me}return T}parseRtcpFb(A){let T="";T=this.peekChar(A)==="*"?this.extract(A,this.consume,"*"):this.extract(A,this.consumeTill,c),this.consumeAttributeSpace(A);const k=this.extract(A,this.consumeTill,c);let j;if(k==="trr-int")j={type:k,interval:this.extract(A,this.consumeTill)};else{const re={type:k};this.peekChar(A)===c&&(this.consumeAttributeSpace(A),re.parameter=this.extract(A,this.consumeToken),this.peekChar(A)===c&&(re.additional=this.extract(A,this.consumeTill))),j=re}if(T==="*")this.attributes.rtcpFeedbackWildcards.push(j);else{const re=this.attributes.payloads.find((me=>me.payloadType===parseInt(T,10)));re?re.rtcpFeedbacks.push(j):this.attributes.payloads.push({payloadType:parseInt(T,10),rtcpFeedbacks:[j]})}}parseRTCPMux(){if(this.attributes.rtcpMux)throw new Error("must be single line of rtcp-mux");this.attributes.rtcpMux=!0}parseRTCPMuxOnly(){if(this.attributes.rtcpMuxOnly)throw new Error("must be single line of rtcp-only");this.attributes.rtcpMuxOnly=!0}parseRTCPRsize(){if(this.attributes.rtcpRsize)throw new Error("must be single line of rtcp-rsize");this.attributes.rtcpRsize=!0}parseRTCP(A){if(this.attributes.rtcp)throw new Error("must be single line of rtcp");const T={port:this.extract(A,this.consumePort)};this.peekChar(A)===c&&(this.consumeAttributeSpace(A),T.netType=this.extractOneOrMore(A,h),this.consumeAttributeSpace(A),T.addressType=this.extractOneOrMore(A,h),this.consumeAttributeSpace(A),T.address=this.extract(A,this.consumeAddress)),this.attributes.rtcp=T}parseMsid(A){const T={id:this.extractOneOrMore(A,h,[1,64])};this.peekChar(A)===c&&(this.consumeAttributeSpace(A),T.appdata=this.extractOneOrMore(A,h,[1,64])),this.attributes.msids.push(T)}parseImageAttr(A){this.attributes.imageattr.push(A.attValue)}parseRid(A){const T=this.extractOneOrMore(A,(j=>g(j)||u(j)||j==="_"||j==="-"));this.consumeAttributeSpace(A);const k={id:T,direction:this.extract(A,this.consumeToken),params:[]};if(this.peekChar(A)===c){if(this.consumeAttributeSpace(A),this.peek(A,"pt=")){this.extract(A,this.consume,"pt=");const j=[];for(;;){const re=this.extract(A,this.consumeToken);j.push(re);try{this.extract(A,this.consume,",")}catch{break}}k.payloads=j,this.peekChar(A)===c&&this.extract(A,this.consume,c)}for(;;){const j=this.extract(A,this.consumeToken);switch(j){case"depend":{const re={type:j,rids:this.extract(A,this.consume,"=").split(",")};k.params.push(re);break}default:{const re={type:j};this.peekChar(A)==="="&&(this.extract(A,this.consume,"="),re.val=this.extract(A,this.consumeTill,";")),k.params.push(re)}}try{this.extract(A,this.consume,";")}catch{break}}}this.attributes.rids.push(k)}parseSimulcast(A){if(this.attributes.simulcast)throw new Error("must be single line of simulcast");this.attributes.simulcast=A.attValue,this.extract(A,this.consumeTill)}parseSctpPort(A){this.attributes.sctpPort=this.extractOneOrMore(A,u,[1,5])}parseMaxMessageSize(A){this.attributes.maxMessageSize=this.extractOneOrMore(A,u,[1,void 0])}digest(){return this.digested=!0,this.attributes}parseMid(A){this.attributes.mid=this.extract(A,this.consumeToken)}parseSSRCGroup(A){const T=this.extract(A,this.consumeToken),k=[];for(;;)try{this.consumeAttributeSpace(A);const j=this.extract(A,this.consumeInteger);k.push(parseInt(j,10))}catch{break}this.attributes.ssrcGroups.push({semantic:T,ssrcIds:k})}}function F(z,A,T){return A in z?Object.defineProperty(z,A,{value:T,enumerable:!0,configurable:!0,writable:!0}):z[A]=T,z}class W{constructor(){F(this,"eol",a)}print(A,T){let k="";return T&&(this.eol=T),k+=this.printVersion(A.version),k+=this.printOrigin(A.origin),k+=this.printSessionName(A.sessionName),k+=this.printInformation(A.information),k+=this.printUri(A.uri),k+=this.printEmail(A.emails),k+=this.printPhone(A.phones),k+=this.printConnection(A.connection),k+=this.printBandwidth(A.bandwidths),k+=this.printTimeFields(A.timeFields),k+=this.printKey(A.key),k+=this.printSessionAttributes(A.attributes),k+=this.printMediaDescription(A.mediaDescriptions),k}printVersion(A){return"v=".concat(A).concat(this.eol)}printOrigin(A){return"o=".concat(A.username," ").concat(A.sessId," ").concat(A.sessVersion," ").concat(A.nettype," ").concat(A.addrtype," ").concat(A.unicastAddress).concat(this.eol)}printSessionName(A){return A?"s=".concat(A).concat(this.eol):""}printInformation(A){return A?"i=".concat(A).concat(this.eol):""}printUri(A){return A?"u=".concat(A).concat(this.eol):""}printEmail(A){let T="";for(const k of A)T+="e=".concat(k).concat(this.eol);return T}printPhone(A){let T="";for(const k of A)T+="e=".concat(k).concat(this.eol);return T}printConnection(A){return A?"c=".concat(A.nettype," ").concat(A.addrtype," ").concat(A.address).concat(this.eol):""}printBandwidth(A){let T="";for(const k of A)T+="b=".concat(k.bwtype,":").concat(k.bandwidth).concat(this.eol);return T}printTimeFields(A){let T="";for(const k of A){T+="t=".concat(k.time.startTime," ").concat(k.time.startTime).concat(this.eol);for(const j of k.repeats)T+="r=".concat(j.repeatInterval," ").concat(j.typedTimes.join(" ")).concat(this.eol);k.zoneAdjustments&&(T+="z=",T+="z=".concat(k.zoneAdjustments.map((j=>"".concat(j.time," ").concat(j.back?"-":""," ").concat(j.typedTime))).join(" ")).concat(this.eol),T+=this.eol)}return T}printKey(A){return A?"k=".concat(A).concat(this.eol):""}printAttributes(A){let T="";for(const k of A)T+="a=".concat(k.attField).concat(k.attValue?":".concat(k.attValue):"").concat(this.eol);return T}printMediaDescription(A){let T="";for(const k of A)T+=this.printMedia(k.media),T+=this.printInformation(k.information),T+=this.printConnections(k.connections),T+=this.printBandwidth(k.bandwidths),T+=this.printKey(k.key),T+=this.printMediaAttributes(k);return T}printConnections(A){let T="";for(const k of A)T+=this.printConnection(k);return T}printMedia(A){return"m=".concat(A.mediaType," ").concat(A.port," ").concat(A.protos.join("/")," ").concat(A.fmts.join(" ")).concat(this.eol)}printSessionAttributes(A){return new Y(this.eol).print(A)}printMediaAttributes(A){return new M(this.eol).print(A)}}class J{constructor(A){F(this,"eol",void 0),this.eol=A}printIceUfrag(A){return A===void 0?"":"a=ice-ufrag:".concat(A).concat(this.eol)}printIcePwd(A){return A===void 0?"":"a=ice-pwd:".concat(A).concat(this.eol)}printIceOptions(A){return A===void 0?"":"a=ice-options:".concat(A.join(c)).concat(this.eol)}printFingerprints(A){return A.length>0?A.map((T=>"a=fingerprint:".concat(T.hashFunction).concat(c).concat(T.fingerprint))).join(this.eol)+this.eol:""}printExtmap(A){return A.map((T=>"a=extmap:".concat(T.entry).concat(T.direction?"/".concat(T.direction):"").concat(c).concat(T.extensionName).concat(T.extensionAttributes?"".concat(c).concat(T.extensionAttributes):"").concat(this.eol))).join("")}printSetup(A){return A===void 0?"":"a=setup:".concat(A).concat(this.eol)}printUnrecognized(A){return A.map((T=>"a=".concat(T.attField).concat(T.attValue?":".concat(T.attValue):"").concat(this.eol))).join("")}}class Y extends J{print(A){let T="";return T+=this.printGroups(A.groups),T+=this.printMsidSemantic(A.msidSemantic),T+=this.printIceLite(A.iceLite),T+=this.printIceUfrag(A.iceUfrag),T+=this.printIcePwd(A.icePwd),T+=this.printIceOptions(A.iceOptions),T+=this.printFingerprints(A.fingerprints),T+=this.printSetup(A.setup),T+=this.printTlsId(A.tlsId),T+=this.printIdentity(A.identities),T+=this.printExtmap(A.extmaps),T+=this.printUnrecognized(A.unrecognized),T}printGroups(A){let T="";return A.length>0&&(T+=A.map((k=>"a=group:".concat(k.semantic).concat(k.identificationTag.map((j=>"".concat(c).concat(j))).join("")).concat(this.eol))).join("")),T}printIceLite(A){return A===void 0?"":"a=ice-lite"+this.eol}printTlsId(A){return A?"a=tls-id:".concat(A).concat(this.eol):""}printIdentity(A){return A.length===0?"":A.map((T=>"a=identity:".concat(T.assertionValue).concat(T.extensions.map((k=>"".concat(c).concat(k.name).concat(k.value?"=".concat(k.value):"")))))).join(this.eol)+this.eol}printMsidSemantic(A){if(!A)return"";let T="a=msid-semantic:".concat(A.semantic);return A.applyForAll?T+="".concat(c,"*"):A.identifierList.length>0&&(T+=A.identifierList.map((k=>"".concat(c).concat(k)))),T+this.eol}}class M extends J{print(A){const T=A.attributes;let k="";return k+=this.printRTCP(T.rtcp),k+=this.printIceUfrag(T.iceUfrag),k+=this.printIcePwd(T.icePwd),k+=this.printIceOptions(T.iceOptions),k+=this.printCandidates(T.candidates),k+=this.printRemoteCandidatesList(T.remoteCandidatesList),k+=this.printEndOfCandidates(T.endOfCandidates),k+=this.printFingerprints(T.fingerprints),k+=this.printSetup(T.setup),k+=this.printMid(T.mid),k+=this.printExtmap(T.extmaps),k+=this.printRTPRelated(T),k+=this.printPtime(T.ptime),k+=this.printMaxPtime(T.maxPtime),k+=this.printDirection(T.direction),k+=this.printSSRCGroups(T.ssrcGroups),k+=this.printSSRC(T.ssrcs),k+=this.printRTCPMux(T.rtcpMux),k+=this.printRTCPMuxOnly(T.rtcpMuxOnly),k+=this.printRTCPRsize(T.rtcpRsize),k+=this.printMSId(T.msids),k+=this.printImageattr(T.imageattr),k+=this.printRid(T.rids),k+=this.printSimulcast(T.simulcast),k+=this.printSCTPPort(T.sctpPort),k+=this.printMaxMessageSize(T.maxMessageSize),k+=this.printUnrecognized(T.unrecognized),k}printCandidates(A){return A.map((T=>"a=candidate:".concat(T.foundation).concat(c).concat(T.componentId).concat(c).concat(T.transport).concat(c).concat(T.priority).concat(c).concat(T.connectionAddress).concat(c).concat(T.port).concat(c,"typ").concat(c).concat(T.type).concat(T.relAddr?"".concat(c,"raddr").concat(c).concat(T.relAddr):"").concat(T.relPort?"".concat(c,"rport").concat(c).concat(T.relPort):"").concat(Object.keys(T.extension).map((k=>"".concat(c).concat(k).concat(c).concat(T.extension[k]))).join("")).concat(this.eol))).join("")}printRemoteCandidatesList(A){return A.map((T=>"a=remote-candidates:".concat(T.join(c)).concat(this.eol))).join("")}printEndOfCandidates(A){return A===void 0?"":"a=end-of-candidates"+this.eol}printRTPRelated(A){if(!A.payloads)return"";const T=A.payloads;let k="";k+=A.rtcpFeedbackWildcards.map((j=>this.printRTCPFeedback("*",j))).join("");for(const j of T)k+=this.printRtpMap(j.payloadType,j.rtpMap),k+=this.printFmtp(j.payloadType,j.fmtp),k+=j.rtcpFeedbacks.map((re=>this.printRTCPFeedback(j.payloadType,re))).join("");return k}printFmtp(A,T){if(!T)return"";const k=Object.keys(T.parameters);return k.length===1&&T.parameters[k[0]]===null?"a=fmtp:".concat(A).concat(c).concat(k[0]).concat(this.eol):"a=fmtp:".concat(A).concat(c).concat(Object.keys(T.parameters).map((j=>"".concat(j,"=").concat(T.parameters[j]))).join(";")).concat(this.eol)}printRtpMap(A,T){return T?"a=rtpmap:".concat(A).concat(c).concat(T.encodingName,"/").concat(T.clockRate).concat(T.encodingParameters?"/".concat(T.encodingParameters):"").concat(this.eol):""}printRTCPFeedback(A,T){let k="a=rtcp-fb:".concat(A).concat(c),j=T;return j.type==="trr-int"?k+="ttr-int".concat(c).concat(j.interval):(k+="".concat(j.type),j.parameter&&(k+="".concat(c).concat(j.parameter),j.additional&&(k+="".concat(c).concat(j.additional)))),k+this.eol}printPtime(A){return A===void 0?"":"a=ptime:".concat(A).concat(this.eol)}printMaxPtime(A){return A===void 0?"":"a=maxptime:".concat(A).concat(this.eol)}printDirection(A){return A===void 0?"":"a=".concat(A).concat(this.eol)}printSSRC(A){return A.map((T=>Object.keys(T.attributes).map((k=>"a=ssrc:".concat(T.ssrcId.toString(10)).concat(c).concat(k).concat(T.attributes[k]?":".concat(T.attributes[k]):"").concat(this.eol))).join(""))).join("")}printRTCPMux(A){return A===void 0?"":"a=rtcp-mux".concat(this.eol)}printRTCPMuxOnly(A){return A===void 0?"":"a=rtcp-mux-only".concat(this.eol)}printRTCPRsize(A){return A===void 0?"":"a=rtcp-rsize".concat(this.eol)}printRTCP(A){if(A===void 0)return"";let T="a=rtcp:".concat(A.port);return A.netType&&(T+="".concat(c).concat(A.netType)),A.addressType&&(T+="".concat(c).concat(A.addressType)),A.address&&(T+="".concat(c).concat(A.address)),T+this.eol}printMSId(A){return A.map((T=>"a=msid:".concat(T.id).concat(T.appdata?"".concat(c).concat(T.appdata):"").concat(this.eol))).join("")}printImageattr(A){return A.map((T=>"a=imageattr:".concat(T).concat(this.eol))).join("")}printRid(A){return A.map((T=>{let k="a=rid:".concat(T.id).concat(c).concat(T.direction);return T.payloads&&(k+="".concat(c,"pt=").concat(T.payloads.join(","))),T.params.length>0&&(k+="".concat(c).concat(T.params.map((j=>j.type==="depend"?"depend=".concat(j.rids.join(",")):"".concat(j.type,"=").concat(j.val))).join(";"))),k+this.eol})).join("")}printSimulcast(A){return A===void 0?"":"a=simulcast:".concat(A).concat(this.eol)}printSCTPPort(A){return A===void 0?"":"a=sctp-port:".concat(A).concat(this.eol)}printMaxMessageSize(A){return A===void 0?"":"a=max-message-size:".concat(A).concat(this.eol)}printMid(A){return A===void 0?"":"a=mid:".concat(A).concat(this.eol)}printSSRCGroups(A){return A.map((T=>"a=ssrc-group:".concat(T.semantic).concat(T.ssrcIds.map((k=>"".concat(c).concat(k.toString(10)))).join("")).concat(this.eol))).join("")}}function B(z){return new I().parse(z)}function q(z,A){return new W().print(z,A)}}},t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}return n.d=(r,i)=>{for(var o in i)n.o(i,o)&&!n.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:i[o]})},n.o=(r,i)=>Object.prototype.hasOwnProperty.call(r,i),n.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n(8)})();var gi=a$.exports;function oC(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:he("SVC_MODE");if(he("ENABLE_SVC"))return(function(t){return t in YA})(e)?e:YA.L1T3}function FF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function UF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FF(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FF(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function hg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;const{filterRTX:i,filterVideoFec:o,filterAudioFec:s,filterAudioCodec:a,filterVideoCodec:c}=t,{useXR:l}=n;let u=[],d=[],f=[],h=[],p=!1,g=!1;if(gi.parse(e).mediaDescriptions.forEach((y=>{r&&r!==y.attributes.direction||(y.media.mediaType!=="video"||p||(d=y.attributes.payloads,h=y.attributes.extmaps,p=!0),y.media.mediaType!=="audio"||g||(u=y.attributes.payloads,f=y.attributes.extmaps,g=!0))})),!h||d.length===0)throw new Error("Cannot get video capabilities from SDP.");if(!f||u.length===0)throw new Error("Cannot get audio capabilities from SDP.");if(d.forEach((y=>{var v;(v=y.rtpMap)!==null&&v!==void 0&&v.clockRate&&(y.rtpMap.clockRate=parseInt(y.rtpMap.clockRate)),l&&y.rtcpFeedbacks.push({type:"rrtr"})})),u.forEach((y=>{var v;(v=y.rtpMap)!==null&&v!==void 0&&v.clockRate&&(y.rtpMap.clockRate=parseInt(y.rtpMap.clockRate)),l&&y.rtcpFeedbacks.push({type:"rrtr"})})),i&&(u=u.filter((y=>{var v;return((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLowerCase())!=="rtx"})),d=d.filter((y=>{var v;return((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLowerCase())!=="rtx"}))),o&&(d=d.filter((y=>{var v;return!/(red)|(ulpfec)|(flexfec)/i.test(((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName)||"")}))),s&&(u=u.filter((y=>{var v;return!/(red)|(ulpfec)|(flexfec)/i.test(((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName)||"")}))),a&&(a==null?void 0:a.length)>0&&(u=u.filter((y=>{var v;return lt(a).call(a,((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLowerCase())||"")}))),c&&(c==null?void 0:c.length)>0){const y=d.filter((v=>{var E;return lt(c).call(c,((E=v.rtpMap)===null||E===void 0?void 0:E.encodingName.toLowerCase())||"")}));d=y.concat(i?[]:wI(y,d))}const m=he("UNSUPPORTED_VIDEO_CODEC");return m&&m.length>0&&(d=d.filter((y=>!(y.rtpMap&&lt(m).call(m,y.rtpMap.encodingName.toLowerCase()))))),{audioCodecs:u,videoCodecs:d,audioExtensions:f,videoExtensions:h}}function Cd(e){const t=gi.parse(e);let n,r;for(const i of t.mediaDescriptions){if(!n){const o=i.attributes.iceUfrag,s=i.attributes.icePwd;if(!o||!s)throw new Error("Cannot get iceUfrag or icePwd from SDP.");n={iceUfrag:o,icePwd:s}}if(!r){const o=i.attributes.fingerprints;o.length>0&&(r={fingerprints:o})}}if(!r&&t.attributes.fingerprints.length>0&&(r={fingerprints:t.attributes.fingerprints}),!r||!n)throw new Error("Cannot get iceParameters or dtlsParameters from SDP.");return{iceParameters:n,dtlsParameters:r}}function c$(e,t){const n=[],r=e.attributes.ssrcGroups.filter((s=>s.semantic==="FID")),i=e.attributes.ssrcGroups.find((s=>s.semantic==="SIM")),o=e.attributes.ssrcs;if(i)i.ssrcIds.forEach((s=>{var a;const c=(a=r.find((l=>l.ssrcIds[0]===s)))===null||a===void 0?void 0:a.ssrcIds[1];n.push({ssrcId:s,rtx:t?c:void 0})}));else if(r.length>0){const s=r[0].ssrcIds[0],a=r[0].ssrcIds[1];n.push({ssrcId:s,rtx:t?a:void 0})}else{if(o.length===0)throw new Error("No ssrcs found on local media description.");n.push({ssrcId:o[0].ssrcId})}return n}function jF(e,t,n){const{cname:r}=e;let i;t?i=l$(t):(i=e.iceParameters.candidates.map((u=>({foundation:u.foundation,componentId:"1",transport:u.protocol,priority:u.priority.toString(),connectionAddress:u.ip,port:u.port.toString(),type:u.type,extension:{}}))),D.debug("Using candidates from gateway."));const o={fingerprints:e.dtlsParameters.fingerprints.map((u=>({hashFunction:u.algorithm,fingerprint:u.fingerprint})))},s={iceUfrag:e.iceParameters.iceUfrag,icePwd:e.iceParameters.icePwd};let a;switch(e.dtlsParameters.role){case"server":a="passive";break;case"client":a="active";break;case"auto":a="actpass"}const c=k4(e.rtpCapabilities),l=[];return Array.isArray(n)&&n.length>0&&n.forEach((u=>{l.push({kind:vt.VIDEO,ssrcId:u.v,rtx:u.v_rtx,mslabel:"".concat(u.v,"_").concat(u.a)},{kind:vt.AUDIO,ssrcId:u.a,mslabel:"".concat(u.v,"_").concat(u.a)})})),{dtlsParameters:o,iceParameters:s,candidates:i,rtpCapabilities:c,setup:a,cname:r,preSSRCs:l}}function l$(e){let t=[];return e.ip&&typeof e.port=="number"&&(t=[{foundation:"udpcandidate",componentId:"1",transport:"udp",priority:"2103266323",connectionAddress:e.ip,port:e.port.toString(),type:"host",extension:{}}],D.debug("Using remote candidate from AP ".concat(e.ip,":").concat(e.port)),e.ip6&&(t.push({foundation:"udpcandidate",componentId:"1",transport:"udp",priority:"2103266323",connectionAddress:e.ip6,port:e.port.toString(),type:"host",extension:{}}),D.debug("Using IPV6 remote candidate from AP ".concat(e.ip6,":").concat(e.port)))),t}function _0(e,t,n){const r=[],i=[];return e.forEach((o=>{let{ssrcId:s,rtx:a}=o;const c=Wn(8,"track-"),l={ssrcId:s,attributes:UF({label:c,mslabel:n=n||Wn(10,""),msid:"".concat(n," ").concat(c)},t&&{cname:t})};if(r.push(l),a!==void 0){const u={ssrcId:a,attributes:UF({label:c,mslabel:n,msid:"".concat(n," ").concat(c)},t&&{cname:t})};r.push(u),i.push({semantic:"FID",ssrcIds:[s,a]})}})),e.length>1&&i.push({semantic:"SIM",ssrcIds:e.map((o=>{let{ssrcId:s}=o;return s}))}),{ssrcs:r,ssrcGroups:i}}function wp(e,t){t instanceof mr&&e.attributes.payloads.forEach((n=>{var r;const i=(r=n.rtpMap)===null||r===void 0?void 0:r.encodingName.toLowerCase();if(!i||["opus","pcmu","pcma","g722"].indexOf(i)===-1)return;n.fmtp||(n.fmtp={parameters:{}}),n.fmtp.parameters.minptime="10",n.fmtp.parameters.useinbandfec="1";const o=t._encoderConfig;o&&i!=="pcmu"&&i!=="pcma"&&i!=="g722"&&(o.bitrate&&!Er()&&(n.fmtp.parameters.maxaveragebitrate="".concat(Math.floor(1e3*o.bitrate))),o.sampleRate&&(n.fmtp.parameters.maxplaybackrate="".concat(o.sampleRate),n.fmtp.parameters["sprop-maxcapturerate"]="".concat(o.sampleRate)),o.stereo&&(n.fmtp.parameters.stereo="1",n.fmtp.parameters["sprop-stereo"]="1"))}))}function AI(e){const t=e.attributes.unrecognized.findIndex((n=>n.attField==="x-google-flag"&&n.attValue==="conference"));t!==-1&&e.attributes.unrecognized.splice(t,1)}function CI(e,t){var n;if(!(t instanceof Kn&&t._encoderConfig&&t._hints.indexOf(nr.SCREEN_TRACK)===-1))return;const r=t._encoderConfig;fn().supportMinBitrate&&r.bitrateMin&&e.attributes.payloads.forEach((i=>{var o,s;lt(o=["h264","h265","vp8","vp9","av1"]).call(o,((s=i.rtpMap)===null||s===void 0?void 0:s.encodingName.toLowerCase())||"")&&(i.fmtp||(i.fmtp={parameters:{}}),i.fmtp.parameters["x-google-min-bitrate"]="".concat(r.bitrateMin))})),fn().supportMinBitrate&&!lt(n=t._hints).call(n,nr.LOW_STREAM)&&r.bitrateMax&&e.attributes.payloads.forEach((i=>{var o,s;lt(o=["h264","h265","vp8","vp9","av1"]).call(o,((s=i.rtpMap)===null||s===void 0?void 0:s.encodingName.toLowerCase())||"")&&(i.fmtp||(i.fmtp={parameters:{}}),i.fmtp.parameters["x-google-start-bitrate"]="".concat(he("X_GOOGLE_START_BITRATE")||Math.floor(r.bitrateMax)))}))}function u$(e){if(e.media.mediaType!=="video")return;const t=an();if(t.name!==An.SAFARI&&t.os!==ii.IOS)return;const n=e.attributes.extmaps.findIndex((r=>/video-orientation/g.test(r.extensionName)));n!==-1&&e.attributes.extmaps.splice(n,1)}function R4(e,t,n){if(!t)return;let r,i;if(e.media.mediaType==="video"?(r=n.videoExtensions,i=n.videoCodecs):(r=n.audioExtensions,i=n.audioCodecs),t.twcc===!0){const o=r.find((s=>s.extensionName==="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"));o&&(e.attributes.extmaps.find((a=>a.extensionName==="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"))||e.attributes.extmaps.push({entry:o.entry,extensionName:"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"}),(function(a,c){return c.filter((l=>!!a.find((u=>u.payloadType===l.payloadType&&!!u.rtcpFeedbacks.find((d=>d.type==="transport-cc"))))))})(i,e.attributes.payloads).forEach((a=>{a.rtcpFeedbacks.find((c=>c.type==="transport-cc"))||a.rtcpFeedbacks.push({type:"transport-cc"})})))}else if(t.twcc===!1){const o=e.attributes.extmaps.findIndex((s=>s.extensionName==="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"));o!==-1&&e.attributes.extmaps.splice(o,1),e.attributes.payloads.forEach((s=>{const a=s.rtcpFeedbacks.findIndex((c=>c.type==="transport-cc"));a!==-1&&s.rtcpFeedbacks.splice(a,1)}))}if(t.remb===!0){const o=r.find((s=>s.extensionName==="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"));o&&(e.attributes.extmaps.find((a=>a.extensionName==="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"))||e.attributes.extmaps.push({entry:o.entry,extensionName:"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"}),(function(a,c){return c.filter((l=>!!a.find((u=>u.payloadType===l.payloadType&&!!u.rtcpFeedbacks.find((d=>d.type==="goog-remb"))))))})(i,e.attributes.payloads).forEach((a=>{a.rtcpFeedbacks.find((c=>c.type==="goog-remb"))||a.rtcpFeedbacks.push({type:"goog-remb"})})))}else if(t.remb===!1){const o=e.attributes.extmaps.findIndex((s=>s.extensionName==="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"));o!==-1&&e.attributes.extmaps.splice(o,1),e.attributes.payloads.forEach((s=>{const a=s.rtcpFeedbacks.findIndex((c=>c.type==="goog-remb"));a!==-1&&s.rtcpFeedbacks.splice(a,1)}))}}function d$(e,t,n){if(Er()||e.media.mediaType!=="video"||!(t instanceof Kn)||n!=="vp9"&&n!=="vp8"||n==="vp8"&&!he("SIMULCAST")||n==="vp9"&&he("ENABLE_SVC")||t._scalabilityMode===void 0||t._scalabilityMode.numSpatialLayers<=1)return;const r=n==="vp8"?2:t._scalabilityMode.numSpatialLayers,i=e.attributes.ssrcs[0],o=e.attributes.ssrcGroups.find((a=>a.semantic==="FID"&&a.ssrcIds[0]===i.ssrcId)),s={semantic:"SIM",ssrcIds:[i.ssrcId]};for(let a=1;a<r;a++)e.attributes.ssrcs.push({ssrcId:i.ssrcId+a,attributes:Lr(i.attributes)}),s.ssrcIds.push(i.ssrcId+a),o&&(e.attributes.ssrcs.push({ssrcId:o.ssrcIds[1]+a,attributes:Lr(i.attributes)}),e.attributes.ssrcGroups.push({semantic:"FID",ssrcIds:[i.ssrcId+a,o.ssrcIds[1]+a]}));e.attributes.ssrcGroups.unshift(s)}async function f$(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const n=new RTCPeerConnection;n.addTransceiver("video",{direction:"sendonly"}),n.addTransceiver("audio",{direction:"sendonly"}),n.addTransceiver("video",{direction:"recvonly"}),n.addTransceiver("audio",{direction:"recvonly"});const r=(await n.createOffer()).sdp,{send:i,recv:o,sendrecv:s}=(function(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=arguments.length>2?arguments[2]:void 0;const u=hg(l,a,c,"sendonly"),d=hg(l,a,c,"recvonly"),f={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},h={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},p={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]};if(Ra(u,d,"videoExtensions",f,h,p),Ra(u,d,"videoCodecs",f,h,p),Ra(u,d,"audioExtensions",f,h,p),Ra(u,d,"audioCodecs",f,h,p),he("RAISE_H264_BASELINE_PRIORITY")){const g=p.videoCodecs.findIndex((m=>{var y,v;return((y=m.rtpMap)===null||y===void 0?void 0:y.encodingName.toLocaleLowerCase())==="h264"&&((v=m.fmtp)===null||v===void 0?void 0:v.parameters["profile-level-id"])==="42001f"}));if(g!==-1){const m=p.videoCodecs.findIndex((y=>{var v;return((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLocaleLowerCase())==="h264"}));if(m<g){D.debug("raising H264 baseline profile priority");const y=p.videoCodecs[g];p.videoCodecs.splice(g,1),p.videoCodecs.splice(m,0,y)}m!==-1&&(h.videoCodecs=h.videoCodecs.filter((y=>{var v,E;return!(((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLocaleLowerCase())==="h264"&&((E=y.fmtp)===null||E===void 0?void 0:E.parameters["profile-level-id"])!=="42001f")}))),m!==-1&&he("FILTER_SEND_H264_BASELINE")&&(f.videoCodecs=f.videoCodecs.filter((y=>{var v,E;return!(((v=y.rtpMap)===null||v===void 0?void 0:v.encodingName.toLocaleLowerCase())==="h264"&&((E=y.fmtp)===null||E===void 0?void 0:E.parameters["profile-level-id"])!=="42001f")})))}}return{send:f,recv:h,sendrecv:p}})(e,t,r);try{n.close()}catch{}return{send:i,recv:o,sendrecv:s}}function HF(){const e={audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]},t=hg(arguments.length>2?arguments[2]:void 0,arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},"recvonly"),n={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},r={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},i={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]};if(Ra(e,t,"videoExtensions",n,r,i),Ra(e,t,"videoCodecs",n,r,i),Ra(e,t,"audioExtensions",n,r,i),Ra(e,t,"audioCodecs",n,r,i),he("RAISE_H264_BASELINE_PRIORITY")){const o=i.videoCodecs.findIndex((s=>s.rtpMap&&s.rtpMap.encodingName.toLocaleLowerCase()==="h264"&&s.fmtp&&s.fmtp.parameters["profile-level-id"]==="42001f"));if(o!==-1){const s=i.videoCodecs.findIndex((a=>a.rtpMap&&a.rtpMap.encodingName.toLocaleLowerCase()==="h264"));if(s<o){D.debug("raising H264 baseline profile priority");const a=i.videoCodecs[o];i.videoCodecs.splice(o,1),i.videoCodecs.splice(s,0,a)}s!==-1&&(r.videoCodecs=r.videoCodecs.filter((a=>!(a.rtpMap&&a.rtpMap.encodingName.toLocaleLowerCase()==="h264"&&a.fmtp&&a.fmtp.parameters["profile-level-id"]!=="42001f"))))}}return{send:n,recv:r,sendrecv:i}}function Ra(e,t,n,r,i,o){if(n==="videoExtensions"||n==="audioExtensions"){const s=[];return e[n].forEach((a=>{t[n].some(((c,l)=>{if(a.entry===c.entry&&a.extensionName===c.extensionName)return s.push(l),!0}))?o[n].push(a):r[n].push(a)})),void t[n].forEach(((a,c)=>{s.indexOf(c)===-1&&i[n].push(a)}))}if(n==="videoCodecs"||n==="audioCodecs"){const s=[];return e[n].forEach((a=>{t[n].some(((c,l)=>{if(a.payloadType===c.payloadType&&JSON.stringify(a)===JSON.stringify(c))return s.push(l),!0}))?o[n].push(a):r[n].push(a)})),void t[n].forEach(((a,c)=>{s.indexOf(c)===-1&&i[n].push(a)}))}}function k4(e){const{send:t,recv:n,sendrecv:r}=e;if(!r){if(!t||!n)throw new Error("cannot merge rtp capabilities because one of send or recv is empty!");return{send:t,recv:n}}let i,o;return t?(i={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},i.audioCodecs=[...t.audioCodecs,...r.audioCodecs],i.videoCodecs=[...t.videoCodecs,...r.videoCodecs],i.audioExtensions=[...t.audioExtensions,...r.audioExtensions],i.videoExtensions=[...t.videoExtensions,...r.videoExtensions]):i=r,n?(o={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},o.audioCodecs=[...n.audioCodecs,...r.audioCodecs],o.videoCodecs=[...n.videoCodecs,...r.videoCodecs],o.audioExtensions=[...n.audioExtensions,...r.audioExtensions],o.videoExtensions=[...n.videoExtensions,...r.videoExtensions]):o=r,{send:i,recv:o}}function Tp(e){e.media.mediaType==="audio"&&e.attributes.payloads.filter((t=>{var n;return((n=t.rtpMap)===null||n===void 0?void 0:n.encodingName.toLowerCase())==="opus"})).forEach((t=>{t.fmtp||(t.fmtp={parameters:{}}),t.fmtp.parameters.stereo="1",t.fmtp.parameters["sprop-stereo"]="1"}))}function bm(e,t,n,r){let i=[];if(e===vt.VIDEO){if(he("H264_PROFILE_LEVEL_ID")&&r==="h264"&&(i=t.videoCodecs.filter((o=>{var s;return lt(s=o.rtpMap&&o.rtpMap.encodingName.toLowerCase()||"").call(s,r)&&o&&o.fmtp&&o.fmtp.parameters["profile-level-id"]===he("H264_PROFILE_LEVEL_ID")}))),!Array.isArray(i)||i.length===0){let o=[];const s=[],a=[],c=[];if(n.videoCodecs.forEach((l=>{const u=l.rtpMap&&l.rtpMap.encodingName.toLowerCase()||"";lt(u).call(u,r)?o.push(l):lt(u).call(u,"vp9")?s.push(l):lt(u).call(u,"vp8")?a.push(l):lt(u).call(u,"h264")&&c.push(l)})),o.length===0){let l="";s.length!==0?(o=s,l="vp9"):a.length!==0?(o=a,l="vp8"):c.length!==0&&(o=c,l="h264"),D.warning("codec ".concat(r," not included in rtpCapabilities, fallback to default payloads: ").concat(l))}o.length!==0&&(i=t.videoCodecs.filter((l=>o.some((u=>u.payloadType===l.payloadType)))))}if(i.length===0&&(D.warning("codec ".concat(r," not included in rtpCapabilities, fallback to default payloads: ").concat(t.videoCodecs[0].rtpMap&&t.videoCodecs[0].rtpMap.encodingName)),i=t.videoCodecs),he("USE_PUB_RTX")||he("USE_SUB_RTX")){const o=wI(i,t.videoCodecs);i=[...i,...o]}}else i=t.audioCodecs.filter((o=>{var s;return lt(s=o.rtpMap&&o.rtpMap.encodingName.toLowerCase()||"").call(s,r)})),i.length===0&&(D.warning("codec ".concat(r," not included in rtpCapabilities, fallback to opus")),i=t.audioCodecs.filter((o=>{var s;return lt(s=o.rtpMap&&o.rtpMap.encodingName.toLowerCase()||"").call(s,"opus")})));return i}function wI(e,t){const n=e.map((r=>r.payloadType.toString()));return t.filter((r=>r.rtpMap&&r.rtpMap.encodingName==="rtx"&&r.fmtp&&r.fmtp.parameters.apt&&lt(n).call(n,r.fmtp&&r.fmtp.parameters.apt)))}async function y5(e,t,n){const r=t.toString(),i=p$(r,"offer","remote","exchangeSDP");await e.setRemoteDescription({type:"offer",sdp:r});const o=await e.createAnswer();if(!o.sdp)throw new Error("cannot get answer sdp");let s=o.sdp;s=h$(s,n||{}),i==null||i(s||""),await e.setLocalDescription({type:"answer",sdp:s})}function h$(e,t,n){const r=gi.parse(e),{useXR:i}=t;return r.mediaDescriptions.forEach((o=>{var s;o.attributes.mid&&(Array.isArray(n)&&!lt(n).call(n,o.attributes.mid)||(o.media.mediaType==="audio"&&Tp(o),i&&lt(s=["audio","video"]).call(s,o.media.mediaType)&&o.attributes.payloads.forEach((a=>{a.rtcpFeedbacks.findIndex((c=>c.type==="rrtr"))===-1&&a.rtcpFeedbacks.push({type:"rrtr"})}))))})),gi.print(r)}function p$(e,t,n,r){if(he("SDP_LOGGING"))return D.upload("exchanging ".concat(n," ").concat(t," SDP during P2PConnection.").concat(r,`
`),e),t==="offer"?i=>{p$(i,"answer",n==="local"?"remote":"local",r)}:void 0}function Lc(e,t){return typeof he(e)===t?he(e):void 0}function zF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Gu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zF(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zF(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const fE=new Map;class kBe extends fr{get state(){return this._state}set state(t){if(t===this._state)return;const n=this._state;this._state=t,t==="DISCONNECTED"&&this._disconnectedReason?this.emit(Ci.CONNECTION_STATE_CHANGE,t,n,this._disconnectedReason):this.emit(Ci.CONNECTION_STATE_CHANGE,t,n)}get joinGatewayStartTime(){return this._joinGatewayStartTime}set joinGatewayStartTime(t){D.debug("[".concat(this.store.clientId,"] set joinGatewayStartTime at ").concat(t)),this._joinGatewayStartTime=t}constructor(t,n){super(),H(this,"store",void 0),H(this,"joinInfo",void 0),H(this,"key",void 0),H(this,"ntpOffset",0),H(this,"signal",void 0),H(this,"role",void 0),H(this,"inChannelInfo",{joinAt:null,duration:0}),H(this,"spec",void 0),H(this,"_state","DISCONNECTED"),H(this,"_statsCollector",void 0),H(this,"_disconnectedReason",void 0),H(this,"isSignalRecover",!1),H(this,"hasChangeBGPAddress",!1),H(this,"trafficStatsInterval",void 0),H(this,"networkQualityInterval",void 0),H(this,"_joinGatewayStartTime",0),H(this,"_signalTimeout",!1),H(this,"_clientRoleOptions",void 0),H(this,"_isProactiveJoin",!1),this.store=t,this.spec=n,this.signal=this.store.useP2P?new BF(Gu(Gu({},n),{},{retryConfig:n.websocketRetryConfig}),t):new tMe(Gu(Gu({},n),{},{retryConfig:n.websocketRetryConfig}),t),this._statsCollector=n.statsCollector,this.role=n.role||"audience",this._clientRoleOptions=n.clientRoleOptions,this.handleSignalEvents()}async join(t,n,r){this.store.joinGatewayStart(),t.cloudProxyServer!=="disabled"&&(this.hasChangeBGPAddress=!0);const i=Date.now();let o=fE.get(t.cname);if(o||(o=new Map,fE.set(t.cname,o)),this._isProactiveJoin=!0,o.has(t.uid)){const l=new xe(Q.UID_CONFLICT);throw mt.joinGateway(t.sid,{lts:i,succ:!1,ec:l.code,addr:null,uid:t.uid,cid:t.cid,firstSuccess:this._isProactiveJoin,avoidJoinStartTime:this.store.avoidJoinStart,isProxy:!!t.proxyServer,signalChannel:"0",preload:t.preload}),this._isProactiveJoin=!1,l}o.set(t.uid,!0),this.joinInfo=t,this.key=n;let s=0;this.joinGatewayStartTime=i;const a=t.proxyServer;try{D.debug("[".concat(this.store.clientId,"] use websocket join uid ").concat(s));const l=t.gatewayAddrs.map((u=>{let{address:d}=u;const[f,h]=d.split(":"),p={host:f,port:h};return t.proxyServer&&(p.proxy=t.proxyServer),p}));s=(await this.signal.init(l,r)).uid,D.debug("[".concat(this.store.clientId,"] websocket join uid ").concat(s," cost ").concat(Date.now()-this.joinGatewayStartTime))}catch(l){var c;throw D.error("[".concat(this.store.clientId,"] User join failed"),l.toString()),mt.joinGateway(t.sid,{lts:i,succ:!1,ec:((c=l.data)===null||c===void 0?void 0:c.desc)||l.code,errorMsg:l.message,addr:this.signal.url,uid:t.uid,cid:t.cid,firstSuccess:this._isProactiveJoin,avoidJoinStartTime:this.store.avoidJoinStart,isProxy:!!a,signalChannel:"0",preload:t.preload}),this._isProactiveJoin=!1,o.delete(t.uid),this.signal.close(),l}return this.state="CONNECTED",this.inChannelInfo.joinAt=Date.now(),D.debug("[".concat(this.store.clientId,"] Connected to gateway server")),this.trafficStatsInterval=window.setInterval((()=>{this.updateTrafficStats().catch((l=>{D.warning("[".concat(this.store.clientId,"] get traffic stats error"),l.toString())}))}),3e3),this.networkQualityInterval=window.setInterval((()=>{navigator&&navigator.onLine!==void 0&&!navigator.onLine?this.emit(Ci.NETWORK_QUALITY,{downlinkNetworkQuality:6,uplinkNetworkQuality:6}):this._signalTimeout?this.emit(Ci.NETWORK_QUALITY,{downlinkNetworkQuality:5,uplinkNetworkQuality:5}):this.state==="CONNECTED"&&this._statsCollector.trafficStats?this.emit(Ci.NETWORK_QUALITY,{uplinkNetworkQuality:DM(this._statsCollector.trafficStats.B_unq),downlinkNetworkQuality:DM(this._statsCollector.trafficStats.B_dnq)}):this.emit(Ci.NETWORK_QUALITY,{uplinkNetworkQuality:0,downlinkNetworkQuality:0})}),2e3),this.store.joinGatewayEnd(),s}async leave(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0],n=arguments.length>1?arguments[1]:void 0;if(this.state!=="DISCONNECTED"){n!==Tn.FALLBACK&&(this.state="DISCONNECTING");try{t||this.signal.connectionState!==Hn.CONNECTED||await(function(r,i){return i===1/0?r:ot.race([r,qLe(i)])})(this.signal.request(Dt.LEAVE,void 0,!0),3e3)}catch(r){D.warning("[".concat(this.store.clientId,"] leave request failed, ignore"),r)}this.signal.close(n),n!==Tn.FALLBACK&&(this.state="DISCONNECTED"),this.reset()}}async publish(t,n,r){if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish when connection state is ".concat(this.state));const i={state:"offer",p2p_id:this.store.p2pId,ortc:n,mode:this.spec.mode,extend:he("PUB_EXTEND"),twcc:!!he("PUBLISH_TWCC"),rtx:!!he("USE_PUB_RTX")};try{return(await this.signal.request(Dt.PUBLISH,i,!0))._message}catch(o){if(r&&o.data&&o.data.code===Tt.ERR_PUBLISH_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] receive publish error code, retry"),o.toString()),await this.tryUnpubBeforeRepub(t,n),this.publish(t,n,!1);throw o}}async publishDataChannel(t,n,r){var i;if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish when connection state is ".concat(this.state));const o={stream_id:n.streamId,ordered:n.ordered?1:0,max_retrans_times:(i=n.maxRetransmits)!==null&&i!==void 0?i:10,channel_id:n.channelId,metadata:n.metadata};try{await this.signal.request(Dt.PUBLISH_DATASTREAM,o,!0)}catch(s){if(r&&s.data&&s.data.code===Tt.ERR_PUBLISH_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] receive publish datachannels error code, retry"),s.toString()),await this.tryUnpubDataChannelBeforeRepub(t,n),this.publishDataChannel(t,n,!1);throw s}}async unpublish(t,n){try{if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish when connection state is ".concat(this.state));await this.signal.request(Dt.UNPUBLISH,{stream_id:n,ortc:t},!0)}catch(r){D.warning("[".concat(this.store.clientId,"] unpublish warning: "),r)}}async unpublishDataChannel(t){try{if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish when connection state is ".concat(this.state));await ot.all(t.map((n=>this.signal.request(Dt.UNPUBLISH_DATASTREAM,{channel_id:n},!0))))}catch(n){D.warning("unpublish datachannels warning: ",n)}}async presubscribe(t,n,r){if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not presubscribe when connection state is ".concat(this.state));const i={stream_id:t,stream_type:n,mode:this.spec.mode,codec:this.spec.codec,p2p_id:this.store.p2pId,twcc:!!he("SUBSCRIBE_TWCC"),rtx:!!he("USE_SUB_RTX")||void 0,extend:he("SUB_EXTEND"),svc:Array.isArray(he("SVC"))&&he("SVC").length!==0?he("SVC"):void 0};try{return await this.signal.request(Dt.PRE_SUBSCRIBE,i,!0)}catch(o){if(r&&o.data&&o.data.code===Tt.ERR_SUBSCRIBE_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] pre-subscribe error, retry"),o.toString()),this.presubscribe(t,n,!1);throw o}}async subscribe(t,n,r){if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not subscribe when connection state is ".concat(this.state));const i={stream_id:t,stream_type:n.stream_type,mode:this.spec.mode,codec:this.spec.codec,p2p_id:this.store.p2pId,twcc:!!he("SUBSCRIBE_TWCC"),rtx:!!he("USE_SUB_RTX"),extend:he("SUB_EXTEND"),ssrcId:n.ssrcId,svc:Array.isArray(he("SVC"))&&he("SVC").length!==0?he("SVC"):void 0};try{return(await this.signal.request(Dt.SUBSCRIBE,i,!0))._message}catch(o){if(r&&o.data&&o.data.code===Tt.ERR_SUBSCRIBE_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] receiver subscribe error code, retry"),o.toString()),await this.tryUnsubBeforeResub(t,n),await this.subscribe(t,n,!1);throw o}}async subscribeDataChannel(t,n,r){if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not subscribe datachannel when connection state is ".concat(this.state));const i={uid:t,stream_id:n.id,channel_id:n.datachannelId};try{return void await this.signal.request(Dt.SUBSCRIBE_DATASTREAM,i,!0)}catch(o){if(r&&o.data&&o.data.code===Tt.ERR_SUBSCRIBE_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] receiver subscribe datachannel error code, retry"),o.toString()),await this.tryUnsubDataChannelBeforeResub(t,n),await this.subscribeDataChannel(t,n,!1);throw o}}async subscribeAll(t,n){if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not massSubscribe when connection state is ".concat(this.state));const r={p2p_id:this.store.p2pId,users:t,dtx:!1,rtx:!!he("USE_SUB_RTX"),twcc:!!he("SUBSCRIBE_TWCC"),svc:Array.isArray(he("SVC"))&&he("SVC").length!==0?he("SVC"):void 0};try{return await this.signal.request(Dt.SUBSCRIBE_STREAMS,r,!0)}catch(i){if(n&&i.data&&i.data.code===Tt.ERR_SUBSCRIBE_REQUEST_INVALID)return D.warning("[".concat(this.store.clientId,"] receiver massSubscribe error code, retry"),i.toString()),await this.tryMassUnsubBeforeResub(t),await this.subscribeAll(t,!1);throw i}}async setVideoProfile(t){const n=(function(r){if(!(r.bitrateMax&&r.bitrateMin&&r.frameRate&&r.height&&r.width))return;let i=r.frameRate,o=r.width,s=r.height,a=!0;return typeof i!="number"&&(i=i.exact||i.ideal||i.max||i.min||0,i||(a=!1)),typeof o!="number"&&(o=o.exact||o.ideal||o.max||o.min||0,o||(a=!1)),typeof s!="number"&&(s=s.exact||s.ideal||s.max||s.min||0,i||(a=!1)),a?{stream_type:0,width:o,height:s,fps:i,start_bps:1e3*r.bitrateMax,min_bps:1e3*r.bitrateMin,target_bps:1e3*r.bitrateMax}:void 0})(t);if(n)return this.signal.request(Dt.SET_VIDEO_PROFILE,n);D.debug("[".concat(this.store.clientId,"] encoder config is not complete, do not report to gateway"))}async unsubscribe(t,n){try{await this.signal.request(Dt.UNSUBSCRIBE,{p2p_id:this.store.p2pId,ortc:t,stream_id:n},!0)}catch(r){D.warning("[".concat(this.store.clientId,"] unsubscribe warning: "),r)}}async unsubscribeDataChannel(t,n){try{if(this.state!=="CONNECTED"&&this.state!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish when connection state is ".concat(this.state));await ot.all(t.map((r=>this.signal.request(Dt.UNSUBSCRIBE_DATASTREAM,{stream_id:r,uid:n},!0))))}catch(r){D.warning("unsubscribeDataChannel warning: ",r)}}async massUnsubscribe(t){try{await this.signal.request(Dt.UNSUBSCRIBE_STREAMS,t,!0)}catch(n){D.warning("[".concat(this.store.clientId,"] massUnsubscribeAll warning: "),n)}}async reconnectPC(t){const{iceParameters:n,dtlsParameters:r,rtpCapabilities:i}=t;return{gatewayEstablishParams:await this.signal.request(Dt.CONNECT_PC,{p2p_id:this.store.p2pId,stream_id:this.store.uid,ortc:{iceParameters:n,dtlsParameters:r,rtpCapabilities:i}},!0),gatewayAddress:this.getCurrentGatewayAddress()}}getGatewayInfo(){return this.signal.request(Dt.GATEWAY_INFO)}async renewToken(t){await this.signal.request(Dt.RENEW_TOKEN,t),this.key=t.token}async setClientRole(t,n){if(n&&(this._clientRoleOptions=Object.assign({},n)),this.state!=="CONNECTED")return void(this.role=t);let r,i=0;t==="audience"?this._clientRoleOptions&&this._clientRoleOptions.delay?(r=this._clientRoleOptions.delay,i=1):i=this._clientRoleOptions&&this._clientRoleOptions.level?this._clientRoleOptions.level:2:i=0,await this.signal.request(Dt.SET_CLIENT_ROLE,{role:t,level:i,delay:r,client_ts:Date.now()}),this.role=t}async setRemoteVideoStreamType(t,n){await this.signal.request(Dt.SWITCH_VIDEO_STREAM,{stream_id:t,stream_type:n})}async setDefaultRemoteVideoStreamType(t){await this.signal.request(Dt.DEFAULT_VIDEO_STREAM,{stream_type:t})}async setStreamFallbackOption(t,n){await this.signal.request(Dt.SET_FALLBACK_OPTION,{stream_id:t,fallback_type:n})}async pickSVCLayer(t,n){await this.signal.request(Dt.PICK_SVC_LAYER,{stream_id:t,spatial_layer:n.spatialLayer,temporal_layer:n.temporalLayer})}async setRTM2Flag(t){await this.signal.request(Dt.SET_RTM2_FLAG,{rtm2_flag:t})}async sendExtensionMessage(t,n,r){if(this.signal instanceof BF)return this.signal.sendExtensionMessage(t,n,r)}getInChannelInfo(){return this.inChannelInfo.joinAt&&(this.inChannelInfo.duration=Date.now()-this.inChannelInfo.joinAt),Gu({},this.inChannelInfo)}async getGatewayVersion(){return(await this.signal.request(Dt.GATEWAY_INFO)).version}reset(){if(this.inChannelInfo.joinAt&&(this.inChannelInfo.duration=Date.now()-this.inChannelInfo.joinAt,this.inChannelInfo.joinAt=null),this.trafficStatsInterval&&(window.clearInterval(this.trafficStatsInterval),this.trafficStatsInterval=void 0),this.joinInfo){const t=fE.get(this.joinInfo.cname);t&&t.delete(this.joinInfo.uid)}this.joinInfo=void 0,this.key=void 0,this.networkQualityInterval&&(window.clearInterval(this.networkQualityInterval),this.networkQualityInterval=void 0)}updateTurnConfigFromSignal(){if(!this.joinInfo)return;const t=(function(n){let r;return r=n.startsWith("dc")?n.match(/(dc\:\/\/)?([^:]+):(\d+)/):n.match(/(wss\:\/\/)?([^:]+):(\d+)/),r?{username:Ti.username,password:Ti.password,turnServerURL:r[2],tcpport:parseInt(r[3])+30,udpport:parseInt(r[3])+30,forceturn:!1}:null})((this.joinInfo.cloudProxyServer==="disabled"?this.signal.url:this.joinInfo.gatewayAddrs[this.signal.currentURLIndex].address)||"");this.joinInfo.turnServer.serversFromGateway=[],t&&this.joinInfo.turnServer.mode!=="off"&&this.joinInfo.cloudProxyServer==="disabled"&&this.joinInfo.turnServer.serversFromGateway.push(Gu(Gu({},Ti),{},{turnServerURL:t.turnServerURL,tcpport:t.tcpport,udpport:t.udpport,username:this.joinInfo.uid.toString(),password:this.joinInfo.token}))}async updateTrafficStats(){if(this.state!=="CONNECTED")return;const t=await this.signal.request(Dt.TRAFFIC_STATS,void 0,!0);t.timestamp=Date.now(),t.ntp_offset!=null&&(this.ntpOffset=t.ntp_offset),t.peer_delay.forEach((n=>{const r=this._statsCollector.trafficStats&&this._statsCollector.trafficStats.peer_delay.find((i=>i.peer_uid===n.peer_uid));r&&r.B_st!==n.B_st&&u6((()=>{this.emit(Ci.STREAM_TYPE_CHANGE,n.peer_uid,n.B_st)}))})),this._statsCollector.updateTrafficStats(t)}getJoinMessage(t){if(!this.joinInfo||!this.key)throw new xe(Q.UNEXPECTED_ERROR,"can not generate join message, no join info");const n=Object.assign({},this.joinInfo.apResponse);let r=he("REPORT_APP_SCENARIO");if(typeof r!="string")try{r=JSON.stringify(r)}catch{r=void 0}r&&r.length>128&&(r=void 0);const i=!(Er()||sq(87)||oB())&&typeof he("ENABLE_PRE_SUB")=="boolean"&&he("ENABLE_PRE_SUB"),o=!oB()&&Lc("ENABLE_PREALLOC_PC","boolean"),s=Gu({license:this.joinInfo.license,p2p_id:this.store.p2pId,session_id:this.joinInfo.sid,app_id:this.joinInfo.appId,channel_key:this.key,channel_name:this.joinInfo.cname,sdk_version:oa,browser:navigator.userAgent,process_id:he("PROCESS_ID"),mode:this.store.useP2P?"p2p":this.spec.mode,codec:this.spec.codec,role:this.role,has_changed_gateway:this.hasChangeBGPAddress,ap_response:n,extend:he("JOIN_EXTEND"),details:{6:this.joinInfo.stringUid,cservice_map:this.joinInfo.cloudProxyServer==="proxy3"?"1":this.joinInfo.cloudProxyServer==="proxy5"?"2":void 0},features:{rejoin:!0},optionalInfo:this.joinInfo.optionalInfo,appScenario:r,attributes:{userAttributes:{enablePublishedUserList:he("ENABLE_PUBLISHED_USER_LIST"),maxSubscription:he("MAX_SUBSCRIPTION"),subscribeAudioFilterTopN:typeof he("SUBSCRIBE_AUDIO_FILTER_TOPN")=="number"?he("SUBSCRIBE_AUDIO_FILTER_TOPN"):void 0,enablePublishAudioFilter:typeof he("ENABLE_PUBLISH_AUDIO_FILTER")=="boolean"?he("ENABLE_PUBLISH_AUDIO_FILTER"):void 0,enableUserLicenseCheck:typeof he("ENABLE_USER_LICENSE_CHECK")=="boolean"?he("ENABLE_USER_LICENSE_CHECK"):void 0,enableRTX:he("USE_PUB_RTX")===!0||he("USE_SUB_RTX")===!0||void 0,disableFEC:he("DISABLE_FEC"),enableNTPReport:!!he("ENABLE_NTP_REPORT")||void 0,enableInstantVideo:!!he("ENABLE_INSTANT_VIDEO")||void 0,enableFulllinkAvSync:!!he("ENABLE_FULL_LINK_AV_SYNC")||void 0,enableDataStream2:Lc("ENABLE_DATASTREAM_2","boolean"),enableAutFeedback:!!he("ENABLE_AUT_FEEDBACK")||void 0,rtm2Flag:typeof this.joinInfo.rtmFlag=="number"?this.joinInfo.rtmFlag:void 0,enableUserAutoRebalanceCheck:!!he("ENABLE_USER_AUTO_REBALANCE_CHECK"),enableXR:Lc("USE_XR","boolean"),enableLossbasedBwe:Lc("ENABLE_LOSSBASED_BWE","boolean"),enableAutCC:!!he("ENABLE_AUT_CC")||void 0,enableCCFallback:Lc("ENABLE_CC_FALLBACK","boolean"),enablePreallocPC:o,preSubNum:i?Lc("PRE_SUB_NUM","number"):void 0,enablePubTWCC:Lc("PUBLISH_TWCC","boolean"),enableSubTWCC:Lc("SUBSCRIBE_TWCC","boolean"),enablePubRTX:Lc("USE_PUB_RTX","boolean"),enableSubRTX:Lc("USE_SUB_RTX","boolean"),enableSubSVC:he("ENABLE_SVC")?he("ENABLE_SVC_DEFAULT_CODECS"):Array.isArray(he("SVC"))&&he("SVC").length!==0?he("SVC"):void 0}},join_ts:this.joinGatewayStartTime},t);return this.joinInfo.stringUid&&(s.string_uid=this.joinInfo.stringUid),this.joinInfo.aesmode&&this.joinInfo.aespassword&&(s.aes_mode=this.joinInfo.aesmode,he("ENCRYPT_AES")?(s.aes_secret=this.joinInfo.aespassword,s.aes_encrypt=!0):s.aes_secret=this.joinInfo.aespassword,this.joinInfo.aessalt&&(s.aes_salt=this.joinInfo.aessalt)),n.addresses[this.signal.websocket.currentURLIndex]&&(s.ap_response.ticket=n.addresses[this.signal.websocket.currentURLIndex].ticket,delete n.addresses),this.joinInfo.defaultVideoStream!==void 0&&(s.default_video_stream=this.joinInfo.defaultVideoStream),s}getRejoinMessage(){if(!this.joinInfo)throw new xe(Q.UNEXPECTED_ERROR,"can not generate rejoin message, no join info");return{session_id:this.joinInfo.sid,channel_name:this.joinInfo.cname,cid:this.joinInfo.cid,uid:this.joinInfo.uid,vid:Number(this.joinInfo.vid)}}handleSignalEvents(){this.signal.on(Nt.WS_RECONNECT_WAITTING_FINISH,(t=>{var n;lt(n=["tryNext","recover"]).call(n,t)&&this.joinInfo&&mt.adjustSessionStartTime(this.joinInfo.sid)})),this.signal.on(Nt.WS_RECONNECT_CREATE_CONNECTION,(t=>{this.joinGatewayStartTime=Date.now()})),this.signal.on(Nt.WS_RECONNECTING,(t=>{this.joinInfo&&mt.WebSocketQuit(this.joinInfo.sid,{lts:Date.now(),succ:-1,cname:this.joinInfo.cname,uid:this.joinInfo.uid,cid:this.joinInfo.cid,errorCode:t||Oi.NETWORK_ERROR}),this.joinInfo&&(this.state="RECONNECTING",mt.sessionInit(this.joinInfo.sid,{lts:new Date().getTime(),extend:this.isSignalRecover?{recover:!0}:{rejoin:!0},cname:this.joinInfo.cname,appid:this.joinInfo.appId,mode:this.spec.mode,stringUid:this.joinInfo.stringUid,channelProfile:this.spec.mode==="live"?1:0,channelMode:0,lsid:this.joinInfo.sid,clientRole:this.role==="audience"?2:1,buildFormat:2}),this.isSignalRecover=!1,this.joinGatewayStartTime=Date.now())})),this.signal.on(Nt.WS_CLOSED,(t=>{let n;switch(t){case Tn.LEAVE:n=Oi.LEAVE;break;case Tn.UID_BANNED:case Tn.IP_BANNED:case Tn.CHANNEL_BANNED:case Tn.SERVER_ERROR:n=Oi.SERVER_ERROR;break;case Tn.FALLBACK:n=Oi.FALLBACK;break;case Tn.LICENSE_MISSING:case Tn.LICENSE_EXPIRED:case Tn.LICENSE_MINUTES_EXCEEDED:case Tn.LICENSE_PERIOD_INVALID:case Tn.LICENSE_MULTIPLE_SDK_SERVICE:case Tn.LICENSE_ILLEGAL:case Tn.TOKEN_EXPIRE:n=t;break;default:n=Oi.NETWORK_ERROR}D.debug("[".concat(this.store.clientId,"] [signal] websocket closed, reason: ").concat(n||"undefined -> "+Oi.NETWORK_ERROR)),this.joinInfo&&mt.WebSocketQuit(this.joinInfo.sid,{lts:Date.now(),succ:t===Tn.LEAVE?1:-1,cname:this.joinInfo.cname,uid:this.joinInfo.uid,cid:this.joinInfo.cid,errorCode:n}),this._disconnectedReason=t,t!==Tn.FALLBACK&&(this.state="DISCONNECTED"),this.reset()})),this.signal.on(Nt.WS_CONNECTED,(()=>{if(this.updateTurnConfigFromSignal(),this.state="CONNECTED",this.joinInfo&&(this.role==="audience"&&this._clientRoleOptions&&(this._clientRoleOptions.level||this._clientRoleOptions.delay)&&(D.debug("[".concat(this.store.clientId,"] patch to send set client role, role: ").concat(this.role,", mode: ").concat(this.spec.mode,", level: ").concat(this._clientRoleOptions.level,", delay: ").concat(this._clientRoleOptions.delay)),this.setClientRole(this.role,this._clientRoleOptions)),mt.joinGateway(this.joinInfo.sid,{lts:this.joinGatewayStartTime,succ:!0,ec:null,vid:this.joinInfo.vid,addr:this.signal.url,uid:this.joinInfo.uid,cid:this.joinInfo.cid,firstSuccess:this._isProactiveJoin,avoidJoinStartTime:this.store.avoidJoinStart,isProxy:!!this.joinInfo.proxyServer,signalChannel:"0",preload:this.joinInfo.preload}),this._isProactiveJoin=!1,this.joinInfo.useLocalAccessPoint&&this.joinInfo.setLocalAPVersion===1)){const t=this.signal.url&&this.signal.url.match(/wss\:\/\/([^:]+):(\d+)/);if(!t)return void D.error("[".concat(this.store.clientId,"] set local access point after joined failed: ").concat(t));Dn("EVENT_REPORT_DOMAIN",t[1]),Dn("EVENT_REPORT_BACKUP_DOMAIN",t[1]),Dn("LOG_UPLOAD_SERVER","".concat(t[1],":6444"))}})),this.signal.on(Kt.ON_UPLINK_STATS,(t=>{this._statsCollector.updateUplinkStats(t)})),this.signal.on(Nt.REQUEST_RECOVER,((t,n,r)=>{if(!this.joinInfo)return r(new xe(Q.UNEXPECTED_ERROR,"gateway: can not recover, no join info"));t&&(this.joinInfo.multiIP=t,this.hasChangeBGPAddress=!0),this.isSignalRecover=!0,ki(this,Ci.REQUEST_NEW_GATEWAY_LIST).then(n).catch(r)})),this.signal.on(Nt.REQUEST_JOIN_INFO,(async t=>{var n;if(this.updateTurnConfigFromSignal(),this.store.useP2P)return void t(this.getJoinMessage({ortc:{}}));const{iceParameters:r,dtlsParameters:i,rtpCapabilities:o}=await ki(this,Ci.REQUEST_P2P_CONNECTION_PARAMS,{turnServer:(n=this.joinInfo)===null||n===void 0?void 0:n.turnServer});t(this.getJoinMessage({ortc:{iceParameters:r,dtlsParameters:i,rtpCapabilities:o,version:"2"}}))})),this.signal.on(Nt.REQUEST_REJOIN_INFO,(t=>{t(this.getRejoinMessage())})),this.signal.on(Nt.REPORT_JOIN_GATEWAY,((t,n)=>{if(!this.joinInfo)return;let r,i="";var o;t instanceof xe?(r=((o=t.data)===null||o===void 0?void 0:o.desc)||t.code,i=t.message):r=t,mt.joinGateway(this.joinInfo.sid,{lts:this.joinGatewayStartTime,succ:!1,ec:r,errorMsg:i,addr:n,uid:this.joinInfo.uid,cid:this.joinInfo.cid,firstSuccess:this._isProactiveJoin,avoidJoinStartTime:this.store.avoidJoinStart,isProxy:!!this.joinInfo.proxyServer,signalChannel:"0",preload:this.joinInfo.preload}),this._isProactiveJoin=!1})),this.signal.on(Nt.IS_P2P_DISCONNECTED,(t=>{t(cg(this,Ci.IS_P2P_DISCONNECTED))})),this.signal.on(Nt.DISCONNECT_P2P,(()=>{this.emit(Ci.DISCONNECT_P2P)})),this.signal.on(Nt.REQUEST_SUCCESS,(()=>{this._signalTimeout=!1})),this.signal.on(Nt.REQUEST_TIMEOUT,(()=>{this._signalTimeout=!0})),this.signal.on(Nt.JOIN_RESPONSE,(t=>{const n=this.getCurrentGatewayAddress();this.emit(Ci.JOIN_RESPONSE,t,n)})),this.signal.on(Nt.PRE_CONNECT_PC,(async()=>{if(this.joinInfo){this.updateTurnConfigFromSignal();const t=this.getCurrentGatewayAddress(),n=he("FINGERPRINT")||this.joinInfo.apResponse.addresses[this.signal.currentURLIndex].fingerprint;if(t&&n){const r=l$(t);this.emit(Ci.PRE_CONNECT_PC,{candidates:r,fingerprint:n})}}}))}async tryUnsubBeforeResub(t,n){try{await this.signal.request(Dt.UNSUBSCRIBE,{p2p_id:this.store.p2pId,stream_id:t,ortc:[n]},!0)}catch(r){throw D.warning("[".concat(this.store.clientId,"] tryUnsubBeforeResub warning"),r),r}}async tryUnsubDataChannelBeforeResub(t,n){try{await this.signal.request(Dt.UNSUBSCRIBE,{stream_id:n.id},!0)}catch(r){throw D.warning("unsubscribe datachannel warning",r),r}}async tryUnpubBeforeRepub(t,n){try{await this.signal.request(Dt.UNPUBLISH,{stream_id:t,ortc:n},!0)}catch(r){throw D.warning("[".concat(this.store.clientId,"] tryUnpubBeforeRepub warning: "),r),r}}async tryUnpubDataChannelBeforeRepub(t,n){try{await this.signal.request(Dt.UNPUBLISH_DATASTREAM,{channnel_id:n.channelId},!0)}catch(r){throw D.warning("unpublish datastream warning: ",r),r}}async tryMassUnsubBeforeResub(t){const n={users:t.map((r=>({stream_id:r.stream_id,stream_type:r.stream_type})))};try{await this.signal.request(Dt.UNSUBSCRIBE_STREAMS,n,!0)}catch(r){throw D.warning("[".concat(this.store.clientId,"] tryMassUnsubBeforeResub warning"),r),r}}async muteLocal(t,n){const r={action:t.find((i=>i.stream_type===Sn.Audio))?"mute_local_audio":"mute_local_video",p2p_id:this.store.p2pId,ortc:t,stream_id:n};try{await this.signal.request(Dt.CONTROL,r,!0,!0)}catch(i){throw D.warning("[".concat(this.store.clientId,"] gateway muteLocal warning: "),i),i}}async unmuteLocal(t,n){const r={action:t.find((i=>i.stream_type===Sn.Audio))?"unmute_local_audio":"unmute_local_video",p2p_id:this.store.p2pId,ortc:t,stream_id:n};try{await this.signal.request(Dt.CONTROL,r,!0,!0)}catch(i){throw D.warning("[".concat(this.store.clientId,"] gateway unmuteLocal warning: "),i),i}}async muteRemote(t,n){const r={action:t===vt.AUDIO?"mute_remote_audio":"mute_remote_video",p2p_id:this.store.p2pId,stream_id:n};try{await this.signal.request(Dt.CONTROL,r,!0,!0)}catch(i){throw D.warning("[".concat(this.store.clientId,"] gateway muteRemote warning: "),i),i}}async unmuteRemote(t,n){const r={action:t===vt.AUDIO?"unmute_remote_audio":"unmute_remote_video",p2p_id:this.store.p2pId,stream_id:n};try{await this.signal.request(Dt.CONTROL,r,!0,!0)}catch(i){throw D.warning("[".concat(this.store.clientId,"] gateway unmuteRemote warning: "),i),i}}uploadWRTCStats(t){this.signal.uploadWRTCStats(t)}upload(t,n){this.signal.upload(t,n)}getSignalRTT(){return this.signal.rtt}async restartICE(t){const n={p2p_id:this.store.p2pId,stream_id:this.store.uid,ortc:t};try{return await this.signal.request(Dt.RESTART_ICE,n,!0)}catch(r){throw D.warning("[".concat(this.store.clientId,"] P2PChannel.restartICE warning: "),r),r}}reconnect(){this.state==="CONNECTED"&&this.signal.reconnect(void 0,Oi.P2P_FAILED)}getCurrentGatewayAddress(){var t,n;if(!he("GATEWAY_WSS_ADDRESS"))return he("USE_CANDIDATE_FROM_AP_DETAIL")&&(t=this.joinInfo)!==null&&t!==void 0&&t.apGatewayAddress?(D.debug("[".concat(this.store.clientId,"] use candidate from ap detail, ").concat(JSON.stringify(this.joinInfo.apGatewayAddress))),this.joinInfo.apGatewayAddress):(n=this.joinInfo)!==null&&n!==void 0&&n.gatewayAddrs?this.joinInfo.gatewayAddrs[this.signal.currentURLIndex]:void 0}async setPublishAudioFilterEnabled(t){await this.signal.request(Dt.SET_PARAMETER,{enablePublishAudioFilter:t})}}let E5=0,hE=0;function Tc(e,t,n,r){return new ot(((i,o)=>{t.timeout=t.timeout||he("HTTP_CONNECT_TIMEOUT"),t.responseType=t.responseType||"json",t.data&&!n?(t.data=JSON.stringify(t.data),E5+=qc(t.data)):n&&(t.data.size?E5+=t.data.size:t.data instanceof FormData?E5+=vq(t.data):E5+=qc(JSON.stringify(t.data))),t.headers=t.headers||{},t.headers["Content-Type"]=t.headers["Content-Type"]||"application/json",t.method="POST",t.url=e,Lo.request(t).then((s=>{typeof s.data=="string"?hE+=qc(s.data):s.data instanceof ArrayBuffer||s.data instanceof Uint8Array?hE+=s.data.byteLength:hE+=qc(JSON.stringify(s.data)),r&&i({data:s.data,headers:s.headers}),i(s.data)})).catch((s=>{Lo.isCancel(s)?o(new xe(Q.OPERATION_ABORTED,"cancel token canceled")):s.code==="ECONNABORTED"?o(new xe(Q.NETWORK_TIMEOUT,s.message)):s.response?o(new xe(Q.NETWORK_RESPONSE_ERROR,s.response.status)):o(new xe(Q.NETWORK_ERROR,s.message))}))}))}/*! formdata-polyfill. MIT License. Jimmy W?rting <https://jimmy.warting.se/opensource> */(function(){var e;function t(M){var B=0;return function(){return B<M.length?{done:!1,value:M[B++]}:{done:!0}}}var n=typeof Object.defineProperties=="function"?Object.defineProperty:function(M,B,q){return M==Array.prototype||M==Object.prototype||(M[B]=q.value),M},r,i=(function(M){M=[typeof globalThis=="object"&&globalThis,M,typeof window=="object"&&window,typeof self=="object"&&self,typeof jh=="object"&&jh];for(var B=0;B<M.length;++B){var q=M[B];if(q&&q.Math==Math)return q}throw Error("Cannot find global object")})(this);function o(M,B){if(B)e:{var q=i;M=M.split(".");for(var z=0;z<M.length-1;z++){var A=M[z];if(!(A in q))break e;q=q[A]}(B=B(z=q[M=M[M.length-1]]))!=z&&B!=null&&n(q,M,{configurable:!0,writable:!0,value:B})}}function s(M){return(M={next:M})[Symbol.iterator]=function(){return this},M}function a(M){var B=typeof Symbol<"u"&&Symbol.iterator&&M[Symbol.iterator];return B?B.call(M):{next:t(M)}}if(o("Symbol",(function(M){function B(A,T){this.A=A,n(this,"description",{configurable:!0,writable:!0,value:T})}if(M)return M;B.prototype.toString=function(){return this.A};var q="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",z=0;return function A(T){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new B(q+(T||"")+"_"+z++,T)}})),o("Symbol.iterator",(function(M){if(M)return M;M=Symbol("Symbol.iterator");for(var B="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),q=0;q<B.length;q++){var z=i[B[q]];typeof z=="function"&&typeof z.prototype[M]!="function"&&n(z.prototype,M,{configurable:!0,writable:!0,value:function(){return s(t(this))}})}return M})),typeof Object.setPrototypeOf=="function")r=Object.setPrototypeOf;else{var c;e:{var l={};try{l.__proto__={a:!0},c=l.a;break e}catch{}c=!1}r=c?function(M,B){if(M.__proto__=B,M.__proto__!==B)throw new TypeError(M+" is not extensible");return M}:null}var u=r;function d(){this.m=!1,this.j=null,this.v=void 0,this.h=1,this.u=this.C=0,this.l=null}function f(M){if(M.m)throw new TypeError("Generator is already running");M.m=!0}function h(M,B){return M.h=3,{value:B}}function p(M){this.g=new d,this.G=M}function g(M,B,q,z){try{var A=B.call(M.g.j,q);if(!(A instanceof Object))throw new TypeError("Iterator result "+A+" is not an object");if(!A.done)return M.g.m=!1,A;var T=A.value}catch(k){return M.g.j=null,M.g.s(k),m(M)}return M.g.j=null,z.call(M.g,T),m(M)}function m(M){for(;M.g.h;)try{var B=M.G(M.g);if(B)return M.g.m=!1,{value:B.value,done:!1}}catch(q){M.g.v=void 0,M.g.s(q)}if(M.g.m=!1,M.g.l){if(B=M.g.l,M.g.l=null,B.F)throw B.D;return{value:B.return,done:!0}}return{value:void 0,done:!0}}function y(M){this.next=function(B){return M.o(B)},this.throw=function(B){return M.s(B)},this.return=function(B){return(function(q,z){f(q.g);var A=q.g.j;return A?g(q,"return"in A?A.return:function(T){return{value:T,done:!0}},z,q.g.return):(q.g.return(z),m(q))})(M,B)},this[Symbol.iterator]=function(){return this}}function v(M,B){return B=new y(new p(B)),u&&M.prototype&&u(B,M.prototype),B}if(d.prototype.o=function(M){this.v=M},d.prototype.s=function(M){this.l={D:M,F:!0},this.h=this.C||this.u},d.prototype.return=function(M){this.l={return:M},this.h=this.u},p.prototype.o=function(M){return f(this.g),this.g.j?g(this,this.g.j.next,M,this.g.o):(this.g.o(M),m(this))},p.prototype.s=function(M){return f(this.g),this.g.j?g(this,this.g.j.throw,M,this.g.o):(this.g.s(M),m(this))},o("Array.prototype.entries",(function(M){return M||function(){return(function(B,q){B instanceof String&&(B+="");var z=0,A=!1,T={next:function(){if(!A&&z<B.length){var k=z++;return{value:q(k,B[k]),done:!1}}return A=!0,{done:!0,value:void 0}}};return T[Symbol.iterator]=function(){return T},T})(this,(function(B,q){return[B,q]}))}})),typeof Blob<"u"&&(typeof FormData>"u"||!FormData.prototype.keys)){var E=function(M,B){for(var q=0;q<M.length;q++)B(M[q])},b=function(M){return M.replace(/\r?\n|\r/g,`\r
`)},S=function(M,B,q){return B instanceof Blob?(q=q!==void 0?q+"":typeof B.name=="string"?B.name:"blob",B.name===q&&Object.prototype.toString.call(B)!=="[object Blob]"||(B=new File([B],q)),[String(M),B]):[String(M),String(B)]},w=function(M,B){if(M.length<B)throw new TypeError(B+" argument required, but only "+M.length+" present.")},C=typeof globalThis=="object"?globalThis:typeof window=="object"?window:typeof self=="object"?self:this,_=C.FormData,I=C.XMLHttpRequest&&C.XMLHttpRequest.prototype.send,O=C.Request&&C.fetch,L=C.navigator&&C.navigator.sendBeacon,R=C.Element&&C.Element.prototype,F=C.Symbol&&Symbol.toStringTag;F&&(Blob.prototype[F]||(Blob.prototype[F]="Blob"),"File"in C&&!File.prototype[F]&&(File.prototype[F]="File"));try{new File([],"")}catch{C.File=function(B,q,z){return B=new Blob(B,z||{}),Object.defineProperties(B,{name:{value:q},lastModified:{value:+(z&&z.lastModified!==void 0?new Date(z.lastModified):new Date)},toString:{value:function(){return"[object File]"}}}),F&&Object.defineProperty(B,F,{value:"File"}),B}}var W=function(M){return M.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22")},J=function(M){this.i=[];var B=this;M&&E(M.elements,(function(q){if(q.name&&!q.disabled&&q.type!=="submit"&&q.type!=="button"&&!q.matches("form fieldset[disabled] *"))if(q.type==="file"){var z=q.files&&q.files.length?q.files:[new File([],"",{type:"application/octet-stream"})];E(z,(function(A){B.append(q.name,A)}))}else q.type==="select-multiple"||q.type==="select-one"?E(q.options,(function(A){!A.disabled&&A.selected&&B.append(q.name,A.value)})):q.type==="checkbox"||q.type==="radio"?q.checked&&B.append(q.name,q.value):(z=q.type==="textarea"?b(q.value):q.value,B.append(q.name,z))}))};if((e=J.prototype).append=function(M,B,q){w(arguments,2),this.i.push(S(M,B,q))},e.delete=function(M){w(arguments,1);var B=[];M=String(M),E(this.i,(function(q){q[0]!==M&&B.push(q)})),this.i=B},e.entries=function M(){var B,q=this;return v(M,(function(z){if(z.h==1&&(B=0),z.h!=3)return B<q.i.length?z=h(z,q.i[B]):(z.h=0,z=void 0),z;B++,z.h=2}))},e.forEach=function(M,B){w(arguments,1);for(var q=a(this),z=q.next();!z.done;z=q.next()){var A=a(z.value);z=A.next().value,A=A.next().value,M.call(B,A,z,this)}},e.get=function(M){w(arguments,1);var B=this.i;M=String(M);for(var q=0;q<B.length;q++)if(B[q][0]===M)return B[q][1];return null},e.getAll=function(M){w(arguments,1);var B=[];return M=String(M),E(this.i,(function(q){q[0]===M&&B.push(q[1])})),B},e.has=function(M){w(arguments,1),M=String(M);for(var B=0;B<this.i.length;B++)if(this.i[B][0]===M)return!0;return!1},e.keys=function M(){var B,q,z,A,T=this;return v(M,(function(k){if(k.h==1&&(B=a(T),q=B.next()),k.h!=3)return q.done?void(k.h=0):(z=q.value,A=a(z),h(k,A.next().value));q=B.next(),k.h=2}))},e.set=function(M,B,q){w(arguments,2),M=String(M);var z=[],A=S(M,B,q),T=!0;E(this.i,(function(k){k[0]===M?T&&(T=!z.push(A)):z.push(k)})),T&&z.push(A),this.i=z},e.values=function M(){var B,q,z,A,T=this;return v(M,(function(k){if(k.h==1&&(B=a(T),q=B.next()),k.h!=3)return q.done?void(k.h=0):(z=q.value,(A=a(z)).next(),h(k,A.next().value));q=B.next(),k.h=2}))},J.prototype._asNative=function(){for(var M=new _,B=a(this),q=B.next();!q.done;q=B.next()){var z=a(q.value);q=z.next().value,z=z.next().value,M.append(q,z)}return M},J.prototype._blob=function(){var M="----formdata-polyfill-"+Math.random(),B=[],q="--"+M+`\r
Content-Disposition: form-data; name="`;return this.forEach((function(z,A){return typeof z=="string"?B.push(q+W(b(A))+`"\r
\r
`+b(z)+`\r
`):B.push(q+W(b(A))+'"; filename="'+W(z.name)+`"\r
Content-Type: `+(z.type||"application/octet-stream")+`\r
\r
`,z,`\r
`)})),B.push("--"+M+"--"),new Blob(B,{type:"multipart/form-data; boundary="+M})},J.prototype[Symbol.iterator]=function(){return this.entries()},J.prototype.toString=function(){return"[object FormData]"},R&&!R.matches&&(R.matches=R.matchesSelector||R.mozMatchesSelector||R.msMatchesSelector||R.oMatchesSelector||R.webkitMatchesSelector||function(M){for(var B=(M=(this.document||this.ownerDocument).querySelectorAll(M)).length;0<=--B&&M.item(B)!==this;);return-1<B}),F&&(J.prototype[F]="FormData"),I){var Y=C.XMLHttpRequest.prototype.setRequestHeader;C.XMLHttpRequest.prototype.setRequestHeader=function(M,B){Y.call(this,M,B),M.toLowerCase()==="content-type"&&(this.B=!0)},C.XMLHttpRequest.prototype.send=function(M){M instanceof J?(M=M._blob(),this.B||this.setRequestHeader("Content-Type",M.type),I.call(this,M)):I.call(this,M)}}O&&(C.fetch=function(M,B){return B&&B.body&&B.body instanceof J&&(B.body=B.body._blob()),O.call(this,M,B)}),L&&(C.navigator.sendBeacon=function(M,B){return B instanceof J&&(B=B._asNative()),L.call(this,M,B)}),C.FormData=J}})();const pg=()=>{const e=he("AREAS");return e.length===0&&e.push(gn.GLOBAL),vc(e).call(e,((t,n,r)=>{const i=m$(n);return i?r===0?i:"".concat(t,",").concat(i):t}),"")},m$=e=>e===gn.OVERSEA?"".concat(Ui.ASIA,",").concat(Ui.EUROPE,",").concat(Ui.AFRICA,",").concat(Ui.NORTH_AMERICA,",").concat(Ui.SOUTH_AMERICA,",").concat(Ui.OCEANIA):Ui[e],xBe=e=>{const t={CODE:"",WEBCS_DOMAIN:[],WEBCS_DOMAIN_BACKUP_LIST:[],PROXY_CS:[],CDS_AP:[],ACCOUNT_REGISTER:[],UAP_AP:[],EVENT_REPORT_DOMAIN:[],EVENT_REPORT_BACKUP_DOMAIN:[],LOG_UPLOAD_SERVER:[],PROXY_SERVER_TYPE3:[]};return e.map((n=>{const r=m6[n],i=Object.keys(r);i&&i.map((o=>{o!=="CODE"&&(t[o]=t[o].concat(r[o]))}))})),t},I3={GLOBAL:{ASIA:[gn.CHINA,gn.JAPAN,gn.INDIA,gn.KOREA,gn.HKMC],EUROPE:[],NORTH_AMERICA:[gn.US],SOUTH_AMERICA:[],OCEANIA:[],AFRICA:[]}},b5=Object.keys(I3[gn.GLOBAL]),pE=[gn.CHINA,gn.NORTH_AMERICA,gn.EUROPE,gn.ASIA,gn.JAPAN,gn.INDIA,gn.OCEANIA,gn.SOUTH_AMERICA,gn.AFRICA,gn.KOREA,gn.HKMC,gn.US],DBe=function(e,t){let n=[];if(lt(e).call(e,gn.GLOBAL)){const o=[gn.GLOBAL,gn.OVERSEA],s=Object.keys(m6);if(t===gn.GLOBAL)throw new xe(Q.INVALID_PARAMS,"GLOBAL is an invalid excludedArea value");if(t===gn.CHINA)n=[gn.OVERSEA];else if(i=t,lt(b5).call(b5,i)){const a=(r=t,I3[gn.GLOBAL][r]||[]),c=[...o,t,...a];n=s.filter((l=>!lt(c).call(c,l)))}else if((function(a){let c=!1;return b5.forEach((l=>{var u;lt(u=I3[gn.GLOBAL][l]).call(u,a)&&(c=!0)})),c})(t)){const a=(function(l){let u;return b5.forEach((d=>{var f;lt(f=I3[gn.GLOBAL][d]).call(f,l)&&(u=d)})),u})(t),c=[...o,a,t];n=s.filter((l=>!lt(c).call(c,l)))}else n=e;n=(function(a){const c=[];return pE.forEach((l=>{lt(a).call(a,l)&&c.push(l)})),c.concat(a.filter((l=>!lt(pE).call(pE,l))))})(n)}else n=e;var r,i;return n};function WF(e){var t,n;if(!e&&lt(t=he("AREAS")).call(t,gn.EXTENSIONS))return D.debug("update area from ap : reset"),void TI(cNe,!0);if(!lt(n=he("AREAS")).call(n,gn.GLOBAL)||!e)return;let r=m6.EXTENSIONS;r&&(r={CODE:m$(gn.EXTENSIONS),WEBCS_DOMAIN:["ap-web-1-".concat(e,".agora.io")],WEBCS_DOMAIN_BACKUP_LIST:["ap-web-2-".concat(e,".ap.sd-rtn.com")],PROXY_CS:["proxy-ap-web-".concat(e,".agora.io")],CDS_AP:["cds-ap-web-1-".concat(e,".agora.io"),"cds-ap-web-2-".concat(e,".ap.sd-rtn.com")],ACCOUNT_REGISTER:["sua-ap-web-1-".concat(e,".agora.io"),"sua-ap-web-2-".concat(e,".ap.sd-rtn.com")],UAP_AP:["uap-ap-web-1-".concat(e,".agora.io"),"uap-ap-web-2-".concat(e,".ap.sd-rtn.com")],EVENT_REPORT_DOMAIN:["statscollector-1-".concat(e,".agora.io")],EVENT_REPORT_BACKUP_DOMAIN:["statscollector-2-".concat(e,".agora.io")],LOG_UPLOAD_SERVER:["logservice-".concat(e,".agora.io")],PROXY_SERVER_TYPE3:["webrtc-cloud-proxy-".concat(e,".agora.io")]},D.debug("update area from ap success: ".concat(e,",config is "),r),Dn("AREAS",[gn.EXTENSIONS],!0),Object.keys(r).map((i=>{i==="LOG_UPLOAD_SERVER"||i==="EVENT_REPORT_DOMAIN"||i==="EVENT_REPORT_BACKUP_DOMAIN"||i==="PROXY_SERVER_TYPE3"?Dn(i,r[i][0]):Dn(i,r[i])})))}function TI(e){let t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];const n=mt.reportApiInvoke(null,{name:Zr.SET_AREA,options:e,tag:vr.TRACER});try{let r=[];if(typeof e=="string"&&(r=[e]),Array.isArray(e)&&(e.forEach((o=>{if(!lt(IM).call(IM,o))throw new xe(Q.INVALID_PARAMS,"invalid area code")})),r=e),Object.prototype.toString.call(e)==="[object Object]"){const{areaCode:o,excludedArea:s}=e;if(!o)throw new xe(Q.INVALID_PARAMS,"area code is needed");let a=o;typeof o=="string"&&(a=[o]),r=s?DBe(a,s):a}if(!t){if(bd.AREAS){const o=new xe(Q.PROHIBITED_OPERATION,"setArea is prohibited because of config-distribute");return n.onError(o),void D.warning("setArea is prohibited because of config-distribute")}if(lt(r).call(r,gn.GLOBAL)&&he("AREAS")===gn.EXTENSIONS){const o=new xe(Q.PROHIBITED_OPERATION,"setArea is prohibited because of ap extensions");return n.onError(o),void D.warning("setArea is prohibited because of ap extensions")}}Dn("AREAS",r,t);const i=xBe(r);Object.keys(i).map((o=>{o==="LOG_UPLOAD_SERVER"||o==="EVENT_REPORT_DOMAIN"||o==="EVENT_REPORT_BACKUP_DOMAIN"||o==="PROXY_SERVER_TYPE3"?Dn(o,i[o][0]):Dn(o,i[o])})),D.debug("set area success:",r.join(","))}catch(r){throw n.onError(r),r}n.onSuccess()}function VF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function sC(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?VF(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):VF(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let mE=1;function LBe(e,t,n,r,i){mE+=1;const o={sid:n.sid,command:"convergeAllocateEdge",uid:"666",appId:n.appId,ts:Math.floor(Date.now()/1e3),seq:mE,requestId:mE,version:oa,cname:n.cname},s={service_name:t,json_body:JSON.stringify(o)};let a,c,l=e[0];return wc((async()=>{a=Date.now();const u=await Tc(l,{data:s,cancelToken:r,headers:{"X-Packet-Service-Type":"0","X-Packet-URI":"61"}});if(c=Date.now()-a,u.code!==0){const h=new xe(Q.UNEXPECTED_RESPONSE,"live streaming ap error, code"+u.code,{retry:!0,responseTime:c});throw D.error(h.toString()),h}const d=JSON.parse(u.json_body);if(d.code!==200){const h=new xe(Q.UNEXPECTED_RESPONSE,"live streaming app center error, code: ".concat(d.code,", reason: ").concat(d.reason),{code:d.code,responseTime:c});throw D.error(h.toString()),h}if(!d.servers||d.servers.length===0){const h=new xe(Q.UNEXPECTED_RESPONSE,"live streaming app center empty server",{code:d.code,responseTime:c});throw D.error(h.toString()),h}const f=(function(h,p){return{addressList:h.servers.map((g=>"wss://".concat(g.address.replace(/\./g,"-"),".").concat(he("WORKER_DOMAIN"),":").concat(g.wss,"?serviceName=").concat(encodeURIComponent(p)))),workerToken:h.workerToken,vid:h.vid}})(d,t);return he("LIVE_STREAMING_ADDRESS")&&(f.addressList=he("LIVE_STREAMING_ADDRESS")instanceof Array?he("LIVE_STREAMING_ADDRESS"):[he("LIVE_STREAMING_ADDRESS")]),sC(sC({},f),{},{responseTime:c})}),((u,d)=>(mt.apworkerEvent(n.sid,{success:!0,sc:200,serviceName:t,responseDetail:JSON.stringify(u.addressList),firstSuccess:d===0,responseTime:c,serverIp:e[d%e.length]}),!1)),((u,d)=>(mt.apworkerEvent(n.sid,{success:!1,sc:u.data&&u.data.code||200,serviceName:t,responseTime:c,serverIp:e[d%e.length]}),!!(u.code!==Q.OPERATION_ABORTED&&u.code!==Q.UNEXPECTED_RESPONSE||u.data&&u.data.retry)&&(l=e[(d+1)%e.length],!0))),i)}let gE=1;function GF(e,t,n,r){let{url:i,areaCode:o}=e;const{clientId:s,sid:a}=t,c=Date.now();let l;const[u,d]=PI(t,o,[Mr.CHOOSE_SERVER]);let f=Fr.networkState;return wc((async()=>{f&&Fr.networkState===cs.OFFLINE&&Fr.onlineWaiter&&await ot.race([Fr.onlineWaiter,Ei(r&&r.maxRetryTimeout||jr.maxRetryTimeout)]),f=Fr.networkState;const{data:h,headers:p}=await Tc(i,{data:u,cancelToken:n,headers:{"Content-Type":"multipart/form-data;"}},!0,!0);l=p.http3==="1"?1:-1,mt.reportResourceTiming(i,a),g$(h,i,t,c,[Mr.CHOOSE_SERVER],l);const g=fg(h,Mr.CHOOSE_SERVER);return II(g),pI(g,i)}),(h=>(h&&mt.joinChooseServer(a,{lts:c,succ:!0,csAddr:i,opid:d,serverList:h.gatewayAddrs.map((p=>p.address)),ec:null,cid:h.cid.toString(),uid:h.uid.toString(),csIp:h.csIp,unilbsServerIds:[Mr.CHOOSE_SERVER].toString(),isHttp3:l}),!1)),(h=>h.code!==Q.OPERATION_ABORTED&&(h.code===Q.CAN_NOT_GET_GATEWAY_SERVER?h.data.retry:(mt.joinChooseServer(a,{lts:c,succ:!1,csAddr:i,serverList:null,opid:d,ec:h.code,csIp:h.data&&h.data.csIp,unilbsServerIds:[Mr.CHOOSE_SERVER].toString(),extend:JSON.stringify({networkState:f}),isHttp3:l}),D.warning("[".concat(s||"sid-".concat(a.slice(0,6)),"] Choose server network error, retry"),h),!0))),r)}function JF(e,t,n,r){let i,{url:o,areaCode:s,serviceIds:a}=e;const c=Date.now(),[l,u]=PI(t,s,a);let d;return wc((async()=>{d&&Fr.networkState===cs.OFFLINE&&Fr.onlineWaiter&&await ot.race([Fr.onlineWaiter,Ei(r&&r.maxRetryTimeout||jr.maxRetryTimeout)]),d=Fr.networkState;const{data:f,headers:h}=await Tc(o,{data:l,cancelToken:n,headers:{"Content-Type":"multipart/form-data;"}},!0,!0);i=h.http3==="1"?1:-1,mt.reportResourceTiming(o,t.sid),g$(f,o,t,c,a,i);const p=fg(f,Mr.CHOOSE_SERVER),g=fg(f,t.cloudProxyServer==="proxy5"?Mr.CLOUD_PROXY_5:t.cloudProxyServer==="proxy3"||t.cloudProxyServer==="proxy4"?Mr.CLOUD_PROXY:Mr.CLOUD_PROXY_FALLBACK);return II(p),{gatewayInfo:pI(p,o),proxyInfo:g,url:o}}),(f=>(f.gatewayInfo&&mt.joinChooseServer(t.sid,{lts:c,succ:!0,csAddr:o,serverList:f.gatewayInfo.gatewayAddrs.map((h=>h.address)),ec:null,opid:u,cid:f.gatewayInfo.cid.toString(),uid:f.gatewayInfo.uid.toString(),csIp:f.gatewayInfo.csIp,unilbsServerIds:a.toString(),isHttp3:i}),f.proxyInfo&&mt.joinWebProxyAP(t.sid,{lts:c,sucess:1,apServerAddr:o,turnServerAddrList:f.proxyInfo.addresses.map((h=>h.ip)).join(","),errorCode:null,eventType:t.cloudProxyServer,unilbsServerIds:a.toString()}),!1)),(f=>f.code!==Q.OPERATION_ABORTED&&(f.code===Q.CAN_NOT_GET_GATEWAY_SERVER?f.data.retry:(mt.joinWebProxyAP(t.sid,{lts:c,sucess:0,apServerAddr:o,turnServerAddrList:null,errorCode:f.code,eventType:t.cloudProxyServer,unilbsServerIds:a.toString(),extend:JSON.stringify({networkState:d})}),D.warning("[".concat(t.clientId,"] multi unilbs network error, retry"),f),!0))),r)}const g$=(e,t,n,r,i,o)=>{const{sid:s,clientId:a,cloudProxyServer:c}=n,l=[],u=d=>{d.flag===4096?mt.joinChooseServer(s,{lts:r,succ:!1,csAddr:t,opid:e.opid,serverList:null,ec:d.error.message,csIp:d.error.data&&d.error.data.csIp,unilbsServerIds:i.toString(),isHttp3:o}):d.flag!==1048576&&d.flag!==4194304&&d.flag!==4194310||mt.joinWebProxyAP(s,{lts:r,sucess:0,apServerAddr:t,turnServerAddrList:null,errorCode:d.error.code,eventType:c,unilbsServerIds:i.toString()})};if(e.response_body.forEach((d=>{const f=d.buffer.code;if(d.uri===23&&f===0&&!d.buffer.edges_services)if(d.buffer.flag===4194310)D.warning("no edge services in ap response of proxy fallback, will not set proxy in iceServers"),d.buffer.edges_services=[];else{const h={error:new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,"no edge services in ap response",{retry:!0,csIp:e.detail[502]}),flag:d.buffer.flag};l.push(h),u(h)}if(f!==0){const h=Sp(f),p={error:new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,h.desc,{desc:h.desc,retry:h.retry,csIp:e.detail[502]}),flag:d.buffer.flag};d.buffer.flag===4194310?D.warning(p.error.toString()):l.push(p),u(p)}})),l.length)throw D.warning("[".concat(a||"sid-".concat(s.slice(0,6)),"] multi unilbs ").concat(t," failed, ").concat(l.map((d=>"flag: ".concat(d.flag,", message: ").concat(d.error.message,", retry: ").concat(d.error.data.retry))).join(" | "))),new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,l.map((d=>"flag: ".concat(d.flag,", message: ").concat(d.error.message))).join(" | "),{retry:!!l.find((d=>d.error.data.retry)),csIp:e.detail[502],desc:[...new Set(l.map((d=>{var f;return d==null||(f=d.error)===null||f===void 0||(f=f.data)===null||f===void 0?void 0:f.desc})).filter((d=>!!d)))]})},II=e=>{var t,n,r,i;if(e.addresses&&e.addresses.length===0&&e.code===0)throw new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,"void gateway address",{retry:!0,csIp:e.detail&&e.detail[502]});if(he("AP_AREA")&&((r=e.detail)!==null&&r!==void 0&&r[23]&&typeof((i=e.detail)===null||i===void 0?void 0:i[23])=="string"?WF(e.detail[23].toLowerCase()):WF()),(t=e.detail)!==null&&t!==void 0&&t[19]&&typeof((n=e.detail)===null||n===void 0?void 0:n[19])=="string"){const s=e.detail[19],a=s==null?void 0:s.split(";");for(let c=0;c<a.length;c++){var o;const l=ao(o=a[c]).call(o);e.addresses[c]&&a&&(e.addresses[c].fingerprint=l)}}if(he("GATEWAY_ADDRESS")&&he("GATEWAY_ADDRESS").length>0){D.debug("assign gateway address to",he("GATEWAY_ADDRESS"));const s=he("GATEWAY_ADDRESS").map((a=>{var c,l;const u=(c=(l=e.addresses.find((d=>d.ip===a.ip&&d.port===a.port)))===null||l===void 0?void 0:l.fingerprint)!==null&&c!==void 0?c:"";return{ip:a.ip,port:a.port,ticket:e.addresses[0]&&e.addresses[0].ticket,fingerprint:u}}));e.addresses=s}},NBe=(e,t)=>{if(e.response_body&&e.response_body.length){const n=e.response_body[0];if(n.buffer.code!==0){const r=Sp(n.buffer.code);throw new xe(Q.UPDATE_TICKET_FAILED,"[".concat(n.buffer.code,"]: ").concat(r.desc),{retry:r.retry})}return n.buffer.ticket}throw D.debug("update ticket request received ap response without response body:",t),new xe(Q.UPDATE_TICKET_FAILED,"cannot find response body from ap response",{retry:!1})},PI=(e,t,n)=>{const r=Math.floor(Math.random()*1e12),i={appid:e.appId,client_ts:Date.now(),opid:r,sid:e.sid,request_bodies:[{uri:22,buffer:{cname:e.cname,detail:sC({6:e.stringUid,11:t,12:he("USE_NEW_TOKEN")?"1":void 0,22:t},e.apRTM?{26:"RTM2"}:{}),key:e.token,service_ids:n,uid:e.uid||0}}]};i.request_bodies.forEach((s=>{e.multiIP&&e.multiIP.gateway_ip&&(s.buffer.detail[5]=JSON.stringify({vocs_ip:[e.multiIP.uni_lbs_ip],vos_ip:[e.multiIP.gateway_ip]}))}));const o=new FormData;return o.append("request",JSON.stringify(i)),[o,r]},MBe=(e,t)=>{const n=Math.floor(Math.random()*1e12),r={appid:e.appId,client_ts:Date.now(),opid:n,sid:e.sid,request_bodies:[{uri:28,buffer:{cname:e.cname,detail:{1:"",6:e.stringUid,12:"1"},token:e.token,service_ids:t,uid:e.uid||0,edges_services:e.apResponse.addresses.map((o=>({ip:o.ip,port:o.port})))}}]},i=new FormData;return i.append("request",JSON.stringify(r)),[i,n]};let Zh=0;function e1(e){return ot.all(e.map((t=>t.then((n=>{throw n}),(n=>n))))).then((t=>{throw t}),(t=>t))}const mg=async e=>{let{fragementLength:t,referenceList:n,asyncMapHandler:r,allFailedhandler:i,promisesCollector:o}=e,s=0;const a=t;let c,l=0;const u=async()=>{const d=(()=>{const f=s*a,h=f+a;return n.slice(f,h).map(r)})();o&&o.push(...d);try{c=await e1(d)}catch(f){if(l+=a,s++,!(l>=n.length))return void await u();i(f)}d.forEach((f=>f.cancel()))};return await u(),c},v$=async e=>{let{referenceList:t,asyncMapHandler:n,closeFn:r}=e;const i=t.length;let o=0;const s=async()=>{const a=n(t.shift());try{return await a}catch(c){if(o++,o>=i||r!=null&&r(c))throw c;return s()}};return s()};async function aC(e,t,n,r){return{gatewayInfo:await(async function(o,s,a,c){let l=null;const u=[],d=async()=>{const h=he("WEBCS_DOMAIN").slice(0,he("AJAX_REQUEST_CONCURRENT")).map((m=>({url:o.proxyServer?"https://".concat(o.proxyServer,"/ap/?url=").concat(m+"/api/v2/transpond/webrtc?v=2"):"https://".concat(m,"/api/v2/transpond/webrtc?v=2"),areaCode:pg()}))),p=c.recordJoinChannelService({startTs:Date.now(),status:"pending",service:"chooseServer",urls:h.map((m=>m.url))}),g=await mg({fragementLength:he("FRAGEMENT_LENGTH"),referenceList:h,asyncMapHandler:m=>(D.debug("[".concat(o.clientId,"] Connect to choose_server:"),m.url),GF(m,o,s,a)),allFailedhandler:m=>{throw c.recordJoinChannelService({endTs:Date.now(),status:"error",errors:m},p),m[0]},promisesCollector:u});return c.recordJoinChannelService({endTs:Date.now(),status:"success"},p),g},f=async()=>{if(await Ei(1e3),l!==null)return l;const h=he("WEBCS_DOMAIN_BACKUP_LIST").map((m=>({url:o.proxyServer?"https://".concat(o.proxyServer,"/ap/?url=").concat(m+"/api/v2/transpond/webrtc?v=2"):"https://".concat(m,"/api/v2/transpond/webrtc?v=2"),areaCode:pg()}))),p=c.recordJoinChannelService({endTs:void 0,startTs:Date.now(),status:"pending",service:"chooseServer",urls:h.map((m=>m.url))}),g=await mg({fragementLength:he("FRAGEMENT_LENGTH"),referenceList:h,asyncMapHandler:m=>(D.debug("[".concat(o.clientId,"] Connect to backup choose_server:"),m.url),GF(m,o,s,a)),allFailedhandler:m=>{throw c.recordJoinChannelService({endTs:Date.now(),status:"error",errors:m},p),m[0]},promisesCollector:u});return c.recordJoinChannelService({endTs:Date.now(),status:"success"},p),g};try{return l=await e1([d(),f()]),u.length&&u.forEach((h=>h.cancel&&typeof h.cancel=="function"&&h.cancel())),l}catch(h){throw h[0]}})(e,t,n,r)}}async function ZF(e,t,n,r,i){const o=e.cloudProxyServer;if(o==="disabled"){if(e.useLocalAccessPoint)return await aC(e,t,n,i);if(he("JOIN_WITH_FALLBACK_MEDIA_PROXY")){const{gatewayInfo:f,proxyInfo:h}=await XF(e,t,n,i);if(e.turnServer&&e.turnServer.mode!=="auto")return{gatewayInfo:f};const p=h.map((g=>({turnServerURL:g.address,tcpport:g.tcpport||Ti.tcpport,udpport:g.udpport||Ti.udpport,username:g.username||Ti.username,password:g.password||Ti.password,forceturn:!1,security:!0})));if(i.useP2P){var s;const g=(s=e.uid)!==null&&s!==void 0?s:f.uid,m="glb:".concat(g.toString()),y=await GA(m),v=h.map((E=>({turnServerURL:E.address,tcpport:E.tcpport||Ti.tcpport,udpport:E.udpport||Ti.udpport,username:m,password:y,forceturn:!1,security:!0})));p.push(...v)}return e.turnServer={mode:"manual",servers:p},{gatewayInfo:f}}return await aC(e,t,n,i)}const{proxyInfo:a,gatewayInfo:c}=await XF(e,t,n,i),l={gatewayInfo:c},u=a.map((f=>({turnServerURL:f.address,tcpport:o==="proxy3"?void 0:f.tcpport?f.tcpport:Ti.tcpport,udpport:o==="proxy4"?void 0:f.udpport?f.udpport:Ti.udpport,username:f.username||Ti.username,password:f.password||Ti.password,forceturn:o!=="proxy4",security:o==="proxy5"})));if(i.useP2P){var d;const f=(d=e.uid)!==null&&d!==void 0?d:c.uid,h="glb:".concat(f.toString()),p=await GA(h),g=a.map((m=>({turnServerURL:m.address,tcpport:o==="proxy3"?void 0:m.tcpport||Ti.tcpport,udpport:o==="proxy4"?void 0:m.udpport||Ti.udpport,username:h,password:p,forceturn:o!=="proxy4",security:o==="proxy5"})));u.push(...g)}return e.turnServer={mode:"manual",servers:u},D.debug("[".concat(e.clientId,"] set proxy server: ").concat(e.proxyServer,", mode: ").concat(o)),l}async function y$(e,t,n,r,i){const o=he("ACCOUNT_REGISTER").slice(0,he("AJAX_REQUEST_CONCURRENT"));let s=[];s=t.proxyServer?o.map((c=>"https://".concat(t.proxyServer,"/ap/?url=").concat(c+"/api/v1"))):o.map((c=>"https://".concat(c,"/api/v1")));const a=i==null?void 0:i.recordJoinChannelService({startTs:Date.now(),status:"pending",service:"stringUID",urls:s});try{const c=await(async function(l,u,d,f,h){const p=Date.now(),g={sid:d.sid,opid:10,appid:d.appId,string_uid:u};let m=l[0];const y=await wc((()=>Tc(m+"".concat(m.indexOf("?")===-1?"?":"&","action=stringuid"),{data:g,cancelToken:f,headers:{"X-Packet-Service-Type":0,"X-Packet-URI":72}})),((v,E)=>{if(v.code===0){if(v.uid<=0||v.uid>=Math.pow(2,32))throw D.error("Invalid Uint Uid ".concat(u," => ").concat(v.uid),v),mt.reqUserAccount(g.sid,{lts:p,success:!1,serverAddr:m,stringUid:g.string_uid,uid:v.uid,errorCode:Q.INVALID_UINT_UID_FROM_STRING_UID,extend:g}),new xe(Q.INVALID_UINT_UID_FROM_STRING_UID);return mt.reqUserAccount(g.sid,{lts:p,success:!0,serverAddr:m,stringUid:g.string_uid,uid:v.uid,errorCode:null,extend:g}),!1}const b=Sp(v.code);return b.retry&&(m=l[(E+1)%l.length]),mt.reqUserAccount(g.sid,{lts:p,success:!1,serverAddr:m,stringUid:g.string_uid,uid:v.uid,errorCode:b.desc,extend:g}),b.retry}),((v,E)=>v.code!==Q.OPERATION_ABORTED&&(mt.reqUserAccount(g.sid,{lts:p,success:!1,serverAddr:m,stringUid:g.string_uid,uid:null,errorCode:v.code,extend:g}),m=l[(E+1)%l.length],!0)),h);if(y.code!==0){const v=Sp(y.code);throw new xe(Q.UNEXPECTED_RESPONSE,v.desc)}return y})(s,e,t,n,r);return i==null||i.recordJoinChannelService({status:"success",endTs:Date.now()},a),c.uid}catch(c){throw i==null||i.recordJoinChannelService({status:"error",endTs:Date.now(),errors:[c]},a),c}}async function BBe(e,t,n){const r=he("ACCOUNT_REGISTER");let i=[];i=t.proxyServer?r.map((o=>"https://".concat(t.proxyServer,"/ap/?url=").concat(o+"/api/v1"))):r.map((o=>"https://".concat(o,"/api/v1")));try{return await v$({referenceList:i,asyncMapHandler:s=>(async function(a,c,l,u){const d=Date.now(),f={sid:l.sid,opid:10,appid:l.appId,string_uid:c};try{const h=await Tc(a+"".concat(a.indexOf("?")===-1?"?":"&","action=stringuid"),{data:f,cancelToken:u,headers:{"X-Packet-Service-Type":0,"X-Packet-URI":72}});if(h.code!==0){const p=Sp(h.code);throw new xe(Q.UNEXPECTED_RESPONSE,"preload sua error:".concat(p.desc),p)}if(h.uid<=0||h.uid>=Math.pow(2,32))throw new xe(Q.INVALID_UINT_UID_FROM_STRING_UID);return{requestTime:d,url:a,req:f,uid:h.uid,elapse:Date.now()-d}}catch(h){throw h}})(s,e,t,n),closeFn:s=>s.code===Q.OPERATION_ABORTED||s.code===Q.UNEXPECTED_RESPONSE&&!s.data.retry})}catch(o){throw o}}async function FBe(e,t,n){const r=he("CDS_AP").slice(0,he("AJAX_REQUEST_CONCURRENT")).map((c=>e.proxyServer?"https://".concat(e.proxyServer,"/ap/?url=").concat(c+"/api/v1"):"https://".concat(c,"/api/v1?action=config"))),i=r.map((c=>(function(l,u,d,f){const h=an(),p={flag:64,cipher_method:0,features:{device:h.name,system:h.os,system_general:navigator.userAgent,vendor:u.appId,version:oa,cname:u.cname,sid:u.sid,session_id:u.sid,detail:"",proxyServer:u.proxyServer}};return wc((()=>Tc(l,{data:p,timeout:1e3,cancelToken:d,headers:{"X-Packet-Service-Type":0,"X-Packet-URI":54}})),void 0,(g=>g.code!==Q.OPERATION_ABORTED),f)})(c,e,t,n)));let o=null,s=null,a={};try{o=await e1(i)}catch(c){if(c.code===Q.OPERATION_ABORTED)throw c;s=c}if(i.forEach((c=>c.cancel())),mt.reportApiInvoke(e.sid,{name:Zr.REQUEST_CONFIG_DISTRIBUTE,options:{error:s,res:o}}).onSuccess(),o&&o.test_tags)try{a=(function(c){if(!c.test_tags)return{};const l=c.test_tags,u=Object.keys(l),d={};return u.forEach((f=>{var h;const p=ao(h=f.slice(4)).call(h),g=JSON.parse(l[f])[1];d[p]=g})),d})(o)}catch{}return a}async function YF(e,t){const n=he("WEBCS_DOMAIN").concat(he("WEBCS_DOMAIN_BACKUP_LIST")).map((r=>({url:"https://".concat(r,"/api/v2/transpond/webrtc?v=2"),areaCode:pg(),serviceIds:[Mr.CHOOSE_SERVER,Mr.CLOUD_PROXY_FALLBACK]})));try{return await v$({referenceList:n,asyncMapHandler:i=>(async function(o,s,a){let c,{url:l,areaCode:u,serviceIds:d}=o;const f=Date.now(),[h,p]=PI(s,u,d);let g=Fr.networkState;try{g&&Fr.networkState===cs.OFFLINE&&Fr.onlineWaiter&&await ot.race([Fr.onlineWaiter,Ei(jr.maxRetryTimeout)]),g=Fr.networkState;const{data:m,headers:y}=await Tc(l,{data:h,cancelToken:a,headers:{"Content-Type":"multipart/form-data;"}},!0,!0);c=y.http3==="1"?1:-1,(S=>{const w=[];if(S.response_body.forEach((C=>{const _=C.buffer.code;if(C.uri===23&&_===0&&!C.buffer.edges_services)if(C.buffer.flag===4194310)C.buffer.edges_services=[];else{const I={error:new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,"no edge services in ap response",{retry:!0,csIp:S.detail[502]}),flag:C.buffer.flag};w.push(I)}if(_!==0){const I=Sp(_),O={error:new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,I.desc,{desc:I.desc,retry:I.retry,csIp:S.detail[502]}),flag:C.buffer.flag};C.buffer.flag===4194310?D.warning(O.error.toString()):w.push(O)}})),w.length)throw new xe(Q.CAN_NOT_GET_GATEWAY_SERVER,w.map((C=>"flag: ".concat(C.flag,", message: ").concat(C.error.message))).join(" | "),{retry:!!w.find((C=>C.error.data.retry)),csIp:S.detail[502],desc:[...new Set(w.map((C=>{var _;return C==null||(_=C.error)===null||_===void 0||(_=_.data)===null||_===void 0?void 0:_.desc})).filter((C=>!!C)))]})})(m);const E=fg(m,Mr.CHOOSE_SERVER),b=fg(m,Mr.CLOUD_PROXY_FALLBACK);return II(E),{gatewayInfo:pI(E,l),proxyInfo:b,opid:p,requestTime:f,url:l,isHttp3:c,elapse:Date.now()-f}}catch(m){throw m}})(i,e,t),closeFn:i=>i.code===Q.OPERATION_ABORTED||i.code===Q.CAN_NOT_GET_GATEWAY_SERVER&&!i.data.retry})}catch(r){throw r}}async function XF(e,t,n,r){const i=he("PROXY_SERVER_TYPE3"),o=(h,p,g)=>{let m=g||i;return Array.isArray(m)&&(m=p%2==0?i[1]:i[0]),"https://".concat(m,"/ap/?url=").concat(h)};let s=null;const a=[],c=async()=>{const h=he("WEBCS_DOMAIN").slice(0,he("AJAX_REQUEST_CONCURRENT")).map(((m,y)=>{let v;return v=e.cloudProxyServer==="disabled"&&e.proxyServer?o("".concat(m,"/api/v2/transpond/webrtc?v=2"),y,e.proxyServer):e.cloudProxyServer==="disabled"||e.cloudProxyServer==="fallback"?"https://".concat(m,"/api/v2/transpond/webrtc?v=2"):o("".concat(m,"/api/v2/transpond/webrtc?v=2"),y),{url:v,areaCode:pg(),serviceIds:[Mr.CHOOSE_SERVER,e.cloudProxyServer==="proxy5"?Mr.CLOUD_PROXY_5:e.cloudProxyServer==="proxy3"||e.cloudProxyServer==="proxy4"?Mr.CLOUD_PROXY:Mr.CLOUD_PROXY_FALLBACK]}})),p=r.recordJoinChannelService({startTs:Date.now(),status:"pending",service:"chooseServer",urls:h.map((m=>m.url))}),g=await mg({fragementLength:he("FRAGEMENT_LENGTH"),referenceList:h,asyncMapHandler:m=>(D.debug("[".concat(e.clientId,"] Connect to choose_server:"),m.url),JF(m,e,t,n)),allFailedhandler:m=>{throw r.recordJoinChannelService({endTs:Date.now(),status:"error",errors:m},p),m[0]},promisesCollector:a});return r.recordJoinChannelService({endTs:Date.now(),status:"success"},p),g},l=async()=>{if(await Ei(1e3),s!==null)return s;const h=he("WEBCS_DOMAIN_BACKUP_LIST").map(((m,y)=>{let v;return v=e.cloudProxyServer==="disabled"&&e.proxyServer?o("".concat(m,"/api/v2/transpond/webrtc?v=2"),y,e.proxyServer):e.cloudProxyServer==="disabled"||e.cloudProxyServer==="fallback"?"https://".concat(m,"/api/v2/transpond/webrtc?v=2"):o("".concat(m,"/api/v2/transpond/webrtc?v=2"),y),{url:v,areaCode:pg(),serviceIds:[Mr.CHOOSE_SERVER,e.cloudProxyServer==="proxy5"?Mr.CLOUD_PROXY_5:e.cloudProxyServer==="proxy3"||e.cloudProxyServer==="proxy4"?Mr.CLOUD_PROXY:Mr.CLOUD_PROXY_FALLBACK]}})),p=r.recordJoinChannelService({startTs:Date.now(),status:"pending",service:"chooseServer",urls:h.map((m=>m.url))}),g=await mg({fragementLength:he("FRAGEMENT_LENGTH"),referenceList:h,asyncMapHandler:m=>(D.debug("[".concat(e.clientId,"] Connect to backup choose_server:"),m.url),JF(m,e,t,n)),allFailedhandler:m=>{throw r.recordJoinChannelService({endTs:Date.now(),status:"error",errors:m},p),m[0]},promisesCollector:a});return r.recordJoinChannelService({endTs:Date.now(),status:"success"},p),g};let u,d,f;try{({gatewayInfo:u,proxyInfo:d,url:f}=await e1([c(),l()]))}catch(h){throw h[0]}if(a.length&&a.forEach((h=>h.cancel&&typeof h.cancel=="function"&&h.cancel())),!u||!d)throw new xe(Q.UNEXPECTED_ERROR,"missing gateway or proxy response").print();if(e.apUrl=f,e.cloudProxyServer!=="disabled"&&Array.isArray(i)&&f){const h=/^https?:\/\/(.+?)(\/.*)?$/.exec(f)[1];lt(i).call(i,h)&&(e.proxyServer=h,D.setProxyServer(h),mt.setProxyServer(h))}return s={gatewayInfo:u,proxyInfo:await Oq(d,u.uid)},s}async function UBe(e,t,n){const r=he("UAP_AP").slice(0,he("AJAX_REQUEST_CONCURRENT")).map((o=>e.proxyServer?"https://".concat(e.proxyServer,"/ap/?url=").concat(o+"/api/v1?action=uap"):"https://".concat(o,"/api/v1?action=uap"))),i=r.map((o=>(function(s,a,c,l){const u={command:"convergeAllocateEdge",sid:a.sid,appId:a.appId,token:a.token,ts:Date.now(),version:oa,cname:a.cname,uid:a.uid.toString(),requestId:gE,seq:gE};gE+=1;const d={service_name:"tele_channel",json_body:JSON.stringify(u)};return wc((async()=>{const f=await Tc(s,{data:d,cancelToken:c,headers:{"X-Packet-Service-Type":0,"X-Packet-URI":61}});if(f.code!==0){const p=new xe(Q.UNEXPECTED_RESPONSE,"cross channel ap error, code"+f.code,{retry:!0});throw D.error(p.toString()),p}const h=JSON.parse(f.json_body);if(h.code!==200){const p=new xe(Q.UNEXPECTED_RESPONSE,"cross channel app center error, code: ".concat(h.code,", reason: ").concat(h.reason));throw D.error(p.toString()),p}if(!h.servers||h.servers.length===0){const p=new xe(Q.UNEXPECTED_RESPONSE,"cross channel app center empty server");throw D.error(p.toString()),p}return{vid:h.vid,workerToken:h.workerToken,addressList:(he("CHANNEL_MEDIA_RELAY_SERVERS")||h.servers).map((p=>"wss://".concat(p.address.replace(/\./g,"-"),".").concat(he("WORKER_DOMAIN"),":").concat(p.wss)))}}),void 0,(f=>!!(f.code!==Q.OPERATION_ABORTED&&f.code!==Q.UNEXPECTED_RESPONSE||f.data&&f.data.retry)),l)})(o,e,t,n)));try{const o=await e1(i);return i.forEach((s=>s.cancel())),o}catch(o){throw o[0]}}async function jBe(e,t,n){let r=null;const i=[],o=async s=>{const a=he(s?"WEBCS_DOMAIN_BACKUP_LIST":"WEBCS_DOMAIN").map((c=>e.proxyServer?"https://".concat(e.proxyServer,"/ap/?url=").concat(c+"/api/v2/transpond/webrtc?v=2"):"https://".concat(c,"/api/v2/transpond/webrtc?v=2")));return s&&(await Ei(1e3),r!==null)?r:await mg({fragementLength:he("FRAGEMENT_LENGTH"),referenceList:a,asyncMapHandler:c=>(D.debug("[".concat(e.clientId,"] update ticket, Connect to ").concat(s?"backup":""," choose_server:"),c),(function(l,u,d,f){const[h]=MBe(u,[Mr.CHOOSE_SERVER]);let p=Fr.networkState;return wc((async()=>{p&&Fr.networkState===cs.OFFLINE&&Fr.onlineWaiter&&await ot.race([Fr.onlineWaiter,Ei(f&&f.maxRetryTimeout||jr.maxRetryTimeout)]),p=Fr.networkState;const g=await Tc(l,{data:h,cancelToken:d,headers:{"Content-Type":"multipart/form-data;"}},!0);return NBe(g,l)}),(()=>!1),(g=>g.code!==Q.OPERATION_ABORTED&&(g.code===Q.UPDATE_TICKET_FAILED?g.data.retry:(D.warning("[".concat(u.clientId,"] update ticket network error, retry"),g),!0))),f)})(c,e,t,n)),allFailedhandler:c=>{throw c[0]},promisesCollector:i})};try{return r=await e1([o(!1),o(!0)]),i.length&&i.forEach((s=>s.cancel&&typeof s.cancel=="function"&&s.cancel())),r}catch(s){throw s[0]}}function QF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function KF(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QF(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QF(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class HBe extends fr{get isSuccess(){return!!this.configs}constructor(){super(),H(this,"configs",void 0),H(this,"joinInfo",void 0),H(this,"cancelToken",void 0),H(this,"retryConfig",{timeout:3e3,timeoutFactor:1.5,maxRetryCount:1,maxRetryTimeout:1e4}),H(this,"interval",void 0),H(this,"mutex",new Hi("config-distribute")),H(this,"mutableParamsRead",!1)}startGetConfigDistribute(t,n){this.joinInfo=t,this.cancelToken=n,this.interval&&this.stopGetConfigDistribute(),he("ENABLE_CONFIG_DISTRIBUTE")&&(this.updateConfigDistribute(),this.interval=window.setInterval((()=>{this.updateConfigDistribute()}),he("CONFIG_DISTRIBUTE_INTERVAL")))}stopGetConfigDistribute(){this.interval&&clearInterval(this.interval),this.interval=void 0,this.joinInfo=void 0,this.cancelToken=void 0}async awaitConfigDistributeComplete(){this.mutex.isLocked&&(await this.mutex.lock())()}async updateConfigDistribute(){if(this.mutableParamsRead||(this.mutableParamsRead=!0,mt.reportApiInvoke(null,{options:void 0,name:Zr.LOAD_CONFIG_FROM_LOCALSTORAGE,tag:vr.TRACER}).onSuccess(JSON.stringify(bd))),!this.joinInfo||!this.cancelToken||!this.retryConfig)return void D.debug("[config-distribute] get config distribute interrupted have no joininfo");let t;const n=await this.mutex.lock();try{t=await FBe(this.joinInfo,this.cancelToken,this.retryConfig),D.debug("[config-distribute] get config distribute",JSON.stringify(t)),t.limit_bitrate&&this.handleBitrateLimit(t.limit_bitrate),this.cacheGlobalParameterConfig(t),this.configs=t}catch(r){const i=new xe(Q.NETWORK_RESPONSE_ERROR,r);D.warning("[config-distribute] ".concat(i.toString()))}finally{n()}}getBitrateLimit(){return this.configs?this.configs.limit_bitrate:void 0}handleBitrateLimit(t){var n;(n=t)&&n.uplink&&n.id&&n.uplink.max_bitrate!==void 0&&n.uplink.min_bitrate!==void 0&&(this.configs&&this.configs.limit_bitrate?this.configs&&this.configs.limit_bitrate&&this.configs.limit_bitrate.id!==t.id&&this.emit(QA.UPDATE_BITRATE_LIMIT,t):this.emit(QA.UPDATE_BITRATE_LIMIT,t))}getLowStreamConfigDistribute(){return this.configs&&this.configs.limit_bitrate&&KF({},this.configs.limit_bitrate.low_stream_uplink)}cacheGlobalParameterConfig(t){var n;const r=n2(n=Object.keys(t).filter((o=>/^webrtc_ng_global_parameter/.test(o)))).call(n);for(let o=0;o<r.length;o++)for(let s=r.length-1;s>o;s--){const a=r[s];if(typeof t[a].__priority=="number"){const c=t[a].__priority,l=r[s-1];if(typeof t[l].__priority=="number"){if(!(c>t[l].__priority))continue;{const u=a;r[s]=r[s-1],r[s-1]=u}}else{const u=a;r[s]=r[s-1],r[s-1]=u}}}const i={};r.forEach((o=>{const s=t[o],a=s.__expires;Object.keys(s).forEach((c=>{c==="__priority"||c==="__expires"||Object.prototype.hasOwnProperty.call(i,c)||(i[c]=KF({value:s[c]},a&&{expires:a}))}))}));try{(function(a){try{const c=Date.now();Object.keys(a).forEach((l=>{switch(l){case"ENABLE_EVENT_REPORT":case"UPLOAD_LOG":case"ENABLE_AG_ADAPTATION":case"FORCE_AG_HIGH_FRAMERATE":case"FORCE_SUPPORT_AG_ADAPTATION":case"ENCODER_CONFIG_LIMIT":case"CAMERA_CAPTURE_CONFIG":case"ENABLE_PRELOAD":if(Object.prototype.hasOwnProperty.call(Pr,l)){const{value:u,expires:d}=a[l];if(d&&d<=c)return;bd[l]=u,Pr[l]=u,D.debug("Update global parameters from config distribute",l,u)}}}))}catch(c){D.error("Error update config immediately: ".concat(a),c.message)}})(i);const o=JSON.stringify(i),s=window.btoa(o);window.localStorage.setItem("websdk_ng_global_parameter",s),D.debug("Caching global parameters ".concat(o))}catch(o){D.error("Error caching global parameters:",o.message)}}}class zBe extends fr{constructor(){super(...arguments),H(this,"resultStorage",new Map)}setLocalAudioStats(t,n,r){this.record("AUDIO_INPUT_LEVEL_TOO_LOW",t,this.checkAudioInputLevel(r,n)),this.record("SEND_AUDIO_BITRATE_TOO_LOW",t,this.checkSendAudioBitrate(r,n))}setLocalVideoStats(t,n,r){this.record("SEND_VIDEO_BITRATE_TOO_LOW",t,this.checkSendVideoBitrate(r,n)),this.record("FRAMERATE_INPUT_TOO_LOW",t,this.checkFramerateInput(r,n)),this.record("FRAMERATE_SENT_TOO_LOW",t,this.checkFramerateSent(r))}setRemoteAudioStats(t,n){const r=t.getUserId();this.record("AUDIO_OUTPUT_LEVEL_TOO_LOW",r,this.checkAudioOutputLevel(n))}setRemoteVideoStats(t,n){const r=t.getUserId();this.record("RECV_VIDEO_DECODE_FAILED",r,this.checkVideoDecode(n))}record(t,n,r){if(he("STATS_UPDATE_INTERVAL")>500)return;this.resultStorage.has(t)||this.resultStorage.set(t,{result:[],isPrevNormal:!0});const i=this.resultStorage.get(t);if(i&&(i.result.push(r),i.result.length>=5)){var o;const s=lt(o=i.result).call(o,!0);i.isPrevNormal&&!s&&this.emit("exception",qF[t],t,n),!i.isPrevNormal&&s&&this.emit("exception",qF[t]+2e3,t+"_RECOVER",n),i.isPrevNormal=s,i.result=[]}}checkAudioOutputLevel(t){return!(t.receiveBitrate>0&&t.receiveLevel===0)}checkAudioInputLevel(t,n){return n instanceof Jr&&!n.isActive||!!n.muted||t.sendVolumeLevel!==0}checkFramerateInput(t,n){let r=null;n._encoderConfig&&n._encoderConfig.frameRate&&(r=hs(n._encoderConfig.frameRate));const i=t.captureFrameRate;return!r||!i||!(r>10&&i<5||r<10&&r>=5&&i<=1)}checkFramerateSent(t){return!(t.captureFrameRate&&t.sendFrameRate&&t.captureFrameRate>5&&t.sendFrameRate<=1)}checkSendVideoBitrate(t,n){return!!n.muted||t.sendBitrate!==0}checkSendAudioBitrate(t,n){return n instanceof Jr&&!n.isActive||!!n.muted||t.sendBitrate!==0}checkVideoDecode(t){return t.receiveBitrate===0||t.decodeFrameRate!==0}}const qF={FRAMERATE_INPUT_TOO_LOW:1001,FRAMERATE_SENT_TOO_LOW:1002,SEND_VIDEO_BITRATE_TOO_LOW:1003,RECV_VIDEO_DECODE_FAILED:1005,AUDIO_INPUT_LEVEL_TOO_LOW:2001,AUDIO_OUTPUT_LEVEL_TOO_LOW:2002,SEND_AUDIO_BITRATE_TOO_LOW:2003},ji=new class{markSubscribeStart(e,t){performance.mark("agora-web-sdk/".concat(e,"/subscribe-").concat(t))}markPublishStart(e,t){performance.mark("agora-web-sdk/".concat(e,"/publish-").concat(t))}measureFromSubscribeStart(e,t){const n=performance.getEntriesByName("agora-web-sdk/".concat(e,"/subscribe-").concat(t));if(n.length>0){const r=n[n.length-1];return Math.round(performance.now()-r.startTime)}return 0}measureFromPublishStart(e,t){const n=performance.getEntriesByName("agora-web-sdk/".concat(e,"/publish-").concat(t));if(n.length>0){const r=n[n.length-1];return Math.round(performance.now()-r.startTime)}return 0}};function OI(e,t){this.v=e,this.k=t}function mn(e){return new OI(e,0)}var WBe=wQ,VBe=Cl;Gn({target:"Promise",stat:!0,forced:!0},{withResolvers:function(){var e=VBe.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}});var GBe=Cl,JBe=Xp;Gn({target:"Promise",stat:!0,forced:!0},{try:function(e){var t=GBe.f(this),n=JBe(e);return(n.error?t.reject:t.resolve)(n.value),t.promise}});var cC=kr(WBe),E$=Qp.f("asyncIterator"),ZBe=kr(E$);function z1(e){var t,n;function r(o,s){try{var a=e[o](s),c=a.value,l=c instanceof OI;cC.resolve(l?c.v:c).then((function(u){if(l){var d=o==="return"?"return":"next";if(!c.k||u.done)return r(d,u);u=e[d](u).value}i(a.done?"return":"normal",u)}),(function(u){r("throw",u)}))}catch(u){i("throw",u)}}function i(o,s){switch(o){case"return":t.resolve({value:s,done:!0});break;case"throw":t.reject(s);break;default:t.resolve({value:s,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(o,s){return new cC((function(a,c){var l={key:o,arg:s,resolve:a,reject:c,next:null};n?n=n.next=l:(t=n=l,r(o,s))}))},typeof e.return!="function"&&(this.return=void 0)}function cc(e){return function(){return new z1(e.apply(this,arguments))}}z1.prototype[typeof Ch=="function"&&ZBe||"@@asyncIterator"]=function(){return this},z1.prototype.next=function(e){return this._invoke("next",e)},z1.prototype.throw=function(e){return this._invoke("throw",e)},z1.prototype.return=function(e){return this._invoke("return",e)};var $F=kr(Cc.Object.getOwnPropertySymbols),YBe=Gn,XBe=PT.indexOf,QBe=Zy,lC=eg([].indexOf),eU=!!lC&&1/lC([1],1,-0)<0;YBe({target:"Array",proto:!0,forced:eU||!QBe("indexOf")},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return eU?lC(this,e,t)||0:XBe(this,e,t)}});var KBe=za("Array").indexOf,qBe=Co,$Be=KBe,vE=Array.prototype,eFe=function(e){var t=e.indexOf;return e===vE||qBe(vE,e)&&t===vE.indexOf?$Be:t},tU=kr(eFe);function tFe(e,t){if(e==null)return{};var n,r,i=(function(s,a){if(s==null)return{};var c,l,u={},d=Aq(s);for(l=0;l<d.length;l++)c=d[l],tU(a).call(a,c)>=0||(u[c]=s[c]);return u})(e,t);if($F){var o=$F(e);for(r=0;r<o.length;r++)n=o[r],tU(t).call(t,n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ia(e){if(Array.isArray(e))return e.map((n=>n));if(!nU(e))return e;const t={};for(const n in e){const r=e[n];nU(r)||Array.isArray(r)?t[n]=Ia(r):t[n]=r}return t}function nU(e){return!(typeof e!="object"||Array.isArray(e)||!e)}class yE{constructor(t){H(this,"input",[]),H(this,"size",void 0),this.size=t}add(t){this.input.push(t),this.input.length>this.size&&this.input.splice(0,1)}diffMean(){return this.input.length===0?0:(this.input[this.input.length-1]-this.input[0])/this.input.length}}const ml={address:"unknown",candidateType:"unknown",id:"unknown",port:0,priority:0,protocol:"unknown",type:"unknown"},gg={timestamp:0,bitrate:{actualEncoded:0,transmit:0},sendPacketLossRate:0,recvPacketLossRate:0,videoRecv:[],videoSend:[],audioRecv:[],audioSend:[],selectedCandidatePair:{id:"unknown",localCandidate:ml,remoteCandidate:ml}},b$={firsCount:0,nacksCount:0,plisCount:0,framesDecodeCount:0,framesDecodeInterval:0,framesDecodeFreezeTime:0,decodeFrameRate:0,bytes:0,packetsLost:0,packetLostRate:0,packets:0,ssrc:0,qpSumPerFrame:0,framesDroppedCount:0,outputFrameRate:0},S$={firsCount:0,nacksCount:0,plisCount:0,frameCount:0,bytes:0,packets:0,packetsLost:0,packetLostRate:0,ssrc:0,rttMs:0,jitterMs:0,qpSumPerFrame:0},A$={bytes:0,packets:0,packetsLost:0,packetLostRate:0,ssrc:0,rttMs:0,jitterMs:0},C$={jitterBufferMs:0,jitterMs:0,bytes:0,packetsLost:0,packetLostRate:0,packetsDiscarded:0,packets:0,ssrc:0,receivedFrames:0,droppedFrames:0,concealedSamples:0};function rU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function iU(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class _I{constructor(t,n){H(this,"onFirstVideoReceived",void 0),H(this,"onFirstVideoDecoded",void 0),H(this,"onFirstAudioReceived",void 0),H(this,"onFirstVideoDecodedTimeout",void 0),H(this,"onFirstAudioDecoded",void 0),H(this,"onSelectedLocalCandidateChanged",void 0),H(this,"onSelectedRemoteCandidateChanged",void 0),H(this,"videoIsReady",!1),H(this,"videoIsReady2",{}),H(this,"pc",void 0),H(this,"options",void 0),H(this,"intervalTimer",void 0),H(this,"stats",Ia(gg)),H(this,"isFirstVideoReceived",{}),H(this,"isFirstVideoDecoded",{}),H(this,"isFirstAudioReceived",{}),H(this,"isFirstAudioDecoded",{}),H(this,"isFirstVideoDecodedTimeout",{}),H(this,"lossRateWindowStats",[]),this.pc=t,this.options=n,this.intervalTimer=window.setInterval((async()=>{this.updateStats()}),this.options.updateInterval)}getStats(){return this.stats}getSelectedCandidatePair(){return new ot((t=>{t({local:iU({},ml),remote:iU({},ml)})}))}setVideoIsReady(t){this.videoIsReady=t}setVideoIsReady2(t,n){this.videoIsReady2[t]=n}getVideoIsReady(t){return this.videoIsReady2[t]||!1}setIsFirstAudioDecoded(t){}destroy(){window.clearInterval(this.intervalTimer),this.pc=void 0}calcLossRate(t){this.lossRateWindowStats.push(t),this.lossRateWindowStats.length>this.options.lossRateInterval&&this.lossRateWindowStats.splice(0,1);const n=this.lossRateWindowStats.length,r=["videoSend","audioSend","videoRecv","audioRecv"];let i=0,o=0,s=0,a=0;for(const c of r)t[c].forEach(((l,u)=>{if(!this.lossRateWindowStats[n-1][c][u]||!this.lossRateWindowStats[0][c][u])return;const d=this.lossRateWindowStats[n-1][c][u].packets-this.lossRateWindowStats[0][c][u].packets,f=this.lossRateWindowStats[n-1][c][u].packetsLost-this.lossRateWindowStats[0][c][u].packetsLost;c==="videoSend"||c==="audioSend"?(i+=d,s+=f):(o+=d,a+=f),Number.isNaN(d)||Number.isNaN(d)?l.packetLostRate=0:l.packetLostRate=d<=0||f<=0?0:f/(d+f)}));t.sendPacketLossRate=i<=0||s<=0?0:s/(i+s),t.recvPacketLossRate=o<=0||a<=0?0:a/(o+a)}}function oU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function nFe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?oU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class rFe extends _I{constructor(){super(...arguments),H(this,"_stats",gg),H(this,"lastDecodeVideoReceiverStats",new Map)}async updateStats(){const t=await this._getStats(),n=this.statsResponsesToObjects(t);this._stats=Ia(gg);const r=n.filter((o=>o.type==="ssrc"));this.processSSRCStats(r);const i=n.find((o=>o.type==="VideoBwe"));i&&this.processBandwidthStats(i),this._stats.timestamp=Date.now(),this.calcLossRate(this._stats),this.stats=this._stats}processBandwidthStats(t){this._stats.bitrate={actualEncoded:Number(t.googActualEncBitrate),targetEncoded:Number(t.googTargetEncBitrate),retransmit:Number(t.googRetransmitBitrate),transmit:Number(t.googTransmitBitrate)},this._stats.sendBandwidth=Number(t.googAvailableSendBandwidth)}processSSRCStats(t){t.forEach((n=>{var r;const i=lt(r=n.id).call(r,"send");switch("".concat(n.mediaType,"_").concat(i?"send":"recv")){case"video_send":{const o=Ia(S$);o.codec=n.googCodecName,o.adaptionChangeReason="none",n.googCpuLimitedResolution&&(o.adaptionChangeReason="cpu"),n.googBandwidthLimitedResolution&&(o.adaptionChangeReason="bandwidth"),o.avgEncodeMs=Number(n.googAvgEncodeMs),o.inputFrame={width:Number(n.googFrameWidthInput)||Number(n.googFrameWidthSent),height:Number(n.googFrameHeightInput)||Number(n.googFrameHeightSent),frameRate:Number(n.googFrameRateInput)},o.sentFrame={width:Number(n.googFrameWidthSent),height:Number(n.googFrameHeightSent),frameRate:Number(n.googFrameRateInput)},o.firsCount=Number(n.googFirReceived),o.nacksCount=Number(n.googNacksReceived),o.plisCount=Number(n.googPlisReceived),o.frameCount=Number(n.framesEncoded),o.bytes=Number(n.bytesSent),o.packets=Number(n.packetsSent),o.packetsLost=Number(n.packetsLost),o.ssrc=Number(n.ssrc),o.rttMs=Number(n.googRtt||0),this._stats.videoSend.push(o),this._stats.rtt=o.rttMs;break}case"video_recv":{const o=Ia(b$),s=this.lastDecodeVideoReceiverStats.get(Number(n.ssrc));if(o.codec=n.googCodecName,o.targetDelayMs=Number(n.googTargetDelayMs),o.renderDelayMs=Number(n.googRenderDelayMs),o.currentDelayMs=Number(n.googCurrentDelayMs),o.minPlayoutDelayMs=Number(n.googMinPlayoutDelayMs),o.decodeMs=Number(n.googDecodeMs),o.maxDecodeMs=Number(n.googMaxDecodeMs),o.receivedFrame={width:Number(n.googFrameWidthReceived),height:Number(n.googFrameHeightReceived),frameRate:Number(n.googFrameRateReceived)},o.decodedFrame={width:Number(n.googFrameWidthReceived),height:Number(n.googFrameHeightReceived),frameRate:Number(n.googFrameRateDecoded)},o.decodeFrameRate=Number(n.googFrameRateDecoded),o.outputFrame={width:Number(n.googFrameWidthReceived),height:Number(n.googFrameHeightReceived),frameRate:Number(n.googFrameRateOutput)},o.jitterBufferMs=Number(n.googJitterBufferMs),o.firsCount=Number(n.googFirsSent),o.nacksCount=Number(n.googNacksSent),o.plisCount=Number(n.googPlisSent),o.framesDecodeCount=Number(n.framesDecoded),o.bytes=Number(n.bytesReceived),o.packets=Number(n.packetsReceived),o.packetsLost=Number(n.packetsLost),o.ssrc=Number(n.ssrc),o.packets>0&&!this.isFirstVideoReceived[o.ssrc]&&(this.onFirstVideoReceived&&this.onFirstVideoReceived(o.ssrc),this.isFirstVideoReceived[o.ssrc]=!0),o.framesDecodeCount>0&&!this.isFirstVideoDecoded[o.ssrc]&&(this.onFirstVideoDecoded&&this.onFirstVideoDecoded(o.ssrc,o.decodedFrame.width,o.decodedFrame.height),this.isFirstVideoDecoded[o.ssrc]=!0),s){const a=s.stats,c=Date.now()-s.lts;o.framesDecodeFreezeTime=a.framesDecodeFreezeTime,o.framesDecodeInterval=a.framesDecodeInterval,o.framesDecodeCount>a.framesDecodeCount&&this.isFirstVideoDecoded[o.ssrc]?(s.lts=Date.now(),o.framesDecodeInterval=c,o.framesDecodeInterval>=this.options.freezeRateLimit&&(this.getVideoIsReady(parseInt(n.ssrc,10))?o.framesDecodeFreezeTime+=o.framesDecodeInterval:this.setVideoIsReady2(parseInt(n.ssrc,10),!0))):o.framesDecodeCount<s.stats.framesDecodeCount&&(o.framesDecodeInterval=0)}this.lastDecodeVideoReceiverStats.set(o.ssrc,{stats:nFe({},o),lts:Date.now()}),this._stats.videoRecv.push(o);break}case"audio_recv":{const o=Ia(C$);o.codec=n.googCodecName,o.outputLevel=Math.abs(Number(n.audioOutputLevel))/32767,o.decodingCNG=Number(n.googDecodingCNG),o.decodingCTN=Number(n.googDecodingCTN),o.decodingCTSG=Number(n.googDecodingCTSG),o.decodingNormal=Number(n.googDecodingNormal),o.decodingPLC=Number(n.googDecodingPLC),o.decodingPLCCNG=Number(n.googDecodingPLCCNG),o.expandRate=Number(n.googExpandRate),o.accelerateRate=Number(n.googAccelerateRate),o.preemptiveExpandRate=Number(n.googPreemptiveExpandRate),o.secondaryDecodedRate=Number(n.googSecondaryDecodedRate),o.speechExpandRate=Number(n.googSpeechExpandRate),o.preferredJitterBufferMs=Number(n.googPreferredJitterBufferMs),o.jitterBufferMs=Number(n.googJitterBufferMs),o.jitterMs=Number(n.googJitterReceived),o.bytes=Number(n.bytesReceived),o.packets=Number(n.packetsReceived),o.packetsLost=Number(n.packetsLost),o.ssrc=Number(n.ssrc),o.receivedFrames=Number(n.googDecodingCTN)||Number(n.packetsReceived),o.droppedFrames=Number(n.googDecodingPLC)+Number(n.googDecodingPLCCNG)||Number(n.packetsLost),o.receivedFrames>0&&!this.isFirstAudioReceived[o.ssrc]&&(this.onFirstAudioReceived&&this.onFirstAudioReceived(o.ssrc),this.isFirstAudioReceived[o.ssrc]=!0),o.decodingNormal>0&&!this.isFirstAudioDecoded[o.ssrc]&&(this.onFirstAudioDecoded&&this.onFirstAudioDecoded(o.ssrc),this.isFirstAudioDecoded[o.ssrc]=!0),this._stats.audioRecv.push(o);break}case"audio_send":{const o=Ia(A$);o.codec=n.googCodecName,o.inputLevel=Math.abs(Number(n.audioInputLevel))/32767,o.aecReturnLoss=Number(n.googEchoCancellationReturnLoss||0),o.aecReturnLossEnhancement=Number(n.googEchoCancellationReturnLossEnhancement||0),o.residualEchoLikelihood=Number(n.googResidualEchoLikelihood||0),o.residualEchoLikelihoodRecentMax=Number(n.googResidualEchoLikelihoodRecentMax||0),o.bytes=Number(n.bytesSent),o.packets=Number(n.packetsSent),o.packetsLost=Number(n.packetsLost),o.ssrc=Number(n.ssrc),o.rttMs=Number(n.googRtt||0),this._stats.rtt=o.rttMs,this._stats.audioSend.push(o);break}}}))}_getStats(){return new ot(((t,n)=>{this.pc.getStats(t,n)}))}statsResponsesToObjects(t){const n=[];return t.result().forEach((r=>{const i={id:r.id,timestamp:r.timestamp.valueOf().toString(),type:r.type};r.names().forEach((o=>{i[o]=r.stat(o)})),n.push(i)})),n}}function sU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function m0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?sU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class aU extends _I{constructor(){super(...arguments),H(this,"_stats",gg),H(this,"report",void 0),H(this,"lastDecodeVideoReceiverStats",new Map),H(this,"lastVideoFramesRecv",new Map),H(this,"lastVideoFramesSent",new Map),H(this,"lastVideoFramesDecode",new Map),H(this,"lastVideoFramesOutput",new Map),H(this,"lastVideoJBDelay",new Map),H(this,"lastAudioJBDelay",new Map),H(this,"mediaBytesSent",new Map),H(this,"mediaBytesRetransmit",new Map),H(this,"mediaBytesTargetEncode",new Map),H(this,"lastEncoderMs",new Map)}async updateStats(){this.report=await this.pc.getStats(),this._stats=Ia(gg),this.report.forEach((t=>{switch(t.type){case Ss.OUTBOUND:case Ss.INBOUND:{const n=t.mediaType||t.kind,r=!n&&"frameWidth"in t,i=!n&&!("frameWidth"in t);t.type===Ss.OUTBOUND?n==="audio"||i?this.processAudioOutboundStats(t):(n==="video"||r)&&this.processVideoOutboundStats(t):t.type===Ss.INBOUND&&(n==="audio"||i?this.processAudioInboundStats(t):(n==="video"||r)&&this.processVideoInboundStats(t));break}case Ss.TRANSPORT:{const n=this.report.get(t.selectedCandidatePairId);n&&this.processCandidatePairStats(n);break}case Ss.CANDIDATE_PAIR:t.selected&&this.processCandidatePairStats(t)}})),this.updateSendBitrate(),this._stats.timestamp=Date.now(),this.calcLossRate(this._stats),this.stats=this._stats}async getSelectedCandidatePair(){const t=await this.pc.getStats(),n={local:m0({},ml),remote:m0({},ml)};return t.forEach((r=>{let i;if(r.type===Ss.TRANSPORT&&(i=t.get(r.selectedCandidatePairId)),r.type===Ss.CANDIDATE_PAIR&&r.selected&&(i=r),i){const o=(s,a)=>{s.type=a.type,s.id=a.id,a.address&&(s.address=a.address),a.candidateType&&(s.candidateType=a.candidateType),a.port&&(s.port=a.port),a.priority&&(s.priority=a.priority),a.protocol&&(s.protocol=a.protocol),a.relayProtocol&&(s.relayProtocol=a.relayProtocol)};if(i.localCandidateId){const s=t.get(i.localCandidateId);s&&o(n.local,s)}if(i.remoteCandidateId){const s=t.get(i.remoteCandidateId);s&&o(n.remote,s)}}})),n}processCandidatePairStats(t){if(this._stats.sendBandwidth=t.availableOutgoingBitrate||0,t.currentRoundTripTime&&(this._stats.rtt=1e3*t.currentRoundTripTime),this._stats.videoSend.forEach((n=>{t.currentRoundTripTime&&(n.rttMs=1e3*t.currentRoundTripTime)})),this._stats.audioSend.forEach((n=>{t.currentRoundTripTime&&(n.rttMs=1e3*t.currentRoundTripTime)})),this._stats.selectedCandidatePair.id=t.id,t.localCandidateId){const n=this.report.get(t.localCandidateId);n&&this.processCandidateStats(n)}if(t.remoteCandidateId){const n=this.report.get(t.remoteCandidateId);n&&this.processCandidateStats(n)}}processCandidateStats(t){let n;t.type===Ss.LOCAL_CANDIDATE&&(n=this._stats.selectedCandidatePair.localCandidate),t.type===Ss.REMOTE_CANDIDATE&&(n=this._stats.selectedCandidatePair.remoteCandidate),n&&(n.type=t.type,n.id=t.id,t.address&&(n.address=t.address),t.candidateType&&(n.candidateType=t.candidateType),t.port&&(n.port=t.port),t.priority&&(n.priority=t.priority),t.protocol&&(n.protocol=t.protocol),t.relayProtocol&&(n.relayProtocol=t.relayProtocol),t.type===Ss.LOCAL_CANDIDATE&&this.stats.selectedCandidatePair.localCandidate.id!==n.id&&this.onSelectedLocalCandidateChanged&&this.onSelectedLocalCandidateChanged(m0({},n),m0({},this.stats.selectedCandidatePair.localCandidate)),t.type===Ss.REMOTE_CANDIDATE&&this.stats.selectedCandidatePair.remoteCandidate.id!==n.id&&this.onSelectedRemoteCandidateChanged&&this.onSelectedRemoteCandidateChanged(m0({},n),m0({},this.stats.selectedCandidatePair.remoteCandidate)))}processAudioInboundStats(t){let n=this._stats.audioRecv.find((r=>r.ssrc===t.ssrc));n||(n=Ia(C$),this._stats.audioRecv.push(n)),n.ssrc=t.ssrc,n.packets=t.packetsReceived,n.packetsLost=t.packetsLost,n.packetsDiscarded=t.packetsDiscarded,n.bytes=t.bytesReceived,n.jitterMs=1e3*t.jitter,this.processAudioTrackReceiverStats(t,t.trackId,n),t.codecId&&(n.codec=this.getCodecFromCodecStats(t.codecId)),n.receivedFrames||(n.receivedFrames=t.packetsReceived),n.droppedFrames||(n.droppedFrames=t.packetsLost),n.receivedFrames>0&&!this.isFirstAudioReceived[n.ssrc]&&(this.onFirstAudioReceived&&this.onFirstAudioReceived(n.ssrc),this.isFirstAudioReceived[n.ssrc]=!0),n.outputLevel&&n.outputLevel>0&&!this.isFirstAudioDecoded[n.ssrc]&&(this.onFirstAudioDecoded&&this.onFirstAudioDecoded(n.ssrc),this.isFirstAudioDecoded[n.ssrc]=!0),typeof t.concealedSamples=="number"&&(n.concealedSamples=t.concealedSamples)}processVideoInboundStats(t){let n=this._stats.videoRecv.find((a=>a.ssrc===t.ssrc));n||(n=Ia(b$),this._stats.videoRecv.push(n)),n.ssrc=t.ssrc,n.packets=t.packetsReceived,n.packetsLost=t.packetsLost,n.bytes=t.bytesReceived,n.firsCount=t.firCount,n.nacksCount=t.nackCount,n.plisCount=t.pliCount,n.framesDecodeCount=t.framesDecoded,n.framesDroppedCount=t.framesDropped,n.totalInterFrameDelay=t.totalInterFrameDelay,n.totalSquaredInterFrameDelay=t.totalSquaredInterFrameDelay,n.totalFreezesDuration=t.totalFreezesDuration;const r=this.lastDecodeVideoReceiverStats.get(n.ssrc),i=this.lastVideoFramesDecode.get(n.ssrc),o=this.lastVideoFramesOutput.get(n.ssrc),s=Date.now();if(n.framesDecodeCount>0&&!this.isFirstVideoDecoded[n.ssrc]){const a=n.decodedFrame?n.decodedFrame.width:0,c=n.decodedFrame?n.decodedFrame.height:0;this.onFirstVideoDecoded&&this.onFirstVideoDecoded(n.ssrc,a,c),this.isFirstVideoDecoded[n.ssrc]=!0}if(r){const a=r.stats,c=s-r.lts;n.framesDecodeFreezeTime=a.framesDecodeFreezeTime,n.framesDecodeInterval=a.framesDecodeInterval,!this.isFirstVideoDecoded[n.ssrc]&&c>this.options.firstVideoDecodedTimeout&&!this.isFirstVideoDecodedTimeout[n.ssrc]&&(this.onFirstVideoDecodedTimeout&&this.onFirstVideoDecodedTimeout(n.ssrc),this.isFirstVideoDecodedTimeout[n.ssrc]=!0),n.framesDecodeCount>a.framesDecodeCount&&this.isFirstVideoDecoded[n.ssrc]?(r.lts=Date.now(),n.framesDecodeInterval=c,n.framesDecodeInterval>=this.options.freezeRateLimit&&(this.getVideoIsReady(parseInt(t.ssrc))?n.framesDecodeFreezeTime+=n.framesDecodeInterval:this.setVideoIsReady2(parseInt(t.ssrc,10),!0))):n.framesDecodeCount<a.framesDecodeCount&&(n.framesDecodeInterval=0),t.framesDecoded&&t.qpSum&&(r.stats.framesDecodeCount>t.framesDecoded?n.qpSumPerFrame=t.qpSum/t.framesDecoded:n.qpSumPerFrame=(t.qpSum-r.qpSum)/(t.framesDecoded-r.stats.framesDecodeCount))}i&&s-i.lts>=800?(n.decodeFrameRate=Math.round((n.framesDecodeCount-i.count)/((s-i.lts)/1e3)),this.lastVideoFramesDecode.set(n.ssrc,{count:n.framesDecodeCount,lts:s,rate:n.decodeFrameRate})):i?n.decodeFrameRate=i.rate:this.lastVideoFramesDecode.set(n.ssrc,{count:n.framesDecodeCount,lts:s,rate:0}),n.framesDroppedCount&&t.framesReceived&&(o&&s-o.lts>=800?(n.outputFrameRate=Math.round((t.framesReceived-n.framesDroppedCount-o.count)/((s-o.lts)/1e3)),this.lastVideoFramesOutput.set(n.ssrc,{count:t.framesReceived-n.framesDroppedCount,lts:s,rate:Math.max(n.outputFrameRate,0)})):o?n.outputFrameRate=o.rate:this.lastVideoFramesOutput.set(n.ssrc,{count:t.framesReceived-n.framesDroppedCount,lts:s,rate:0})),t.totalDecodeTime&&(n.decodeMs=1e3*t.totalDecodeTime),this.processVideoTrackReceiverStats(t,t.trackId,n),t.codecId&&(n.codec=this.getCodecFromCodecStats(t.codecId)),t.framerateMean&&(n.framesRateFirefox=t.framerateMean),n.packets>0&&!this.isFirstVideoReceived[n.ssrc]&&(this.onFirstVideoReceived&&this.onFirstVideoReceived(n.ssrc),this.isFirstVideoReceived[n.ssrc]=!0),this.lastDecodeVideoReceiverStats.set(n.ssrc,{stats:m0({},n),lts:r?r.lts:Date.now(),qpSum:t.qpSum})}processVideoOutboundStats(t){let n=this._stats.videoSend.find((i=>i.ssrc===t.ssrc));n||(n=Ia(S$),this._stats.videoSend.push(n));const r=this.mediaBytesSent.get(t.ssrc);if(r)r.add(t.bytesSent);else{const i=new yE(10);i.add(t.bytesSent),this.mediaBytesSent.set(t.ssrc,i)}if(t.retransmittedBytesSent!==void 0){const i=this.mediaBytesRetransmit.get(t.ssrc);if(i)i.add(t.retransmittedBytesSent);else{const o=new yE(10);o.add(t.retransmittedBytesSent),this.mediaBytesRetransmit.set(t.ssrc,o)}}if(t.totalEncodedBytesTarget){const i=this.mediaBytesTargetEncode.get(t.ssrc);if(i)i.add(t.totalEncodedBytesTarget);else{const o=new yE(10);o.add(t.totalEncodedBytesTarget),this.mediaBytesTargetEncode.set(t.ssrc,o)}}if(n.ssrc=t.ssrc,n.bytes=t.bytesSent,n.packets=t.packetsSent,n.firsCount=t.firCount,n.nacksCount=t.nackCount,n.plisCount=t.pliCount,n.frameCount=t.framesEncoded,n.adaptionChangeReason=t.qualityLimitationReason,n.scalabilityMode=t.scalabilityMode,t.totalEncodeTime&&t.framesEncoded){const i=this.lastEncoderMs.get(t.ssrc);if(!i||i.lastFrameCount>t.framesEncoded)n.avgEncodeMs=1e3*t.totalEncodeTime/t.framesEncoded;else{const o=t.framesEncoded-i.lastFrameCount,s=t.totalEncodeTime-i.lastEncoderTime;n.avgEncodeMs=1e3*s/o}}if(t.framesEncoded&&t.qpSum){const i=this.lastEncoderMs.get(t.ssrc);!i||i.lastFrameCount>t.framesEncoded?n.qpSumPerFrame=t.qpSum/t.framesEncoded:n.qpSumPerFrame=(t.qpSum-i.lastQpSum)/(t.framesEncoded-i.lastFrameCount)}if(this.lastEncoderMs.set(t.ssrc,{lastFrameCount:t.framesEncoded,lastEncoderTime:t.totalEncodeTime,lastQpSum:t.qpSum,lts:Date.now()}),t.codecId&&(n.codec=this.getCodecFromCodecStats(t.codecId)),t.mediaSourceId&&this.processVideoMediaSource(t.mediaSourceId,n),this.processVideoTrackSenderStats(t,t.trackId,n),t.remoteId)this.processRemoteInboundStats(t.remoteId,n);else{const i=this.findRemoteStatsId(t.ssrc,Ss.REMOTE_INBOUND);i&&this.processRemoteInboundStats(i,n)}}processAudioOutboundStats(t){let n=this._stats.audioSend.find((r=>r.ssrc===t.ssrc));if(n||(n=Ia(A$),this._stats.audioSend.push(n)),n.ssrc=t.ssrc,n.packets=t.packetsSent,n.bytes=t.bytesSent,t.mediaSourceId&&this.processAudioMediaSource(t.mediaSourceId,n),t.codecId&&(n.codec=this.getCodecFromCodecStats(t.codecId)),this.processAudioTrackSenderStats(t,t.trackId,n),t.remoteId)this.processRemoteInboundStats(t.remoteId,n);else{const r=this.findRemoteStatsId(t.ssrc,Ss.REMOTE_INBOUND);r&&this.processRemoteInboundStats(r,n)}}findRemoteStatsId(t,n){var r;const i=Array.from(pu(r=this.report).call(r)).find((o=>o.type===n&&o.ssrc===t));return i?i.id:null}processVideoMediaSource(t,n){const r=this.report.get(t);r&&r.width&&r.height&&r.framesPerSecond&&(n.inputFrame={width:r.width,height:r.height,frameRate:r.framesPerSecond})}processAudioMediaSource(t,n){const r=this.report.get(t);r&&(n.inputLevel=r.audioLevel)}processVideoTrackSenderStats(t,n,r){var i,o,s,a;const c=n?this.report.get(n):void 0,l=(i=c==null?void 0:c.framesSent)!==null&&i!==void 0?i:t.framesSent;if(typeof l!="number")return;let u=(o=c==null?void 0:c.frameWidth)!==null&&o!==void 0?o:t.frameWidth,d=(s=c==null?void 0:c.frameHeight)!==null&&s!==void 0?s:t.frameHeight,f=(a=c==null?void 0:c.framesPerSecond)!==null&&a!==void 0?a:t.framesPerSecond;if(typeof u=="number"&&typeof d=="number"||(u=0,d=0),f==null){const h=Date.now(),p=this.lastVideoFramesSent.get(r.ssrc);p&&h-p.lts>=800?(f=Math.round((l-p.count)/((h-p.lts)/1e3)),this.lastVideoFramesSent.set(r.ssrc,{count:l,lts:h,rate:f})):p?f=p.rate:this.lastVideoFramesSent.set(r.ssrc,{count:l,lts:h,rate:0})}r.sentFrame={width:u,height:d,frameRate:Math.max(0,f)}}processVideoTrackReceiverStats(t,n,r){var i,o,s,a,c;const l=n?this.report.get(n):void 0,u=(i=l==null?void 0:l.framesReceived)!==null&&i!==void 0?i:t.framesReceived,d=(o=l==null?void 0:l.frameWidth)!==null&&o!==void 0?o:t.frameWidth,f=(s=l==null?void 0:l.frameHeight)!==null&&s!==void 0?s:t.frameHeight,h=(a=l==null?void 0:l.jitterBufferDelay)!==null&&a!==void 0?a:t.jitterBufferDelay,p=(c=l==null?void 0:l.jitterBufferEmittedCount)!==null&&c!==void 0?c:t.jitterBufferEmittedCount;if(typeof u=="number"){const g=this.lastVideoFramesRecv.get(r.ssrc),m=Date.now();r.framesReceivedCount=u;let y=0;g&&m-g.lts>=800?(y=Math.round((u-g.count)/((m-g.lts)/1e3)),this.lastVideoFramesRecv.set(r.ssrc,{count:u,lts:m,rate:y})):g?y=g.rate:this.lastVideoFramesRecv.set(r.ssrc,{count:u,lts:m,rate:0}),r.receivedFrame={width:d||0,height:f||0,frameRate:y||0},r.decodedFrame={width:d||0,height:f||0,frameRate:r.decodeFrameRate||0},r.outputFrame={width:d||0,height:f||0,frameRate:r.outputFrameRate||r.decodeFrameRate||0}}if(h&&p){const g=this.lastVideoJBDelay.get(r.ssrc)||{jitterBufferDelay:0,jitterBufferEmittedCount:0,jitterBufferMs:0};let m=g.jitterBufferMs;const y=p-g.jitterBufferEmittedCount;y>0&&(m=1e3*(h-g.jitterBufferDelay)/y),r.jitterBufferMs=m,r.currentDelayMs=Math.round(m),this.lastVideoJBDelay.set(r.ssrc,{jitterBufferDelay:h,jitterBufferEmittedCount:p,jitterBufferMs:r.currentDelayMs})}}processAudioTrackSenderStats(t,n,r){var i,o,s,a;const c=n?this.report.get(n):void 0,l=(i=(o=c==null?void 0:c.echoReturnLoss)!==null&&o!==void 0?o:t.echoReturnLoss)!==null&&i!==void 0?i:0,u=(s=(a=c==null?void 0:c.echoReturnLossEnhancement)!==null&&a!==void 0?a:t.echoReturnLossEnhancement)!==null&&s!==void 0?s:0;r.aecReturnLoss=l,r.aecReturnLossEnhancement=u}processAudioTrackReceiverStats(t,n,r){var i,o,s,a,c,l,u;const d=n?this.report.get(n):void 0,f=(i=d==null?void 0:d.removedSamplesForAcceleration)!==null&&i!==void 0?i:t.removedSamplesForAcceleration,h=(o=d==null?void 0:d.totalSamplesReceived)!==null&&o!==void 0?o:t.totalSamplesReceived,p=(s=d==null?void 0:d.jitterBufferDelay)!==null&&s!==void 0?s:t.jitterBufferDelay,g=(a=d==null?void 0:d.jitterBufferEmittedCount)!==null&&a!==void 0?a:t.jitterBufferEmittedCount,m=(c=d==null?void 0:d.audioLevel)!==null&&c!==void 0?c:t==null?void 0:t.audioLevel,y=(l=d==null?void 0:d.totalSamplesDuration)!==null&&l!==void 0?l:t==null?void 0:t.totalSamplesDuration,v=(u=d==null?void 0:d.concealedSamples)!==null&&u!==void 0?u:t.concealedSamples;if(f&&h&&(r.accelerateRate=f/h),p&&g){const b=this.lastAudioJBDelay.get(r.ssrc)||{jitterBufferDelay:0,jitterBufferEmittedCount:0,jitterBufferMs:0};let S=b.jitterBufferMs;const w=g-b.jitterBufferEmittedCount;w>0&&(S=1e3*(p-b.jitterBufferDelay)/w),r.jitterBufferMs=Math.round(S),this.lastAudioJBDelay.set(r.ssrc,{jitterBufferDelay:p,jitterBufferEmittedCount:g,jitterBufferMs:r.jitterBufferMs})}r.outputLevel=m;let E=1920;y&&h&&(E=h/y/50,r.receivedFrames=Math.round(h/E)),v&&(r.droppedFrames=Math.round(v/E))}processRemoteInboundStats(t,n){const r=this.report.get(t);r&&(n.packetsLost=r.packetsLost,r.roundTripTime&&(n.rttMs=1e3*r.roundTripTime),r.jitter&&(n.jitterMs=1e3*r.jitter),r.timestamp&&(n.timestamp=r.timestamp))}getCodecFromCodecStats(t){const n=this.report.get(t);if(!n)return"";const r=n.mimeType.match(/\/(.*)$/);return r&&r[1]?r[1]:""}updateSendBitrate(){let t=0,n=null,r=null;this.mediaBytesSent.forEach((o=>{t+=o.diffMean()})),this.mediaBytesRetransmit.forEach((o=>{n=n===null?o.diffMean():n+o.diffMean()})),this.mediaBytesTargetEncode.forEach((o=>{r=r===null?o.diffMean():r+o.diffMean()}));const i=n!==null?t-n:t;this._stats.bitrate={actualEncoded:8*i/(this.options.updateInterval/1e3),transmit:8*t/(this.options.updateInterval/1e3)},n!==null&&(this._stats.bitrate.retransmit=8*n/(this.options.updateInterval/1e3)),r!==null&&(this._stats.bitrate.targetEncoded=8*r/(this.options.updateInterval/1e3))}}class iFe extends _I{updateStats(){return ot.resolve()}}function RI(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:250,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:8,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:500,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1e4;const o=(function(){const s=navigator.userAgent.toLocaleLowerCase().match(/chrome\/[\d]*/i);return s&&s[0]?Number(s[0].split("/")[1]):null})();return o?o<76?new rFe(e,{updateInterval:t,lossRateInterval:n,freezeRateLimit:r,firstVideoDecodedTimeout:i}):new aU(e,{updateInterval:t,lossRateInterval:n,freezeRateLimit:r,firstVideoDecodedTimeout:i}):(function(s){if(!window.RTCStatsReport)return!1;const a=s.getStats();return!!(a instanceof ot||(function(c){return!!c&&(typeof c=="object"||typeof c=="function")&&typeof c.then=="function"})(a))})(e)?new aU(e,{updateInterval:t,lossRateInterval:n,freezeRateLimit:r,firstVideoDecodedTimeout:i}):new iFe(e,{updateInterval:t,lossRateInterval:n,freezeRateLimit:r,firstVideoDecodedTimeout:i})}let cU=class{get localCapabilities(){return Lr(this._localCapabilities)}get rtpCapabilities(){return Lr(this._rtpCapabilities)}get candidates(){return Lr(this._candidates)}get iceParameters(){return Lr(this._iceParameters)}get dtlsParameters(){return Lr(this._dtlsParameters)}constructor(e){H(this,"sessionDesc",void 0),H(this,"_localCapabilities",void 0),H(this,"_rtpCapabilities",void 0),H(this,"_candidates",void 0),H(this,"_iceParameters",void 0),H(this,"_dtlsParameters",void 0),H(this,"setup",void 0),H(this,"currentMidIndex",void 0),H(this,"cname","o/i14u9pJrxRKAsu"),H(this,"firefoxSsrcMidMap",new Map),e=Lr(e);const{remoteIceParameters:t,remoteDtlsParameters:n,candidates:r,remoteRTPCapabilities:i,localCapabilities:o,direction:s,setup:a,videoCodec:c,audioCodec:l}=e;let u;this.setup=a,u=s===po.RECEIVE_ONLY?gi.parse(`v=0
o=- 0 0 IN IP4 127.0.0.1
s=AgoraGateway
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
a=extmap-allow-mixed
m=video 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=mid:0
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=mid:1
`):gi.parse(`v=0
o=- 0 0 IN IP4 127.0.0.1
s=AgoraGateway
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
a=extmap-allow-mixed
m=video 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=mid:0
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=mid:1
`),this._rtpCapabilities=i,this._candidates=r,this._iceParameters=t,this._dtlsParameters=n,this._localCapabilities=o;const d=s===po.RECEIVE_ONLY?this.rtpCapabilities.send:this.rtpCapabilities.recv,f=s===po.RECEIVE_ONLY?this._localCapabilities.recv:this._localCapabilities.send,h=s===po.RECEIVE_ONLY?i.send.videoCodecs:bm(vt.VIDEO,d,f,c),p=s===po.RECEIVE_ONLY?i.send.audioCodecs:bm(vt.AUDIO,d,f,l);for(const g of u.mediaDescriptions)g.attributes.iceUfrag=t.iceUfrag,g.attributes.icePwd=t.icePwd,g.attributes.fingerprints=n.fingerprints,g.attributes.candidates=r,g.attributes.setup=this.setup,g.media.mediaType==="application"&&(g.attributes.sctpPort="5000"),g.media.mediaType==="video"&&(g.media.fmts=h.map((m=>m.payloadType.toString(10))),g.attributes.payloads=h,g.attributes.extmaps=d.videoExtensions),g.media.mediaType==="audio"&&(g.media.fmts=p.map((m=>m.payloadType.toString(10))),g.attributes.payloads=p,g.attributes.extmaps=d.audioExtensions,Tp(g));this.sessionDesc=u,this.currentMidIndex=u.mediaDescriptions.length-1}toString(){return gi.print(this.sessionDesc)}hasMid(e){return Array.isArray(e)?e.every((t=>this.hasMid(t))):this.sessionDesc.mediaDescriptions.some((t=>t.attributes.mid===e))}send(e,t,n,r,i){n=n.replace(/ /g,"-");const{ssrcs:o,ssrcGroups:s}=_0(t,this.cname,he("SYNC_GROUP")?n:void 0),a=this.findPreloadMediaDesc(o);if(a){if(Er()&&this.firefoxSsrcMidMap.set(o[0].ssrcId,a.attributes.mid),i&&(i.twcc||i.remb)){const c=this.sessionDesc.mediaDescriptions.indexOf(a);return this.sessionDesc.mediaDescriptions[c]=this.mungSendMediaDesc(a,i),{mid:a.attributes.mid,needExchangeSDP:!0}}return{mid:a.attributes.mid,needExchangeSDP:!1}}{const c=this.findAvailableMediaIndex(e,o,r);let l;return c===-1?(l=this.createOrRecycleSendMedia(e,o,s,"sendonly",r,i),this.updateBundleMids()):(l=Lr(this.sessionDesc.mediaDescriptions[c]),l.attributes.direction="sendonly",l.attributes.ssrcs=o,l.attributes.ssrcGroups=s,this.sessionDesc.mediaDescriptions[c]=this.mungSendMediaDesc(l,i)),Er()&&this.firefoxSsrcMidMap.set(o[0].ssrcId,l.attributes.mid),{needExchangeSDP:!0,mid:l.attributes.mid}}}stopSending(e){const t=this.sessionDesc.mediaDescriptions.filter((n=>n.attributes.mid&&e.indexOf(n.attributes.mid)!==-1));if(t.length!==e.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.stopSending.");t.forEach((n=>{n.attributes.ssrcs=[]})),this.updateBundleMids()}receive(e,t,n){const r=[];return e.forEach((i=>{const o=i._mediaStreamTrack.kind,s=this.findAvailableRecvMediaIndex(o);let a,c=!1;s===-1?(c=!0,a=this.createOrRecycleRecvMedia(i,[],"recvonly",t,n),this.updateBundleMids()):(a=Lr(this.sessionDesc.mediaDescriptions[s]),a.attributes.direction="recvonly"),r.push({mid:a.attributes.mid,needCreateTransceiver:c})})),r}stopReceiving(e){const t=this.sessionDesc.mediaDescriptions.filter((n=>e.indexOf(n.attributes.mid)!==-1));if(t.length!==e.length)throw new Error("MediaDescriptions' length doesn't match mids's length when calling RemoteSDP.receive.");t.forEach((n=>{n.media.port="0",n.attributes.direction="inactive"})),this.updateBundleMids()}addRemoteCandidate(e){const{foundation:t,protocol:n,address:r,port:i,type:o,relatedAddress:s,relatedPort:a,priority:c}=new RTCIceCandidate(e),l={foundation:t??"",componentId:"1",transport:n??"",priority:c?c+"":"",connectionAddress:r??"",port:i?i+"":"",type:o?o+"":"",relAddr:s??"",relPort:a?a+"":"",extension:{}};this.candidates.some((u=>u.priority===l.priority&&u.connectionAddress===l.connectionAddress&&u.port===l.port))||(this._candidates.push(l),this.sessionDesc.mediaDescriptions.forEach((u=>{u.attributes.candidates=this.candidates})))}clearRemoteCandidate(){this._candidates=[],this.sessionDesc.mediaDescriptions[0].attributes.candidates=this._candidates}createOrRecycleRecvMedia(e,t,n,r,i){const o=e._mediaStreamTrack.kind,s=this.rtpCapabilities.recv,a=bm(o,s,this.localCapabilities.send,o===vt.AUDIO?i:r),c=o===vt.VIDEO?s.videoExtensions:s.audioExtensions,l="".concat(++this.currentMidIndex);let u={media:{mediaType:o,port:"9",protos:["UDP","TLS","RTP","SAVPF"],fmts:a.map((f=>f.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:this.iceParameters.iceUfrag,icePwd:this.iceParameters.icePwd,unrecognized:[],candidates:[],extmaps:c,fingerprints:this.dtlsParameters.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:t,ssrcGroups:[],rtcpFeedbackWildcards:[],payloads:a,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:n,rtcpMux:!0,rtcpRsize:!0,mid:"".concat(l)}};u=this.mungRecvMediaDsec(u,e);const d=this.findFirstClosedMedia(o);if(d){const f=this.sessionDesc.mediaDescriptions.indexOf(d);this.sessionDesc.mediaDescriptions[f]=u}else this.sessionDesc.mediaDescriptions.push(u);return u}muteRemote(e){const t=this.sessionDesc.mediaDescriptions.filter((n=>lt(e).call(e,n.attributes.mid||"")));if(t.length!==e.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.muteRemote.");t.forEach((n=>{n.attributes.direction="inactive"}))}unmuteRemote(e){const t=this.sessionDesc.mediaDescriptions.filter((n=>lt(e).call(e,n.attributes.mid||"")));if(t.length!==e.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.muteRemote.");t.forEach((n=>{n.attributes.direction="recvonly"}))}findAvailableMediaIndex(e,t,n){return this.sessionDesc.mediaDescriptions.findIndex((r=>{const i=r.media.mediaType===e&&r.media.port!=="0"&&(r.attributes.direction==="sendonly"||r.attributes.direction==="sendrecv")&&r.attributes.ssrcs.length===0;if(Er()){if(i){const o=this.firefoxSsrcMidMap.get(t[0].ssrcId);return!(o||r.attributes.mid!=="0"&&r.attributes.mid!=="1")||!(!o||o!==r.attributes.mid)}return!1}return i&&r.attributes.mid===n}))}findAvailableRecvMediaIndex(e){return this.sessionDesc.mediaDescriptions.findIndex((t=>{const n=t.media.mediaType===e&&t.media.port!=="0"&&(t.attributes.direction==="recvonly"||t.attributes.direction==="sendrecv");return t.attributes.mid!=="0"&&t.attributes.mid!=="1"&&n}))}predictReceivingMids(e){const t=[];for(let n=0;n<e;n++)t.push((this.currentMidIndex+n+1).toString(10));return t}restartICE(e){e=Lr(e),this._iceParameters=e,this.sessionDesc.mediaDescriptions.forEach((t=>{t.attributes.iceUfrag=e.iceUfrag,t.attributes.icePwd=e.icePwd}))}createOrRecycleSendMedia(e,t,n,r,i,o){const s=this.rtpCapabilities.send,a=e===vt.VIDEO?s.videoCodecs:s.audioCodecs,c=e===vt.VIDEO?s.videoExtensions:s.audioExtensions;Er()&&(i="".concat(++this.currentMidIndex));let l={media:{mediaType:e,port:"9",protos:["UDP","TLS","RTP","SAVPF"],fmts:a.map((d=>d.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:this.iceParameters.iceUfrag,icePwd:this.iceParameters.icePwd,unrecognized:[],candidates:[],extmaps:c,fingerprints:this.dtlsParameters.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:t,ssrcGroups:n,rtcpFeedbackWildcards:[],payloads:a,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:r,rtcpMux:!0,rtcpRsize:!0,mid:i}};l=this.mungSendMediaDesc(l,o);const u=this.findFirstClosedMedia(e);if(u){const d=this.sessionDesc.mediaDescriptions.indexOf(u);this.sessionDesc.mediaDescriptions[d]=l}else this.sessionDesc.mediaDescriptions.push(l);return l}mungRecvMediaDsec(e,t,n){const r=Lr(e);return AI(r),wp(r,t),CI(r,t),u$(r),R4(r,n,this.localCapabilities.send),r}mungSendMediaDesc(e,t){const n=Lr(e);return R4(n,t,this.localCapabilities.recv),Tp(n),n}updateRecvMedia(e,t){const n=this.sessionDesc.mediaDescriptions.findIndex((r=>r.attributes.mid===e));if(n!==-1){const r=this.mungRecvMediaDsec(this.sessionDesc.mediaDescriptions[n],t);this.sessionDesc.mediaDescriptions[n]=r}}updateBundleMids(){this.sessionDesc.attributes.groups[0].identificationTag=this.sessionDesc.mediaDescriptions.filter((e=>e.media.port!=="0")).map((e=>e.attributes.mid))}findPreloadMediaDesc(e){return this.sessionDesc.mediaDescriptions.find((t=>{var n;return((n=t.attributes)===null||n===void 0||(n=n.ssrcs[0])===null||n===void 0?void 0:n.ssrcId)===e[0].ssrcId}))}findFirstClosedMedia(e){return this.sessionDesc.mediaDescriptions.find((t=>Er()?t.media.port==="0"&&t.media.mediaType===e:t.media.port==="0"))}};const oFe=["sdp"];var Zn;function lU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Ju(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?lU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let uU=(Zn=class yh extends wq{get currentLocalDescription(){return this.peerConnection.currentLocalDescription}get currentRemoteDescription(){return this.peerConnection.currentRemoteDescription}get peerConnectionState(){return this.peerConnection.connectionState}get iceConnectionState(){return this.peerConnection.iceConnectionState}get dtlsTransportState(){var t,n;return(t=(n=this.peerConnection.getReceivers()[0])===null||n===void 0||(n=n.transport)===null||n===void 0?void 0:n.state)!==null&&t!==void 0?t:null}get localCodecs(){return[]}set isInRestartIce(t){this._isInRestartIce=t}get isInRestartIce(){return this._isInRestartIce}constructor(t,n,r){super(t,n),H(this,"direction",void 0),H(this,"name",void 0),H(this,"store",void 0),H(this,"spec",void 0),H(this,"peerConnection",void 0),H(this,"initialOffer",void 0),H(this,"transport",void 0),H(this,"statsFilter",void 0),H(this,"localCandidateCount",0),H(this,"_isInRestartIce",!1),H(this,"mutex",new Hi("P2PConnection-mutex")),H(this,"onLocalCandidate",void 0),H(this,"remoteSDP",void 0),H(this,"pendingCandidates",[]),H(this,"localCapabilities",void 0),H(this,"isReady",!1),H(this,"restartCnt",0),H(this,"curTurnServerIndex",0),this.store=n,this.spec=t,this.peerConnection=new RTCPeerConnection(yh.resolvePCConfiguration(t,n.p2pTransport),{optional:[{googDscp:!0}]}),this.direction=r??po.SEND_ONLY,this.name=this.direction===po.SEND_ONLY?"sendP2PConnection":"recvP2PConnection",this.statsFilter=RI(this.peerConnection,he("STATS_UPDATE_INTERVAL"),void 0,Er()?1200:void 0),this.bindPCEvents(),this.bindStatsEvents(),this.store.p2pId=this.store.p2pId+1}async establish(t){try{const n=await f$();if(this.localCapabilities=k4(n),t){const{sdp:r}=t,i=tFe(t,oFe),o=(function(){const u={audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]},d=hg(arguments.length>2?arguments[2]:void 0,arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},"sendonly"),f={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},h={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},p={audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]};if(Ra(d,u,"videoExtensions",f,h,p),Ra(d,u,"videoCodecs",f,h,p),Ra(d,u,"audioExtensions",f,h,p),Ra(d,u,"audioCodecs",f,h,p),he("RAISE_H264_BASELINE_PRIORITY")){const g=p.videoCodecs.findIndex((m=>m.rtpMap&&m.rtpMap.encodingName.toLocaleLowerCase()==="h264"&&m.fmtp&&m.fmtp.parameters["profile-level-id"]==="42001f"));if(g!==-1){const m=p.videoCodecs.findIndex((y=>y.rtpMap&&y.rtpMap.encodingName.toLocaleLowerCase()==="h264"));if(m<g){D.debug("raising H264 baseline profile priority");const y=p.videoCodecs[g];p.videoCodecs.splice(g,1),p.videoCodecs.splice(m,0,y)}m!==-1&&he("FILTER_SEND_H264_BASELINE")&&(f.videoCodecs=f.videoCodecs.filter((y=>!(y.rtpMap&&y.rtpMap.encodingName.toLocaleLowerCase()==="h264"&&y.fmtp&&y.fmtp.parameters["profile-level-id"]!=="42001f"))))}}return{send:f,recv:h,sendrecv:p}})({},{},r);this.remoteSDP=new cU({remoteIceParameters:i.iceParameters,remoteDtlsParameters:i.dtlsParameters,candidates:[],remoteRTPCapabilities:o,localCapabilities:this.localCapabilities,direction:this.direction,setup:"actpass",videoCodec:this.store.codec,audioCodec:this.store.audioCodec}),await this.setRemoteDescription({type:"offer",sdp:this.remoteSDP.toString()}),this.isReady=!0;const s=await this.peerConnection.createAnswer();if(!s.sdp)throw new Error("Cannot get answer sdp when trying to establish PeerConnection.");const a=Cd(s.sdp);await this.peerConnection.setLocalDescription(s);const c=await HF({},{},s.sdp);this.localCapabilities=k4(c);const l=this.peerConnection.getTransceivers()[0];return l!=null&&l.receiver&&l.receiver.transport&&this.tryBindTransportEvents(l.receiver.transport),Ju(Ju({},a),{},{sdp:s.sdp})}{this.peerConnection.addTransceiver("video",{direction:"sendonly"}),this.peerConnection.addTransceiver("audio",{direction:"sendonly"});const r=await this.peerConnection.createOffer();if(!r.sdp)throw new Error("Cannot get initialOffer.sdp when trying to establish PeerConnection.");const i=Cd(r.sdp);return this.initialOffer=r,Ju(Ju({},i),{},{sdp:r.sdp})}}catch(n){throw new Be(Q.GET_LOCAL_CONNECTION_PARAMS_FAILED,n.toString())}}async connect(t){try{if(!this.initialOffer)throw new Error("Cannot establish P2PConnection without initial offer.");await this.peerConnection.setLocalDescription(this.initialOffer);const{sdp:n,iceParameters:r,dtlsParameters:i}=t,o=await HF({},{},n);this.remoteSDP=new cU({remoteIceParameters:r,remoteDtlsParameters:i,candidates:[],remoteRTPCapabilities:o,localCapabilities:this.localCapabilities,direction:this.direction,setup:"active",videoCodec:this.store.codec,audioCodec:this.store.audioCodec}),await this.setRemoteDescription({type:"answer",sdp:this.remoteSDP.toString()});const s=this.peerConnection.getTransceivers()[0];s!=null&&s.sender&&s.sender.transport&&this.tryBindTransportEvents(s.sender.transport)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.connect failed; ".concat(n.toString()))}}async addRemoteCandidate(t){try{t&&this.pendingCandidates.push(t),this.peerConnection.remoteDescription&&this.isReady&&(this.pendingCandidates.forEach((n=>{this.peerConnection.addIceCandidate(n)})),this.pendingCandidates=[])}catch(n){throw new Be(Q.ADD_CANDIDATE_FAILED,"P2PConnection.addRemoteCandidate failed; ".concat(n.toString()))}}send(t,n,r){var i=this;return cc((function*(){const o=yield mn(i.mutex.lock("From P2PConnection.send"));try{if(!i.remoteSDP)throw new Error("Cannot call P2PConnection.send before remote SDP created");const s=[],a=i.remoteSDP.receive(t,n,r);t.forEach(((m,y)=>{if(a[y].needCreateTransceiver){const v=i.peerConnection.addTransceiver(m._mediaStreamTrack,{direction:"sendonly"});s.push(v),m._updateRtpTransceiver(v)}else{const v=i.peerConnection.getTransceivers().find((E=>E.mid===a[y].mid));if(!v)throw new Error("cannot find transceiver when sendPeerconnection send, mid is ".concat(a[y].mid));s.push(v),m._updateRtpTransceiver(v)}})),Er()&&he("SIMULCAST")===!0&&(yield mn(i.applySimulcastForFirefox(s,t)));const c=a.map((m=>m.mid)),l=yield mn(i.peerConnection.createOffer()),u=i.mungSendOfferSDP(l.sdp,t,c),d=gi.parse(u),f=c.map((m=>{const y=d.mediaDescriptions.find((v=>v.attributes.mid===m));if(!y)throw new Error("Cannot extract ssrc from mediaDescription.");return c$(y,he("USE_PUB_RTX"))})),h=s.map(((m,y)=>{const v=c[y];return{localSSRC:f[y],id:v}}));yield mn(i.peerConnection.setLocalDescription({type:"offer",sdp:u}));try{yield h}catch(m){const y=i.remoteSDP.toString();throw yield mn(i.peerConnection.setLocalDescription({type:"offer",sdp:u})),yield mn(i.peerConnection.setRemoteDescription({type:"answer",sdp:y})),yield mn(i.stopSending(c,!0)),m}yield mn(i.applySimulcastEncodings(s,t)),yield mn(i.applySendEncodings(s,t));const p=i.remoteSDP.toString(),g=i.logSDPExchange(u,"offer","local","send");return g==null||g(p),yield mn(i.setRemoteDescription({type:"answer",sdp:p})),s.map(((m,y)=>{const v=c[y];return{localSSRC:f[y],id:v}}))}catch(s){throw s instanceof Be?s:new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.send failed; ".concat(s.toString()))}finally{o()}}))()}async stopSending(t,n){const r=n?void 0:await this.mutex.lock("From P2PConnection.stopSending");try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopSending before remote SDP created");const i=this.peerConnection.getTransceivers().filter((c=>t.indexOf(c.mid)!==-1));if(i.length!==t.length)throw new Error("Transceivers' length (".concat(i.length,") doesn't match mids' length (").concat(t.length,") when trying to call P2PConnection.stopSending."));i.map((c=>{var l;c.direction="inactive",(l=c.stop)===null||l===void 0||l.call(c)}));const o=await this.peerConnection.createOffer(),s=this.logSDPExchange(o.sdp||"","offer","local","stopSending");await this.peerConnection.setLocalDescription(o),this.remoteSDP.stopReceiving(t);const a=this.remoteSDP.toString();s==null||s(a),await this.setRemoteDescription({type:"answer",sdp:a})}catch(i){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.stopSending failed; ".concat(i.toString()))}finally{r&&r()}}async receive(t,n,r,i){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.receive ".concat(t," before remoteSDP created."));const{mid:o,needExchangeSDP:s}=this.remoteSDP.send(t,n,r,i);if(s){const c=this.remoteSDP.toString(),l=this.logSDPExchange(c,"offer","remote","receive");await this.setRemoteDescription({type:"offer",sdp:c});const u=await this.peerConnection.createAnswer(),d=this.mungReceiveAnswerSDP(u.sdp,o,t);l==null||l(d||""),await this.peerConnection.setLocalDescription({type:"answer",sdp:d}),D.debug("[".concat(this.store.clientId,"] [P2PConnection] receive ").concat(t," by exchanging SDP."))}else D.debug("[".concat(this.store.clientId,"] [P2PConnection] receive ").concat(t," no need to exchange SDP."));const a=this.peerConnection.getTransceivers().find((c=>c.mid===o));if(!a||a.mid===null)throw new Error("Cannot get transceiver after setLocalDescription.");return{track:a.receiver.track,mid:a.mid,transceiver:a}}catch(o){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(o.toString()))}}async mockReceive(t,n,r,i){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.receive ".concat(t," before remoteSDP created."));const{mid:o,needExchangeSDP:s}=this.remoteSDP.send(t,n,r,i);if(s){const a=this.remoteSDP.toString(),c=this.logSDPExchange(a,"offer","remote","receive");await this.setRemoteDescription({type:"offer",sdp:a});const l=await this.peerConnection.createAnswer(),u=this.mungReceiveAnswerSDP(l.sdp,o,t);c==null||c(u||""),await this.peerConnection.setLocalDescription({type:"answer",sdp:u}),D.debug("[".concat(this.store.clientId,"] [P2PConnection] receive ").concat(t," by exchanging SDP."))}else D.debug("[".concat(this.store.clientId,"] [P2PConnection] receive ").concat(t," no need to exchange SDP."))}catch(o){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(o.toString()))}}async stopReceiving(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopReceiving before remote SDP created.");this.remoteSDP.stopSending(t);const n=this.remoteSDP.toString(),r=this.logSDPExchange(n,"offer","remote","stopReceiving");await this.setRemoteDescription({type:"offer",sdp:n});const i=await this.peerConnection.createAnswer();r==null||r(i.sdp||""),await this.peerConnection.setLocalDescription(i)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection stopReceiving failed; ".concat(n.toString()))}}async restartICE(t){try{if(this.store.p2pTransport===S0.Auto&&(this.store.p2pTransport=S0.SdRtn,fn().supportPCSetConfiguration&&this.peerConnection.setConfiguration(yh.resolvePCConfiguration(this.spec,this.store.p2pTransport))),this.restartCnt>3&&(this.restartCnt=0,fn().supportPCSetConfiguration&&this.peerConnection.setConfiguration(yh.resolvePCConfiguration(this.spec,this.store.p2pTransport,++this.curTurnServerIndex))),!t){this.restartCnt++,this.isReady=!1;const n=await this.peerConnection.createOffer({iceRestart:!0});if(!n.sdp)throw new Error("Cannot restartICE because restart offer SDP does not exist.");const{iceParameters:r}=Cd(n.sdp);return this.store.descriptionStart(),this.direction===po.SEND_ONLY&&await this.peerConnection.setLocalDescription(n),r}if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopReceiving before remote SDP created.");if(this.remoteSDP.restartICE(t),this.store.descriptionStart(),this.direction===po.RECEIVE_ONLY){this.restartCnt++,await this.setRemoteDescription({type:"offer",sdp:this.remoteSDP.toString()});const n=await this.peerConnection.createAnswer();if(!n.sdp)throw new Error("Cannot get answer sdp when trying to iceRestart.");const{iceParameters:r}=Cd(n.sdp);return await this.peerConnection.setLocalDescription(n),r}await this.setRemoteDescription({type:"answer",sdp:this.remoteSDP.toString()}),this.isReady=!0}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection stopReceiving failed; ".concat(n.toString()))}}close(){var t;this.peerConnection.close(),this.peerConnection.onicecandidate=null,(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,"closed"),this.tryUnbindTransportEvents(),this.unbindPCEvents(),this.unbindStatsEvents(),this.transport=void 0,this.statsFilter.destroy()}getStats(){return this.statsFilter.getStats()}getRemoteVideoIsReady(t){return this.statsFilter.getVideoIsReady(t)}async updateEncoderConfig(t,n){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.updateEncoderConfig before remote SDP created.");const r=await this.peerConnection.createOffer(),i=this.mungSendOfferSDP(r.sdp,[n],[t]);this.remoteSDP.updateRecvMedia(t,n);const o=this.remoteSDP.toString(),s=this.logSDPExchange(i,"offer","local","updateEncoderConfig");await this.peerConnection.setLocalDescription({type:"offer",sdp:i}),s==null||s(o),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}catch(r){throw new Be(Q.EXCHANGE_SDP_FAILED,r.toString())}}async updateSendParameters(t,n){const r=this.peerConnection.getTransceivers().filter((i=>i.mid===t));r.length===1&&(this.isVP8Simulcast(n)?Er()||await this.applySimulcastEncodings(r,[n]):await this.applySendEncodings(r,[n]))}setStatsRemoteVideoIsReady(t,n){this.statsFilter.setVideoIsReady2(t,n)}async replaceTrack(t,n){const r=this.peerConnection.getTransceivers().find((i=>i.mid===n));r&&await r.sender.replaceTrack(t._mediaStreamTrack)}async getSelectedCandidatePair(){const t=this.peerConnection.getReceivers();if(t.length>0&&t[0].transport&&t[0].transport.iceTransport&&t[0].transport.iceTransport.getSelectedCandidatePair&&t[0].transport.iceTransport.getSelectedCandidatePair()){const n=t[0].transport.iceTransport,{local:r,remote:i}=n.getSelectedCandidatePair();return{local:Ju(Ju({},ml),{},{candidateType:r.type,protocol:r.protocol,address:r.address,port:r.port}),remote:Ju(Ju({},ml),{},{candidateType:i.type,protocol:i.protocol,address:i.address,port:i.port})}}return this.statsFilter.getSelectedCandidatePair()}bindPCEvents(){this.peerConnection.oniceconnectionstatechange=()=>{var t,n;lt(t=["connected","completed"]).call(t,this.peerConnection.iceConnectionState)&&(this.isReady=!1),(n=this.onICEConnectionStateChange)===null||n===void 0||n.call(this,this.peerConnection.iceConnectionState)},this.peerConnection.onconnectionstatechange=()=>{var t;this.peerConnection.connectionState==="connected"&&(this.restartCnt=0),(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,this.peerConnection.connectionState)},this.startICECandidate()}startICECandidate(){this.peerConnection.onicecandidate||(this.localCandidateCount=0,this.peerConnection.onicecandidate=t=>{if(t.candidate){var n;t.candidate.candidate&&((n=this.onLocalCandidate)===null||n===void 0||n.call(this,t.candidate.toJSON())),this.localCandidateCount+=1}else D.debug("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] local candidate count"),this.localCandidateCount)})}unbindPCEvents(){this.peerConnection.oniceconnectionstatechange=null,this.peerConnection.onconnectionstatechange=null,this.peerConnection.onsignalingstatechange=null,this.peerConnection.onicecandidateerror=null,this.peerConnection.onicecandidate=null,this.peerConnection.ontrack=null}static resolvePCConfiguration(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;const i={iceServers:[]};var o;return t.iceServers?i.iceServers=t.iceServers:t.turnServer&&t.turnServer.mode!=="off"&&(l6(t.turnServer.servers)?i.iceServers=t.turnServer.servers:(i.iceServers&&i.iceServers.push(...yh.turnServerConfigToIceServers(t.turnServer.servers,n,r)),he("USE_TURN_SERVER_OF_GATEWAY")&&i.iceServers&&t.turnServer.serversFromGateway&&i.iceServers.push(...yh.turnServerConfigToIceServers(t.turnServer.serversFromGateway,n,r)),lt(o=[S0.Relay,S0.SdRtn]).call(o,n)&&(i.iceTransportPolicy="relay"),he("FORCE_TURN_TCP")?i.iceTransportPolicy="relay":t.turnServer.servers.concat(t.turnServer.serversFromGateway||[]).forEach((s=>{s.forceturn&&(i.iceTransportPolicy="relay")})))),he("ENABLE_ENCODED_TRANSFORM")&&fn().supportWebRTCEncodedTransform&&(i.encodedInsertableStreams=!0),D.debug("P2PConnection p2pTransport is ".concat(n)),i}static turnServerConfigToIceServers(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;const i=[],o=t.filter((a=>a.tcpport));D.debug("P2PConnection turnServers is ".concat(o,", current index is ").concat(r));const s=o.length>r?o[r]:o[0];switch(n){case S0.SdRtn:const a=t.filter((l=>{var u;return lt(u=l.username).call(u,"glb:")&&l.turnServerURL==l.turnServerURL})),c=a.length>r?a[r]:a[0];c&&(i.push({username:c.username,credential:c.password,credentialType:"password",urls:"turn:".concat(Oh(c.turnServerURL),":").concat(c.tcpport,"?transport=udp")}),i.push({username:c.username,credential:c.password,credentialType:"password",urls:"turns:".concat(Oh(c.turnServerURL),":").concat(c.tcpport,"?transport=tcp")}));break;case S0.Relay:s&&(i.push({username:s.username,credential:s.password,credentialType:"password",urls:"turn:".concat(s.turnServerURL,":").concat(s.tcpport,"?transport=udp")}),i.push({username:s.username,credential:s.password,credentialType:"password",urls:"turns:".concat(Oh(s.turnServerURL),":").concat(s.tcpport,"?transport=tcp")}));break;default:s&&(i.push({username:s.username,credential:s.password,credentialType:"password",urls:"turn:".concat(s.turnServerURL,":").concat(s.tcpport,"?transport=udp")}),i.push({username:s.username,credential:s.password,credentialType:"password",urls:"turns:".concat(Oh(s.turnServerURL),":").concat(s.tcpport,"?transport=tcp")}),i.push({username:s.username,credential:s.password,credentialType:"password",urls:"stun:".concat(s.turnServerURL,":").concat(s.tcpport)}))}return i}tryBindTransportEvents(t){if(t){this.transport=t,t.onstatechange=()=>{var r;t!=null&&t.state&&((r=this.onDTLSTransportStateChange)===null||r===void 0||r.call(this,t.state))},t.onerror=r=>{var i;(i=this.onDTLSTransportError)===null||i===void 0||i.call(this,"error"in r?r.error:r)};const n=t.iceTransport;n&&(n.onstatechange=()=>{const r=t==null?void 0:t.iceTransport.state;var i;r&&((i=this.onICETransportStateChange)===null||i===void 0||i.call(this,r))},n.getSelectedCandidatePair&&(n.onselectedcandidatepairchange=()=>{if(n.getSelectedCandidatePair()){const{local:r,remote:i}=n.getSelectedCandidatePair();D.info("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] selectedcandidatepairchange: local ").concat(JSON.stringify({candidateType:r.type,protocol:r.protocol}),", remote ").concat(JSON.stringify({candidateType:i.type,protocol:i.protocol,address:i.address,port:i.port})," )"))}}))}}tryUnbindTransportEvents(){this.transport&&(this.transport.onstatechange=null,this.transport.onerror=null,this.transport.iceTransport&&(this.transport.iceTransport.onstatechange=null))}async updateRtpSenderEncodings(t,n){var r;if(n||(n=this.peerConnection.getSenders().find((u=>u.track===t._mediaStreamTrack))),!n)return D.warn("[".concat(t.getTrackId(),"] no rtpSender found}"));if(this.isVP8Simulcast(t))return D.warn("[updateRtpSenderEncodings] Track is VP8 simulcast, please apply simulcast encodings");if(!fn().supportSetRtpSenderParameters)return D.warn("[updateRtpSenderEncodings] Browser not support set rtp-sender parameters");const i={},o={};switch(t._optimizationMode){case"motion":i.degradationPreference="maintain-framerate";break;case"detail":i.degradationPreference="maintain-resolution";break;default:i.degradationPreference="balanced"}if(t._encoderConfig){var s;const{bitrateMax:u,frameRate:d,scaleResolutionDownBy:f}=t._encoderConfig;u&&(o.maxBitrate=1e3*u),lt(s=t._hints).call(s,nr.LOW_STREAM)&&(d&&(o.maxFramerate=hs(d)),f&&f>=1&&(o.scaleResolutionDownBy=f))}if(he("DSCP_TYPE")&&Bd()){var a;const u=he("DSCP_TYPE");lt(a=["very-low","low","medium","high"]).call(a,u)&&(o.networkPriority=u)}const c=n.getParameters(),l=(r=c.encodings)===null||r===void 0?void 0:r[0];Er()&&!l&&(i.encodings=[o]),l&&Object.assign(l,o),Object.assign(c,i),D.debug("[".concat(t.getTrackId(),"] updateRtpSenderEncodings: ").concat(JSON.stringify(c.encodings))),await n.setParameters(c)}async applySendEncodings(t,n){try{if(!fn().supportSetRtpSenderParameters||t.length!==n.length)return;for(let r=0;r<t.length;r++){const i=t[r],o=n[r];o instanceof Kn&&!this.isVP8Simulcast(o)&&await this.updateRtpSenderEncodings(o,i.sender)}}catch{D.debug("[".concat(this.store.clientId,"] Apply RTPSendEncodings failed."))}}mungSendOfferSDP(t,n,r){const i=gi.parse(t);return n.forEach(((o,s)=>{const a=r[s],c=i.mediaDescriptions.find((l=>l.attributes.mid===a));c&&(wp(c,o),d$(c,o,this.store.codec))})),gi.print(i)}bindStatsEvents(){this.statsFilter.onFirstAudioReceived=t=>{var n;(n=this.onFirstAudioReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoReceived=t=>{var n;(n=this.onFirstVideoReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstAudioDecoded=t=>{var n;(n=this.onFirstAudioDecoded)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoDecoded=(t,n,r)=>{var i;(i=this.onFirstVideoDecoded)===null||i===void 0||i.call(this,t,n,r)},this.statsFilter.onSelectedLocalCandidateChanged=(t,n)=>{var r;(r=this.onSelectedLocalCandidateChanged)===null||r===void 0||r.call(this,t,n)},this.statsFilter.onSelectedRemoteCandidateChanged=(t,n)=>{var r;(r=this.onSelectedRemoteCandidateChanged)===null||r===void 0||r.call(this,t,n)},this.statsFilter.onFirstVideoDecodedTimeout=t=>{var n;(n=this.onFirstVideoDecodedTimeout)===null||n===void 0||n.call(this,t)}}unbindStatsEvents(){this.statsFilter.onFirstAudioReceived=void 0,this.statsFilter.onFirstVideoReceived=void 0,this.statsFilter.onFirstAudioDecoded=void 0,this.statsFilter.onFirstVideoDecoded=void 0,this.statsFilter.onSelectedLocalCandidateChanged=void 0,this.statsFilter.onSelectedRemoteCandidateChanged=void 0,this.statsFilter.onFirstVideoDecodedTimeout=void 0}async applySimulcastForFirefox(t,n){if(t.length===n.length)for(let c=0;c<t.length;c++){var r,i,o,s,a;const l=t[c],u=n[c];if(u instanceof Kn&&!lt(r=u._hints).call(r,nr.LOW_STREAM)&&(i=u._encoderConfig)!==null&&i!==void 0&&i.bitrateMax&&((o=u._encoderConfig)===null||o===void 0?void 0:o.bitrateMax)>200&&(s=u._scalabilityMode)!==null&&s!==void 0&&s.numSpatialLayers&&((a=u._scalabilityMode)===null||a===void 0?void 0:a.numSpatialLayers)>1&&this.store.codec==="vp8"){const d={},f={high:1e3*(u._encoderConfig.bitrateMax-50),medium:5e4};d.encodings=[{rid:"m",active:!0,maxBitrate:f.medium,scaleResolutionDownBy:4},{rid:"h",active:!0,maxBitrate:f.high}];const h=l.sender.getParameters();await l.sender.setParameters(Object.assign(h,d))}}}async applySimulcastEncodings(t,n){if(!Er()&&t.length===n.length)for(let r=0;r<t.length;r++){const i=n[r];if(i instanceof Kn&&this.isVP8Simulcast(i)){const o=t[r],s={},a={high:1e3*(i._encoderConfig.bitrateMax-50),medium:5e4};s.encodings=[{active:!0,adaptivePtime:!1,networkPriority:"high",priority:"high",maxBitrate:a.high},{active:!0,adaptivePtime:!1,networkPriority:"low",priority:"low",maxBitrate:a.medium,scaleResolutionDownBy:4}];const c=o.sender.getParameters();await o.sender.setParameters(Object.assign(c,s))}}}isVP8Simulcast(t){var n,r,i,o,s;return!!(t instanceof Kn&&he("SIMULCAST")&&this.store.codec==="vp8"&&!lt(n=t._hints).call(n,nr.LOW_STREAM)&&(r=t._encoderConfig)!==null&&r!==void 0&&r.bitrateMax&&((i=t._encoderConfig)===null||i===void 0?void 0:i.bitrateMax)>200&&(o=t._scalabilityMode)!==null&&o!==void 0&&o.numSpatialLayers&&((s=t._scalabilityMode)===null||s===void 0?void 0:s.numSpatialLayers)>1)}logSDPExchange(t,n,r,i){if(he("SDP_LOGGING"))return D.upload("[".concat(this.store.clientId,"] exchanging ").concat(r," ").concat(n," SDP during P2PConnection.").concat(i,`
`),t),n==="offer"?o=>{this.logSDPExchange(o,"answer",r==="local"?"remote":"local",i)}:void 0}async muteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.muteLocal before remote SDP created.");const n=this.peerConnection.getTransceivers().filter((s=>s.mid&&t.indexOf(s.mid)!==-1));if(n.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length.");n.map((s=>{s.direction="inactive"}));const r=await this.peerConnection.createOffer(),i=this.logSDPExchange(r.sdp||"","offer","local","muteLocal");await this.peerConnection.setLocalDescription(r),this.remoteSDP.muteRemote(t);const o=this.remoteSDP.toString();i==null||i(o),await this.setRemoteDescription({type:"answer",sdp:o})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.muteLocal failed; ".concat(n.toString()))}}async unmuteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.unmuteLocal before remote SDP created.");const n=this.peerConnection.getTransceivers().filter((s=>s.mid&&t.indexOf(s.mid)!==-1));if(n.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length.");n.map((async s=>{s.direction="sendonly"}));const r=await this.peerConnection.createOffer(),i=this.logSDPExchange(r.sdp||"","offer","local","unmuteLocal");await this.peerConnection.setLocalDescription(r),this.remoteSDP.unmuteRemote(t);const o=this.remoteSDP.toString();i==null||i(o),await this.setRemoteDescription({type:"answer",sdp:o})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.unmuteLocal failed; ".concat(n.toString()))}}async getRemoteSSRC(t,n){var r,i;if(n=(r=n)!==null&&r!==void 0?r:(i=this.currentRemoteDescription)===null||i===void 0?void 0:i.sdp){var o;const s=(o=gi.parse(n).mediaDescriptions.find((a=>a.attributes.mid===t)))===null||o===void 0?void 0:o.attributes.ssrcs;return s==null?void 0:s[0].ssrcId}}async setRemoteDescription(t){var n;await this.peerConnection.setRemoteDescription(t),lt(n=["connected","completed"]).call(n,this.peerConnection.iceConnectionState)||(this.isReady=!0,this.addRemoteCandidate())}mungReceiveAnswerSDP(t,n,r){const i=gi.parse(t),o=i.mediaDescriptions.find((s=>s.attributes.mid===n));return o&&r===vt.AUDIO&&o.media.mediaType==="audio"&&Tp(o),gi.print(i)}},ft(Zn.prototype,"establish",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"establish"),Zn.prototype),ft(Zn.prototype,"connect",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"connect"),Zn.prototype),ft(Zn.prototype,"receive",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"receive"),Zn.prototype),ft(Zn.prototype,"mockReceive",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"mockReceive"),Zn.prototype),ft(Zn.prototype,"stopReceiving",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"stopReceiving"),Zn.prototype),ft(Zn.prototype,"restartICE",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"restartICE"),Zn.prototype),ft(Zn.prototype,"close",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"close"),Zn.prototype),ft(Zn.prototype,"updateEncoderConfig",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"updateEncoderConfig"),Zn.prototype),ft(Zn.prototype,"updateSendParameters",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"updateSendParameters"),Zn.prototype),ft(Zn.prototype,"replaceTrack",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"replaceTrack"),Zn.prototype),ft(Zn.prototype,"muteLocal",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"muteLocal"),Zn.prototype),ft(Zn.prototype,"unmuteLocal",[Ea],Object.getOwnPropertyDescriptor(Zn.prototype,"unmuteLocal"),Zn.prototype),Zn);function Ea(e,t,n){const r=e[t];if(typeof r!="function")throw new Error("Cannot use mutex on object property.");return n.value=async function(){const i=this.mutex,o=await i.lock("From P2PConnection.".concat(t));try{for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];return await r.apply(this,a)}finally{o()}},n}function uC(e,t){let n=document.createElement("video"),r=document.createElement("canvas");n.setAttribute("style","display:none"),r.setAttribute("style","display:none"),n.setAttribute("muted",""),n.muted=!0,n.setAttribute("autoplay",""),n.autoplay=!0,n.setAttribute("playsinline",""),r.width=hs(t.width),r.height=hs(t.height);const i=hs(t.framerate||15);document.body.append(n),document.body.append(r);let o=e._mediaStreamTrack;n.srcObject=new MediaStream([o]),n.play();const s=r.getContext("2d");if(!s)throw new xe(Q.UNEXPECTED_ERROR,"can not get canvas context");const a=fn(),c=r.captureStream(a.supportRequestFrame?0:i).getVideoTracks()[0];c.canvas||(c.canvas=r),r.startCapture=()=>{if(!n)return r.stopCapture&&r.stopCapture();if(n.paused&&n.play(),n.videoHeight>2&&n.videoWidth>2){const u=n.videoWidth,d=n.videoHeight/u,f=r.width*d;Math.abs(f-r.height)>=2&&(D.debug("adjust low stream resolution","".concat(r.width,"x").concat(r.height," -> ").concat(r.width,"x").concat(f)),r.height=f)}s.drawImage(n,0,0,r.width,r.height),c.requestFrame&&c.requestFrame(),o!==e._mediaStreamTrack&&(o=e._mediaStreamTrack,n.srcObject=new MediaStream([o]))},r.stopCapture=EI((()=>r.startCapture&&r.startCapture()),i);const l=c.stop;return c.stop=()=>{l.call(c),n&&(n.remove(),n.srcObject=null,n=null),r&&(r.width=0,r.remove(),r.stopCapture&&r.stopCapture(),r.startCapture=void 0,r.stopCapture=void 0,r=null),D.debug("clean low stream renderer")},c}var P3=(function(e){return e[e.HEIGHT=2033]="HEIGHT",e[e.FRAME_RATE=2034]="FRAME_RATE",e[e.WIDTH=2035]="WIDTH",e})(P3||{}),ei=(function(e){return e[e.FRAME_RATE=2002]="FRAME_RATE",e[e.WIDTH=2003]="WIDTH",e[e.HEIGHT=2004]="HEIGHT",e[e.PACKAGE_LOST=2005]="PACKAGE_LOST",e[e.AVG_ENCODE=2007]="AVG_ENCODE",e[e.NACKS=2009]="NACKS",e[e.PLIS=2010]="PLIS",e[e.FIRS=2011]="FIRS",e[e.BITRATE=2012]="BITRATE",e[e.PACKAGE_RATE=2031]="PACKAGE_RATE",e[e.ADAPTATION=2032]="ADAPTATION",e[e.ACTUAL_ENCODED=2060]="ACTUAL_ENCODED",e[e.BANDWIDTH=2061]="BANDWIDTH",e[e.RETRANSMIT=2062]="RETRANSMIT",e[e.TARGET_ENCODED=2064]="TARGET_ENCODED",e[e.TRANSMIT=2066]="TRANSMIT",e[e.FREEZE=2082]="FREEZE",e[e.DISABLED=2095]="DISABLED",e[e.PLAYER_STATUS=2128]="PLAYER_STATUS",e[e.QP_SUM=2143]="QP_SUM",e})(ei||{}),C0=(function(e){return e[e.BITRATE=2069]="BITRATE",e[e.PACKAGE_LOST=2070]="PACKAGE_LOST",e[e.PACKAGE_RATE=2071]="PACKAGE_RATE",e[e.HEIGHT=2073]="HEIGHT",e[e.FRAME_RATE=2075]="FRAME_RATE",e[e.WIDTH=2077]="WIDTH",e})(C0||{}),Qi=(function(e){return e[e.JITTER=-1]="JITTER",e[e.PACKAGE_LOST=2014]="PACKAGE_LOST",e[e.WIDTH=2018]="WIDTH",e[e.HEIGHT=2019]="HEIGHT",e[e.FRAME_RATE=2020]="FRAME_RATE",e[e.JITTER_BUFFER=2023]="JITTER_BUFFER",e[e.CURRENT_DELAY=2024]="CURRENT_DELAY",e[e.NACKS=2026]="NACKS",e[e.PLIS=2027]="PLIS",e[e.FIRS=2028]="FIRS",e[e.BITRATE=2029]="BITRATE",e[e.PACKAGE_RATE=2078]="PACKAGE_RATE",e[e.FREEZE=2084]="FREEZE",e[e.DISABLED=2101]="DISABLED",e[e.PLAYER_STATUS=2129]="PLAYER_STATUS",e[e.QP_SUM=2144]="QP_SUM",e[e.I_FRAME_DELAY=2149]="I_FRAME_DELAY",e})(Qi||{}),w0=(function(e){return e[e.FRAME_RATE_DECODE=2021]="FRAME_RATE_DECODE",e[e.FRAME_RATE_RENDER=2022]="FRAME_RATE_RENDER",e[e.FRAME_RATE_OUTPUT=2155]="FRAME_RATE_OUTPUT",e[e.FREEZE_TIME=2109]="FREEZE_TIME",e[e.FREEZE_TIME_RENDER=2147]="FREEZE_TIME_RENDER",e[e.FREEZE_DURATION=2156]="FREEZE_DURATION",e})(w0||{}),w$=(function(e){return e[e.PCM_LEVEL=2104]="PCM_LEVEL",e})(w$||{}),ad=(function(e){return e[e.PACKAGE_LOST=-1]="PACKAGE_LOST",e[e.LEVEL=2038]="LEVEL",e[e.BITRATE=2039]="BITRATE",e[e.PACKAGE_RATE=2040]="PACKAGE_RATE",e[e.AEC_RETURN_LOSS=2041]="AEC_RETURN_LOSS",e[e.AEC_RETURN_LOSS_ENH=2042]="AEC_RETURN_LOSS_ENH",e[e.FREEZE=2081]="FREEZE",e[e.DISABLED=2096]="DISABLED",e})(ad||{}),Sa=(function(e){return e[e.BITRATE=2044]="BITRATE",e[e.PACKAGE_LOST=2045]="PACKAGE_LOST",e[e.PACKAGE_RATE=2046]="PACKAGE_RATE",e[e.CURRENT_DELAY=2047]="CURRENT_DELAY",e[e.JITTER_BUFFER=2054]="JITTER_BUFFER",e[e.JITTER=2055]="JITTER",e[e.FREEZE=2083]="FREEZE",e[e.DISABLED=2102]="DISABLED",e[e.PCM_LEVEL=2105]="PCM_LEVEL",e[e.PLAYER_STATUS=2130]="PLAYER_STATUS",e[e.CONCEALED_SAMPLES=2148]="CONCEALED_SAMPLES",e})(Sa||{}),T$=(function(e){return e[e.FREEZE_TIME=-1]="FREEZE_TIME",e[e.LEVEL=2043]="LEVEL",e})(T$||{}),qs=(function(e){return e[e.RTT=2006]="RTT",e[e.CONN_TYPE=801]="CONN_TYPE",e})(qs||{});const Nl=1e3,g0=3;function Jt(e,t,n){n!=null&&Number.isFinite(n)&&(e[t]=Math.round(Math.max(0,n)))}function dU(e){const t={[qs.CONN_TYPE]:0,[qs.RTT]:e.rtt};switch(e.selectedCandidatePair.localCandidate.candidateType){case"relay":{const n=e.selectedCandidatePair.localCandidate.relayProtocol;n==="udp"&&(t[qs.CONN_TYPE]=1),n==="tcp"&&(t[qs.CONN_TYPE]=3),n==="tls"&&(t[qs.CONN_TYPE]=4);break}case"srflx":t[qs.CONN_TYPE]=2}return t}function fU(e){let t=0;switch(e){case"none":t=0;break;case"cpu":t=1;break;case"bandwidth":t=2;break;case"other":t=3}return t}class I$ extends fr{constructor(t){super(),H(this,"store",void 0),H(this,"uploadWRTCStatsTimer",void 0),H(this,"uploadOutboundDenoiserStatsTimer",void 0),H(this,"uploadExtStatsTimer",void 0),H(this,"uploadExtUsageStatsTimer",void 0),H(this,"uploadInboundExtStatsTimer",void 0),H(this,"requestStats",void 0),H(this,"requestTransportStats",void 0),H(this,"requestLocalMedia",void 0),H(this,"requestRemoteMedia",void 0),H(this,"requestAllTracks",void 0),H(this,"requestVideoIsReady",void 0),H(this,"requestUploadStats",void 0),H(this,"requestUpload",void 0),H(this,"uploadOutboundStarted",!1),H(this,"uploadInboundStarted",!1),H(this,"uploadTransportStarted",!1),H(this,"uploadExtensionUsageStarted",!1),H(this,"lastRecvStats",void 0),H(this,"lastSendStats",void 0),H(this,"lastFullRecvStats",void 0),H(this,"lastFullSendStats",void 0),H(this,"needUploadRenderFreezeTime",!0),this.store=t}uploadWRTCStats(t){if(!this.requestStats||!this.requestUploadStats)return;let n,r;if(this.uploadTransportStarted&&(n=this.requestStats(),this.store.useP2P&&(r=this.requestStats(!0))),!n&&this.uploadOutboundStarted&&(n=this.requestStats()),!r&&this.uploadInboundStarted&&(r=this.requestStats(!0)),n||r){const i={};if(this.uploadTransportStarted&&n){const o=this.getTransportStats(n,r,t);o&&(i.misc=[o])}if(this.uploadOutboundStarted&&n){const o=this.getOutboundStats(n,t?this.lastSendStats:this.lastFullSendStats,t);o&&(i.outbound=[o])}if(this.uploadInboundStarted&&r){const o=this.getInboundStats(r,t?this.lastRecvStats:this.lastFullRecvStats,t);o&&(i.inbound=o)}this.requestUploadStats(i)}this.lastRecvStats=r,this.lastSendStats=n,t||(this.lastFullRecvStats=r,this.lastFullSendStats=n)}startUploadWRTCStats(){if(this.uploadWRTCStatsTimer)return;let t=1;this.uploadWRTCStatsTimer=window.setInterval((()=>{if(!this.uploadTransportStarted&&!this.uploadInboundStarted&&!this.uploadOutboundStarted)return this.stopUploadWRTCStats();this.uploadWRTCStats(t!==g0),++t===g0+1&&(t=1)}),Nl)}stopUploadWRTCStats(){window.clearInterval(this.uploadWRTCStatsTimer),this.uploadWRTCStatsTimer=void 0,this.lastSendStats&&(this.lastSendStats.videoSend=[],this.lastSendStats.audioSend=[],this.lastSendStats=void 0),this.lastRecvStats&&(this.lastRecvStats.videoRecv=[],this.lastRecvStats.audioRecv=[],this.lastRecvStats=void 0)}getTransportStats(t,n,r){if(!this.requestStats)return;if(r)return t.rtt==null?void 0:{addition:{[qs.RTT]:t.rtt,[qs.CONN_TYPE]:void 0}};const i=dU(t);if(this.store.useP2P){if(n){const o=dU(n);i[qs.CONN_TYPE]+=o[qs.CONN_TYPE]<<3}i[qs.CONN_TYPE]+=110}else i[qs.CONN_TYPE]+=100;return{addition:i}}getOutboundStats(t,n,r){if(!this.requestUploadStats||!this.requestLocalMedia)return;const i=this.requestLocalMedia();if(!i||i.length===0)return;let o,s,a;return i.forEach((c=>{let[l,{track:u,ssrcs:d}]=c;switch(l){case ze.LocalVideoLowTrack:case ze.LocalVideoTrack:if(l===ze.LocalVideoTrack){const f=(function(g,m,y,v,E){const b=m.videoSend.find((O=>O.ssrc===g));if(!b)return;const S={},{sentFrame:w,inputFrame:C}=b;if(C&&w){const O=C.frameRate,L=w.frameRate;S[ei.FREEZE]=(function(R,F){let W=!0;return W=!(R<=5)&&(R<=10?F<3:R<=20?F<4:F<5),W})(O,L)?1:0}if(Jt(S,ei.QP_SUM,b.qpSumPerFrame),E)return S;switch(w&&(Jt(S,ei.HEIGHT,w.height),Jt(S,ei.WIDTH,w.width),Jt(S,ei.FRAME_RATE,w.frameRate)),S[ei.DISABLED]=v._originMediaStreamTrack&&!v._originMediaStreamTrack.enabled||v._mediaStreamTrack&&!v._mediaStreamTrack.enabled?1:0,b.adaptionChangeReason){case"none":S[ei.ADAPTATION]=0;break;case"cpu":S[ei.ADAPTATION]=1;break;case"bandwidth":S[ei.ADAPTATION]=2;break;case"other":S[ei.ADAPTATION]=3}let _=0;b.adaptionChangeReason&&(_+=fU(b.adaptionChangeReason)),m.qualityLimitationReason&&(_+=fU(m.qualityLimitationReason)<<3),S[ei.ADAPTATION]=_,S[ei.PLAYER_STATUS]=cE[v._player?v._player.videoElementStatus:"uninit"],Jt(S,ei.NACKS,b.nacksCount),Jt(S,ei.PLIS,b.plisCount),Jt(S,ei.FIRS,b.firsCount),Jt(S,ei.AVG_ENCODE,b.avgEncodeMs);const I=y&&y.videoSend.find((O=>O.ssrc===g));if(I){let O=E?Nl:Nl*g0;I.timestamp&&b.timestamp&&(O=b.timestamp-I.timestamp),I.packets!=null&&b.packets!=null&&Jt(S,ei.PACKAGE_RATE,1e3*(b.packets-I.packets)/O),b.packetsLost!=null&&I.packetsLost!=null&&Jt(S,ei.PACKAGE_LOST,b.packetsLost-I.packetsLost),I.bytes!=null&&b.bytes!=null&&Jt(S,ei.BITRATE,8*(b.bytes-I.bytes)/O)}return S})(d[0].ssrcId,t,n,u,r),h=r?null:(function(g,m,y){const v=m.videoSend.find((_=>_.ssrc===g));if(!v)return null;const E={},b=v.inputFrame,S=b&&b.height||y&&y.videoHeight||0,w=b&&b.width||y&&y.videoWidth||0,C=b&&b.frameRate||0;return Jt(E,P3.HEIGHT,S),Jt(E,P3.WIDTH,w),Jt(E,P3.FRAME_RATE,C),E})(d[0].ssrcId,t,u),p=r?null:(function(g){const m={};return Jt(m,ei.RETRANSMIT,g.bitrate.retransmit),Jt(m,ei.TARGET_ENCODED,g.bitrate.targetEncoded),Jt(m,ei.ACTUAL_ENCODED,g.bitrate.actualEncoded),Jt(m,ei.TRANSMIT,g.bitrate.transmit),Jt(m,ei.BANDWIDTH,g.sendBandwidth),m})(t);s=Object.assign({},f,h,p)}else a=r?void 0:(function(f,h,p){const g=h.videoSend.find((v=>v.ssrc===f));if(!g)return;const m={},y=g.sentFrame;if(y&&(Jt(m,C0.HEIGHT,y.height),Jt(m,C0.WIDTH,y.width),Jt(m,C0.FRAME_RATE,y.frameRate)),p){const v=p.videoSend.find((E=>E.ssrc===f));if(v){let E=Nl*g0;v.timestamp&&g.timestamp&&(E=g.timestamp-v.timestamp),v.packets!=null&&g.packets!=null&&Jt(m,C0.PACKAGE_RATE,1e3*(g.packets-v.packets)/E),g.packetsLost!=null&&v.packetsLost!=null&&Jt(m,C0.PACKAGE_LOST,g.packetsLost-v.packetsLost),v.bytes!=null&&g.bytes!=null&&Jt(m,C0.BITRATE,8*(g.bytes-v.bytes)/E)}}return m})(d[0].ssrcId,t,n);break;case ze.LocalAudioTrack:o=r?void 0:(function(f,h,p,g){const m=h.audioSend.find((S=>S.ssrc===f));if(!m)return;const y={};y[ad.DISABLED]=g._originMediaStreamTrack&&!g._originMediaStreamTrack.enabled||g._mediaStreamTrack&&!g._mediaStreamTrack.enabled?1:0;const v=100*g._source.getAccurateVolumeLevel(),E=m.inputLevel;if(E!=null){const S=Math.ceil(50*Math.log10(100*E+1));Jt(y,ad.LEVEL,S)}Jt(y,w$.PCM_LEVEL,v),Jt(y,ad.AEC_RETURN_LOSS,m.aecReturnLoss),Jt(y,ad.AEC_RETURN_LOSS_ENH,m.aecReturnLossEnhancement),y[ad.FREEZE]=0;const b=p&&p.audioSend.find((S=>S.ssrc===f));if(b){let S=Nl*g0;b.timestamp&&m.timestamp&&(S=m.timestamp-b.timestamp),b.bytes!=null&&m.bytes!=null&&Jt(y,ad.BITRATE,8*(m.bytes-b.bytes)/S),b.packets!=null&&m.packets!=null&&Jt(y,ad.PACKAGE_RATE,1e3*(m.packets-b.packets)/S)}return y})(d[0].ssrcId,t,n,u)}})),{high:s,low:a,audio:o}}getInboundStats(t,n,r){if(!this.requestRemoteMedia)return;const i=this.requestRemoteMedia()||[],o=[];return i.forEach((s=>{let[a,c]=s;const l={peer:a.uid};if(c.has(vt.VIDEO)&&a.videoTrack){const u=a._videoSSRC&&this.requestVideoIsReady&&this.requestVideoIsReady(a._videoSSRC)||!1,d=a.videoTrack?(function(f,h,p,g,m,y,v){var E;const b=h.videoRecv.find((L=>L.ssrc===f));if(!b)return;const S={},{receivedFrame:w,outputFrame:C,decodeFrameRate:_}=b,I=p&&p.videoRecv.find((L=>L.ssrc===f));if(S[Qi.FREEZE]=m&&vg.isRemoteVideoFreeze(g,b,I)?1:0,Jt(S,w0.FRAME_RATE_DECODE,_),Jt(S,Qi.QP_SUM,b.qpSumPerFrame),b.framesRateFirefox&&Jt(S,Qi.FRAME_RATE,b.framesRateFirefox),w&&Jt(S,Qi.FRAME_RATE,w.frameRate),I){const L=h.timestamp-p.timestamp||(v?Nl:g0*Nl);b.packetsLost!=null&&I.packetsLost!=null&&Jt(S,Qi.PACKAGE_LOST,b.packetsLost-I.packetsLost),I.bytes!=null&&b.bytes!=null&&Jt(S,Qi.BITRATE,8*(b.bytes-I.bytes)/L),I.packets!=null&&b.packets!=null&&Jt(S,Qi.PACKAGE_RATE,1e3*(b.packets-I.packets)/L)}if(v)return S;w?(Jt(S,Qi.HEIGHT,w.height),Jt(S,Qi.WIDTH,w.width)):g&&(Jt(S,Qi.HEIGHT,g._videoHeight||0),Jt(S,Qi.WIDTH,g._videoWidth||0)),C&&Jt(S,w0.FRAME_RATE_OUTPUT,C.frameRate);const O=(E=g._player)===null||E===void 0?void 0:E.rendFrameRate.toFixed(0);if(O&&Jt(S,w0.FRAME_RATE_RENDER,+O),Jt(S,Qi.JITTER_BUFFER,b.jitterBufferMs),Jt(S,Qi.CURRENT_DELAY,b.currentDelayMs),Jt(S,Qi.FIRS,b.firsCount),Jt(S,Qi.NACKS,b.nacksCount),Jt(S,Qi.PLIS,b.plisCount),g){S[Qi.DISABLED]=g._originMediaStreamTrack.enabled&&g._mediaStreamTrack.enabled?0:1;const L=g._player;if(L){const{freezeTimeCounterList:R,renderFreezeAccTime:F,videoElementStatus:W}=L;if(R&&R.length>0&&Jt(S,w0.FREEZE_TIME,R.splice(0,1)[0]),y&&Hl.visibility==="visible"&&W===oo.PLAYING&&fn().supportRequestVideoFrameCallback){const J=Math.min(6e3,F);L.renderFreezeAccTime=Math.max(0,F-J),Jt(S,w0.FREEZE_TIME_RENDER,J)}if(typeof b.totalFreezesDuration=="number"){const J=I&&I.totalFreezesDuration?b.totalFreezesDuration-I.totalFreezesDuration:b.totalFreezesDuration;Jt(S,w0.FREEZE_DURATION,1e3*J)}}}if(S[Qi.PLAYER_STATUS]=cE[g._player?g._player.videoElementStatus:"uninit"],I&&b.totalInterFrameDelay!==void 0&&b.totalSquaredInterFrameDelay!==void 0&&I.totalInterFrameDelay!==void 0&&I.totalSquaredInterFrameDelay!==void 0){const L=b.totalInterFrameDelay-I.totalInterFrameDelay,R=b.totalSquaredInterFrameDelay-I.totalSquaredInterFrameDelay,F=b.framesDecodeCount-I.framesDecodeCount,W=L/F*1e3,J=Math.round(1e3*Math.sqrt((R-Math.pow(L,2)/F)/F));!isNaN(J)&&W+J>Math.max(3*W,W+150)&&(S[Qi.I_FRAME_DELAY]=J)}return S})(a._videoSSRC,t,n,a.videoTrack,u===!0,this.needUploadRenderFreezeTime,r):void 0;d&&(l.video=d)}if(c.has(vt.AUDIO)&&a.audioTrack){const u=a.audioTrack?(function(d,f,h,p,g){const m=f.audioRecv.find((I=>I.ssrc===d));if(!m)return;const y={},v=h&&h.audioRecv.find((I=>I.ssrc===d)),{receivedFrames:E,droppedFrames:b}=m;var S,w;if(Jt(y,Sa.JITTER,m.jitterMs),E!=null&&b!=null&&(y[Sa.FREEZE]=(w=b,(S=E)===0||100*w/S>20?1:0)),v){const I=f.timestamp-h.timestamp||(g?Nl:Nl*g0);m.packets!=null&&v.packets!=null&&Jt(y,Sa.PACKAGE_RATE,1e3*(m.packets-v.packets)/I),v.bytes!=null&&m.bytes!=null&&Jt(y,Sa.BITRATE,8*(m.bytes-v.bytes)/I),m.packetsLost!=null&&v.packetsLost!=null&&Jt(y,Sa.PACKAGE_LOST,m.packetsLost-v.packetsLost)}if(g)return y;const C=100*p._source.getAccurateVolumeLevel(),_=m.outputLevel;if(_!=null){const I=Math.ceil(50*Math.log10(100*_+1));Jt(y,T$.LEVEL,I)}if(Jt(y,Sa.PCM_LEVEL,C),p&&(y[Sa.DISABLED]=p._originMediaStreamTrack.enabled&&p._mediaStreamTrack.enabled?0:1),Jt(y,Sa.JITTER_BUFFER,m.jitterBufferMs),Jt(y,Sa.CURRENT_DELAY,m.jitterBufferMs),y[Sa.PLAYER_STATUS]=cE[Io.getPlayerState(p.getTrackId())],v){const I=m.concealedSamples-v.concealedSamples;I>0&&Jt(y,Sa.CONCEALED_SAMPLES,I)}return y})(a._audioSSRC,t,n,a.audioTrack,r):void 0;u&&(l.audio=u)}(l.video||l.audio)&&o.push(l)})),this.needUploadRenderFreezeTime=!this.needUploadRenderFreezeTime,o}startUploadTransportStats(){this.uploadTransportStarted=!0,this.uploadWRTCStatsTimer||this.startUploadWRTCStats()}stopUploadTransportStats(){this.uploadTransportStarted=!1}startUploadOutboundStats(){this.uploadOutboundStarted||(this.uploadOutboundStarted=!0,this.uploadWRTCStatsTimer||this.startUploadWRTCStats(),this.uploadOutboundDenoiserStatsTimer&&window.clearInterval(this.uploadOutboundDenoiserStatsTimer),this.uploadOutboundDenoiserStatsTimer=window.setInterval((()=>{if(!this.requestAllTracks||!this.requestUpload)return;const t=(this.requestAllTracks()||[]).find((n=>n instanceof _4));if(t&&t._external.getDenoiserStats){const n=t._external.getDenoiserStats();n&&this.requestUpload(lg.DENOISER_STATS,n)}}),2e3),this.uploadExtStatsTimer&&window.clearInterval(this.uploadExtStatsTimer),this.uploadExtStatsTimer=window.setInterval((()=>{!this.requestAllTracks||!this.requestUpload||this.requestAllTracks().forEach((t=>{t.getProcessorStats().forEach((n=>{this.requestUpload&&this.requestUpload(n.type,n.stats)}))}))}),2e3))}stopUploadOutboundStats(){this.uploadOutboundStarted&&(this.uploadOutboundStarted=!1,this.lastSendStats&&(this.lastSendStats.videoSend=[],this.lastSendStats.audioSend=[],this.lastSendStats=void 0),this.uploadOutboundDenoiserStatsTimer&&window.clearInterval(this.uploadOutboundDenoiserStatsTimer),this.uploadOutboundDenoiserStatsTimer=void 0)}startUploadInboundStats(){this.uploadInboundStarted||(this.uploadInboundStarted=!0,this.uploadWRTCStatsTimer||this.startUploadWRTCStats(),this.uploadInboundExtStatsTimer&&window.clearInterval(this.uploadInboundExtStatsTimer),this.uploadInboundExtStatsTimer=window.setInterval((()=>{!this.requestUpload||!this.requestRemoteMedia||(this.requestRemoteMedia()||[]).forEach((t=>{let[n,r]=t;r.has(vt.VIDEO)&&n.videoTrack&&n.videoTrack.getProcessorStats().forEach((i=>{this.requestUpload&&this.requestUpload(i.type,i.stats)})),r.has(vt.AUDIO)&&n.audioTrack&&n.audioTrack.getProcessorStats().forEach((i=>{this.requestUpload&&this.requestUpload(i.type,i.stats)}))}))}),2e3))}stopUploadInboundStats(){this.uploadInboundStarted&&(this.uploadInboundStarted=!1,this.lastRecvStats&&(this.lastRecvStats.videoRecv=[],this.lastRecvStats.audioRecv=[],this.lastRecvStats=void 0))}startUploadExtensionUsageStats(){if(this.uploadExtensionUsageStarted)return;this.uploadExtensionUsageStarted=!0,this.uploadExtUsageStatsTimer&&window.clearInterval(this.uploadExtUsageStatsTimer);const t=new Map;this.uploadExtUsageStatsTimer=window.setInterval((async()=>{const n=Date.now(),r={connectionInterval:he("EXTENSION_USAGE_UPLOAD_INTERVAL")/1e3,details:[],lts:n};let i=[];const o=this.requestAllTracks&&this.requestAllTracks()||[];for(const l of o)!l.muted&&l.enabled&&(i=i.concat(await l.getProcessorUsage()));const s=this.requestRemoteMedia&&this.requestRemoteMedia()||[];for(const[l,u]of s)u.has(vt.VIDEO)&&l.videoTrack&&(i=i.concat(await l.videoTrack.getProcessorUsage())),u.has(vt.AUDIO)&&l.audioTrack&&(i=i.concat(await l.audioTrack.getProcessorUsage()));if(i.length===0)return;r.details=(function(l,u){const d={};for(const{id:g,value:m,level:y,direction:v}of l){var f;const E=(f=u.get(g))!==null&&f!==void 0?f:0,b=m===2?E+he("EXTENSION_USAGE_UPLOAD_INTERVAL")/1e3:E;var h,p;u.set(g,b),d[g]?(m===2&&(d[g].value=m),y>d[g].level&&(d[g].level=y),v==="remote"&&(d[g].remoteUidCount+=1),d[g].totalTs=(h=u.get(g))!==null&&h!==void 0?h:0):d[g]={value:m,level:y,remoteUidCount:v==="local"?0:1,totalTs:(p=u.get(g))!==null&&p!==void 0?p:0}}return Object.keys(d).map((g=>{const{level:m,value:y,totalTs:v}=d[g];return{id:g,level:m,value:y,totalTs:v}}))})(i,t);const a=Date.now(),c=a>n?a:n+1;this.requestUpload&&this.requestUpload(lg.EXTENSION_USAGE_STATS,{usageStats:r,sendTs:c})}),he("EXTENSION_USAGE_UPLOAD_INTERVAL"))}stopUploadExtensionUsageStats(){this.uploadExtensionUsageStarted&&(this.uploadExtensionUsageStarted=!1,this.uploadExtUsageStatsTimer&&window.clearInterval(this.uploadExtUsageStatsTimer),this.uploadExtUsageStatsTimer=void 0)}}class md{get hasVideo(){return this._video_enabled_&&!this._video_muted_&&this._video_added_}get hasAudio(){return this._audio_enabled_&&!this._audio_muted_&&this._audio_added_}get audioTrack(){if(this.hasAudio||this._audio_pre_subscribed)return this._audioTrack}get videoTrack(){if(this.hasVideo||this._video_pre_subscribed)return this._videoTrack}get dataChannels(){return this._dataChannels}constructor(t,n){H(this,"uid",void 0),H(this,"_uintid",void 0),H(this,"_trust_in_room_",!0),H(this,"_trust_audio_enabled_state_",!0),H(this,"_trust_video_enabled_state_",!0),H(this,"_trust_audio_mute_state_",!0),H(this,"_trust_video_mute_state_",!0),H(this,"_audio_muted_",!1),H(this,"_video_muted_",!1),H(this,"_audio_enabled_",!0),H(this,"_video_enabled_",!0),H(this,"_audio_added_",!1),H(this,"_video_added_",!1),H(this,"_is_pre_created",!1),H(this,"_video_pre_subscribed",!1),H(this,"_audio_pre_subscribed",!1),H(this,"_trust_video_stream_added_state_",!0),H(this,"_trust_audio_stream_added_state_",!0),H(this,"_audioTrack",void 0),H(this,"_videoTrack",void 0),H(this,"_dataChannels",[]),H(this,"_audioSSRC",void 0),H(this,"_videoSSRC",void 0),H(this,"_audioOrtc",void 0),H(this,"_videoOrtc",void 0),H(this,"_cname",void 0),H(this,"_rtxSsrcId",void 0),H(this,"_videoMid",void 0),H(this,"_audioMid",void 0),this.uid=t,this._uintid=n}}let qa=(function(e){return e.SEND_ONLY="SEND_ONLY",e.RECEIVE_ONLY="RECEIVE_ONLY",e})({});function sFe(e,t){var n;let r;switch(t){case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoTrack:r=lt(n=e._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:r=Sn.Low}return r}function dC(e){const t=fn();if(e.some((n=>n._bypassWebAudio)))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio");if(!t.webAudioMediaStreamDest)throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks because your browser does not support audio mixing")}function EE(e,t){dC(e);const n=new Jr;return e.forEach((r=>n.addAudioTrack(r))),n}var hU,pU,mU,gU,vU,yU,EU,bU,SU,AU,CU,ir;function wU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function S5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?wU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let rs=(hU=Ja(qa.SEND_ONLY),pU=Ja(qa.SEND_ONLY),mU=Ja(),gU=Ja(qa.RECEIVE_ONLY),vU=Ja(qa.RECEIVE_ONLY),yU=Ja(qa.RECEIVE_ONLY),EU=Ja(qa.RECEIVE_ONLY),bU=Ja(qa.RECEIVE_ONLY),SU=Ja(qa.RECEIVE_ONLY),AU=Ja(),CU=Ja(qa.RECEIVE_ONLY),ir=class extends fr{get state(){return this._state}set state(e){const t=this._state;this._state=e,this.emit(Ot.StateChange,t,this._state)}constructor(e,t){super(),H(this,"isPlanB",!1),H(this,"store",void 0),H(this,"statsUploader",void 0),H(this,"sendConnection",void 0),H(this,"recvConnection",void 0),H(this,"localTrackMap",new Map),H(this,"remoteUserMap",new Map),H(this,"localDataChannels",[]),H(this,"pendingLocalTracks",[]),H(this,"pendingRemoteTracks",[]),H(this,"statsCollector",void 0),H(this,"dtlsFailedCount",0),H(this,"sendMutex",new Hi("P2PChannel2-send-mutex")),H(this,"recvMutex",new Hi("P2PChannel2-recv-mutex")),H(this,"_state",bn.Disconnected),H(this,"_restartStates",["disconnected","failed"]),H(this,"reconnectInterval",void 0),H(this,"uploadUnplinkStarted",!1),H(this,"uploadDownlinkStarted",!1),H(this,"uplinkStateUploadInterval",void 0),H(this,"downlinkStatsUploadInterval",void 0),H(this,"handleMuteLocalTrack",(async(n,r,i)=>{const o=await this.sendMutex.lock("Locking from P2PChannel2.handleMuteLocalTrack");try{if(!this.sendConnection||this.state!==bn.Connected)return void i(new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel2.handleMuteLocalTrack before sendConnection established."));const c=this.filterTobeMutedTracks(n);if(c.length===0)return void r();const l=c.find((h=>h[0]==="videoLowTrack"));l&&l[1].track._originMediaStreamTrack.stop(),await this.sendConnection.muteLocal(c.map((h=>{let[,{id:p}]=h;return p})));let u=!1;var s,a;n.trackMediaType==="video"?u=!((s=this.localTrackMap.get(ze.LocalAudioTrack))===null||s===void 0||!s.track._muted):u=((a=this.localTrackMap.get(ze.LocalVideoTrack))===null||a===void 0?void 0:a.id)===void 0;const d=this.createMuteMessage(c);await Fn(this,Ot.RequestMuteLocal,d);const f=n.trackMediaType==="video"?Sd.MUTE_LOCAL_VIDEO:Sd.MUTE_LOCAL_AUDIO;await Fn(this,Ot.RequestP2PMuteLocal,{action:f,message:d,isMuteAll:u}),r()}catch(c){i(c)}finally{o()}})),H(this,"handleUnmuteLocalTrack",(async(n,r,i)=>{const o=await this.sendMutex.lock("Locking from P2PChannel2.handleUnmuteLocalTrack");try{if(!this.sendConnection||this.state!==bn.Connected)return void i(new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel2.handleUnmuteLocalTrack before sendConnection established."));const s=this.filterTobeUnmutedTracks(n);if(s.length===0)return void r();await this.sendConnection.unmuteLocal(s.map((l=>{let[,{id:u}]=l;return u})));const a=this.createUnmuteMessage(s),c=n.trackMediaType==="video"?Sd.UNMUTE_LOCAL_VIDEO:Sd.UNMUTE_LOCAL_AUDIO;await Fn(this,Ot.RequestP2PMuteLocal,{action:c,message:a}),r()}catch(s){i(s)}finally{o()}})),H(this,"handleUpdateVideoEncoder",(async(n,r,i)=>{const o=await this.sendMutex.lock("Locking from P2PChannel2.handleSetVideoEncoder");try{const s=this.localTrackMap.get(ze.LocalVideoTrack);if(!this.sendConnection||!s||s.track!==n||this.state!==bn.Connected)return void r();const{id:a,track:c}=s;a&&(await this.sendConnection.updateSendParameters(a,c),await this.sendConnection.updateEncoderConfig(a,c),this.emit(Ot.UpdateVideoEncoder,c)),r()}catch(s){i(s)}finally{o()}})),H(this,"handleUpdateVideoSendParameters",(async(n,r,i)=>{const o=await this.sendMutex.lock("Locking from P2PChannel2.handleUpdateVideoSendParameters");try{const s=this.localTrackMap.get(ze.LocalVideoTrack);if(!this.sendConnection||!s||s.track!==n||this.state!==bn.Connected)return void r();const{id:a,track:c}=s;a&&await this.sendConnection.updateSendParameters(a,c),r()}catch(s){i(s)}finally{o()}})),H(this,"handleReplaceTrack",(async(n,r,i,o)=>{let s;D.debug("[".concat(this.store.clientId,"] P2PChannel2 handleReplaceTrack for [track-id-").concat(n.getTrackId(),"]")),typeof o=="boolean"&&o||(s=await this.sendMutex.lock("From P2PChannel2.handleReplaceTrack"));try{var a;const l=Array.from(this.localTrackMap.entries()).find((u=>{let[,{track:d}]=u;return n===d}));if(!this.sendConnection||!l||l[1].id===void 0||this.state!==bn.Connected)return void r();if(await((a=this.sendConnection)===null||a===void 0?void 0:a.replaceTrack(n,l[1].id)),l[0]===ze.LocalVideoTrack&&fn().supportDualStreamEncoding){const u=this.localTrackMap.get(ze.LocalVideoLowTrack);if(u){const d=n._mediaStreamTrack.clone();u.track._originMediaStreamTrack.stop(),u.track._mediaStreamTrack=d,u.track._originMediaStreamTrack=d,await new ot(((f,h)=>{this.handleReplaceTrack(u.track,f,h,!0)}))}}r()}catch(l){i(l)}finally{var c;(c=s)===null||c===void 0||c()}})),H(this,"handleGetLocalVideoStats",(n=>{n(this.statsCollector.getLocalVideoTrackStats())})),H(this,"handleGetLocalAudioStats",(n=>{n(this.statsCollector.getLocalAudioTrackStats())})),H(this,"handleGetRemoteVideoStats",(n=>this.statsCollector.getRemoteVideoTrackStats(n.uid)[n.uid])),H(this,"handleGetRemoteAudioStats",(n=>this.statsCollector.getRemoteAudioTrackStats(n.uid)[n.uid])),this.store=e,this.statsCollector=t,this.statsCollector.addP2PChannel(this),this.statsUploader=new I$(e),this.bindStatsUploaderEvents(),this.reconnectInterval=window.setInterval((()=>{[this.sendConnection,this.recvConnection].forEach((n=>{n&&(n.iceConnectionState!=="disconnected"&&n.iceConnectionState!=="failed"||this.handleDisconnect(n.direction))}))}),he("ICE_RESTART_INTERVAL"))}async startP2PConnection(e,t){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support startP2PConnection.")}async connect(e){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support connect.")}async startP2P(e,t){let n;try{if(t){this.recvConnection&&(D.warning("[".concat(this.store.clientId,"] P2PChannel.startP2P reset recvConnection.")),this.recvConnection.close(),this.unbindConnectionEvents(this.recvConnection)),n=await this.recvMutex.lock("From P2PChannel.startP2P"),this.recvConnection=new uU(e,this.store,po.RECEIVE_ONLY),this.bindConnectionEvents(this.recvConnection);const r=await this.recvConnection.establish(t);return{iceParameters:r.iceParameters,dtlsParameters:r.dtlsParameters,sdp:r.sdp}}{this.state=bn.New,this.sendConnection&&(D.warning("[".concat(this.store.clientId,"] P2PChannel.startP2P reset sendConnection.")),this.sendConnection.close(),this.unbindConnectionEvents(this.sendConnection)),n=await this.sendMutex.lock("From P2PChannel.startP2P"),this.sendConnection=new uU(e,this.store),this.store.peerConnectionStart(),this.bindConnectionEvents(this.sendConnection);const r=await this.sendConnection.establish();return{iceParameters:r.iceParameters,dtlsParameters:r.dtlsParameters,sdp:r.sdp}}}finally{n&&n()}}async p2pConnect(e){if(!this.sendConnection)throw new Be(Q.UNEXPECTED_ERROR,"Cannot P2PChannel2.p2pConnect before P2PChannel2.startP2PConnection .");this.store.peerConnectionStart(),await this.sendConnection.connect(e),this.statsUploader.startUploadTransportStats(),this.statsUploader.startUploadExtensionUsageStats(),this.state=bn.Connected}async addRemoteCandidate(e,t){if(t===po.RECEIVE_ONLY){if(!this.sendConnection)throw new Be(Q.UNEXPECTED_ERROR,"Cannot P2PChannel2.connect before P2PChannel2.addRemoteCandidate .");await this.sendConnection.addRemoteCandidate(e)}else{if(!this.recvConnection)throw new Be(Q.UNEXPECTED_ERROR,"Cannot P2PChannel2.connect before P2PChannel2.addRemoteCandidate .");await this.recvConnection.addRemoteCandidate(e)}}publish(e,t,n){var r=this;return cc((function*(){const i=yield mn(r.sendMutex.lock("From P2PChannel.publish"));try{if(!r.sendConnection||r.state!==bn.Connected){r.throwIfTrackTypeNotMatch(e);const l=e.filter((u=>r.pendingLocalTracks.indexOf(u)===-1));return void(r.pendingLocalTracks=r.pendingLocalTracks.concat(l))}r.store.pubId=r.store.pubId+1,ji.markPublishStart(r.store.clientId,r.store.pubId);const o=r.filterTobePublishedTracks(e,t,n);if(o.length===0)return void(yield mn(r.tryToUnmuteAudio(e)));o.forEach((l=>{let{track:u,type:d}=l;const f=Date.now();r.store.publish(u.getTrackId(),d===ze.LocalAudioTrack?"audio":"video",f)})),r.bindLocalTrackEvents(o);const s=yield mn(r.sendConnection.send(o.map((l=>{let{track:u}=l;return u})),r.store.codec,r.store.audioCodec)),a=(yield mn(s.next())).value,c=r.createGatewayPublishMessage(o,a);try{yield c}catch(l){throw s.throw(l),(l==null?void 0:l.code)===Q.WS_ABORT&&o.forEach((u=>{let{track:d}=u;r.pendingLocalTracks.indexOf(d)===-1&&r.pendingLocalTracks.push(d)})),r.unbindLocalTrackEvents(o),l}yield mn(s.next()),o.forEach((l=>{let{type:u}=l;r.statsCollector.addLocalStats(u)})),r.statsUploader.startUploadOutboundStats(),r.assignLocalTracks(o,a),o.forEach((l=>{let{track:u,type:d}=l;const f=Date.now();r.store.publish(u.getTrackId(),d===ze.LocalAudioTrack?"audio":"video",void 0,f)})),r.startUploadUplinkState()}finally{i()}}))()}async unpublish(e){if(!this.sendConnection||this.state!==bn.Connected)return void(e.length===0?this.pendingLocalTracks.length=0:this.pendingLocalTracks=this.pendingLocalTracks.filter((i=>!lt(e).call(e,i))));const t=this.filterTobeUnpublishedTracks(e);if(t.length===0)return;const n=t.find((i=>i[0]==="videoLowTrack"));n&&n[1].track.close();const r=this.createGatewayUnpublishMessage(t);if(await this.sendConnection.stopSending(t.map((i=>{let[,{id:o}]=i;return o}))),this.withdrawLocalTracks(t),this.unbindLocalTrackEvents(t.map((i=>{let[o,{track:s}]=i;return{type:o,track:s}}))),t.forEach((i=>{let[o]=i;this.statsCollector.removeLocalStats(o)})),this.localTrackMap.size===0&&(this.statsUploader.stopUploadOutboundStats(),this.stopUploadUplinkState()),this.sendConnection&&this.state===bn.Connected)return n&&n[1].track.close(),r;e.forEach((i=>{const o=this.pendingLocalTracks.indexOf(i);o!==-1&&this.pendingLocalTracks.splice(o,1)}))}startUploadUplinkState(){if(this.uploadUnplinkStarted)return;this.uploadUnplinkStarted=!0,this.uplinkStateUploadInterval&&window.clearInterval(this.uplinkStateUploadInterval);const e=()=>{const t=[],n=[];Array.from(this.localTrackMap.entries()).forEach((r=>{let[i,{track:o,ssrcs:s}]=r;const a={stream_type:sFe(o,i),ssrcs:s};o._muted||!o._enabled?t.push(a):n.push(a)})),t.length>0&&t.forEach((r=>{Fn(this,Ot.RequestMuteLocal,[r])})),n.length>0&&n.forEach((r=>{Fn(this,Ot.RequestUnmuteLocal,[r])}))};e(),this.uplinkStateUploadInterval=window.setInterval((()=>{e()}),3e3)}stopUploadUplinkState(){this.uploadUnplinkStarted&&(this.uploadUnplinkStarted=!1,this.uplinkStateUploadInterval&&window.clearInterval(this.uplinkStateUploadInterval))}publishLowStream(e){return cc((function*(){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support publishLowStream.")}))()}async republish(){this.pendingLocalTracks.length>0&&(D.debug("[".concat(this.store.clientId,"] Emit P2PChannelEvents.RequestRePublish to republish tracks.")),await ki(this,Ot.RequestRePublish,this.pendingLocalTracks),this.emit(Ot.MediaReconnectEnd,this.store.uid),this.pendingLocalTracks=[])}async unpublishLowStream(){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support unpublishLowStream.")}async subscribe(e,t,n,r){var i;if(!this.recvConnection)throw new Be(Q.INVALID_OPERATION,"Cannot subscribe remote user when recvConnection disconnected.");if((i=this.remoteUserMap.get(e))!==null&&i!==void 0&&i.has(t))return;const{track:o,mid:s,transceiver:a}=await this.recvConnection.receive(t,[{ssrcId:n}],String(e.uid),r);t===vt.AUDIO?(e._audioTrack?e._audioTrack._updateOriginMediaStreamTrack(o):(e._audioTrack=new Jh(o,e.uid,e._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote audio track: ").concat(e._audioTrack.getTrackId()))),a&&e._audioTrack._updateRtpTransceiver(a),this.bindRemoteTrackEvents(e,e._audioTrack)):(e._videoSSRC=n,e._videoTrack?e._videoTrack._updateOriginMediaStreamTrack(o):(e._videoTrack=new Gh(o,e.uid,e._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote video track: ").concat(e._videoTrack.getTrackId()))),a&&e._videoTrack._updateRtpTransceiver(a),this.bindRemoteTrackEvents(e,e._videoTrack));const c=this.remoteUserMap.get(e);c?c.set(t,s):this.remoteUserMap.set(e,new Map([[t,s]])),this.statsCollector.addRemoteStats(e.uid),this.statsUploader.startUploadInboundStats(),this.startUploadDownlinkState();const l=this.pendingRemoteTracks.findIndex((u=>{let{user:d,kind:f}=u;return d.uid===e.uid&&t===f}));l!==-1&&(this.pendingRemoteTracks.splice(l,1),this.emit(Ot.MediaReconnectEnd,e.uid))}async mockSubscribe(e,t,n,r){if(!this.recvConnection)throw new Be(Q.INVALID_OPERATION,"Cannot subscribe remote user when recvConnection disconnected.");await this.recvConnection.mockReceive(t,[{ssrcId:n}],String(e.uid),r)}async unsubscribe(e,t,n){const r=this.pendingRemoteTracks.filter((o=>{let{user:s,kind:a}=o;return t!==void 0?s.uid===e.uid&&t===a:s.uid===e.uid}));if(r.forEach((o=>{const s=this.pendingRemoteTracks.indexOf(o);this.pendingRemoteTracks.splice(s,1)})),this.recvConnection||n||r.forEach((o=>{let{kind:s}=o;var a;if(s===vt.AUDIO)(a=e._audioTrack)===null||a===void 0||a._destroy(),e._audioTrack=void 0;else if(s===vt.VIDEO){var c;(c=e._videoTrack)===null||c===void 0||c._destroy(),e._videoTrack=void 0}})),!this.recvConnection)return;const i=this.filterTobeUnSubscribedTracks(e,t);i.length!==0&&(await this.recvConnection.stopReceiving(i.map((o=>{let[,{id:s}]=o;return s}))),this.withdrawRemoteTracks(i),this.remoteUserMap.size===0&&(this.statsUploader.stopUploadInboundStats(),this.stopUploadDownlinkState()),i.forEach((o=>{let[s,{kind:a}]=o;var c,l;if(a===vt.VIDEO&&s._videoSSRC&&((c=this.recvConnection)===null||c===void 0||c.setStatsRemoteVideoIsReady(s._videoSSRC,!1)),a===vt.VIDEO)this.unbindRemoteTrackEvents(s._videoTrack),n||((l=s._videoTrack)===null||l===void 0||l._destroy(),s._videoTrack=void 0);else if(a===vt.AUDIO){var u;this.unbindRemoteTrackEvents(s._audioTrack),!n&&((u=s._audioTrack)===null||u===void 0||u._destroy(),s._audioTrack=void 0)}})),i.forEach((o=>{let[,{kind:s}]=o;Fn(this,Ot.RequestP2PMuteRemote,s)})))}startUploadDownlinkState(){if(this.uploadDownlinkStarted)return;this.uploadDownlinkStarted=!0,this.downlinkStatsUploadInterval&&window.clearInterval(this.downlinkStatsUploadInterval);const e=()=>Array.from(this.remoteUserMap.entries()).forEach((t=>{let[,n]=t;[vt.VIDEO,vt.AUDIO].forEach((r=>{n.has(r)?Fn(this,Ot.RequestP2PUnmuteRemote,r):Fn(this,Ot.RequestP2PMuteRemote,r)}))}));e(),this.downlinkStatsUploadInterval=window.setInterval((()=>{e()}),3e3)}stopUploadDownlinkState(){this.uploadDownlinkStarted&&(this.uploadDownlinkStarted=!1,this.downlinkStatsUploadInterval&&window.clearInterval(this.downlinkStatsUploadInterval))}getAllDataChannels(){return this.localDataChannels}async massSubscribe(e){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support massSubscribe.")}async massSubscribeNoLock(e){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support massSubscribeNoLock.")}async massUnsubscribe(e){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support massUnsubscribe.")}async massUnsubscribeNoLock(e){throw new Be(Q.NOT_SUPPORTED,"p2p mode does not support massUnsubscribeNoLock.")}async muteRemote(e,t){if(!this.recvConnection)return;const n=this.remoteUserMap.get(e);if(!n)return void D.warning("[".concat(this.store.clientId,"] P2PChannel2.muteRemote has no remote user ").concat(e.uid,"."));if(!n.get(t))return void D.warning("[".concat(this.store.clientId,"] P2PChannel2.muteRemote has no remote user ").concat(e.uid," media type ").concat(t,"."));const r=t===vt.VIDEO?e._videoSSRC:e._audioSSRC;r!==void 0&&this.recvConnection.setStatsRemoteVideoIsReady(r,!1)}async unmuteRemote(e,t){return this.unmuteRemoteNoLock(e,t)}async unmuteRemoteNoLock(e,t){if(!this.recvConnection)return;const n=this.remoteUserMap.get(e);if(!n)return void D.warning("[".concat(this.store.clientId,"] P2PChannel2.unmuteRemote has no remote user ").concat(e.uid,"."));n.get(t)||D.warning("[".concat(this.store.clientId,"] P2PChannel2.unmuteRemote has no remote user ").concat(e.uid," media type ").concat(t,"."))}getAllTracks(e){const t=this.localTrackMap.get(ze.LocalAudioTrack);if((t==null?void 0:t.track)instanceof Jr){const n=t.track;return Array.from(this.localTrackMap.entries()).filter((r=>{let[i]=r;return i!==ze.LocalAudioTrack})).filter((r=>{let[i]=r;return!(e&&i===ze.LocalVideoLowTrack)})).map((r=>{let[,{track:i}]=r;return i})).concat(n.trackList)}return Array.from(this.localTrackMap.entries()).filter((n=>{let[r]=n;return!(e&&r===ze.LocalVideoLowTrack)})).map((n=>{let[,{track:r}]=n;return r}))}reportPublishEvent(e,t,n,r,i){if(e){const s=this.localTrackMap.get(ze.LocalAudioTrack),a=r?this.localTrackMap.get(ze.LocalVideoLowTrack):this.localTrackMap.get(ze.LocalVideoTrack);mt.publish(this.store.sessionId,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:e,ec:t,audioName:s==null?void 0:s.track.getTrackLabel(),videoName:a==null?void 0:a.track.getTrackLabel(),screenshare:(a==null?void 0:a.track._hints.indexOf(nr.SCREEN_TRACK))!==-1,audio:!!s,video:!!a,p2pid:this.store.p2pId,publishRequestid:this.store.pubId,extend:i})}else{var o;n||(n=[]);const s=n.find((c=>c instanceof mr)),a=r?(o=this.localTrackMap.get(ze.LocalVideoTrack))===null||o===void 0?void 0:o.track:n.find((c=>c instanceof Kn));mt.publish(this.store.sessionId,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:e,ec:t,audioName:s==null?void 0:s.getTrackLabel(),videoName:a==null?void 0:a.getTrackLabel(),screenshare:(a==null?void 0:a._hints.indexOf(nr.SCREEN_TRACK))!==-1,audio:!!s,video:!!a,p2pid:this.store.p2pId,publishRequestid:this.store.pubId,extend:i})}}reportSubscribeEvent(e,t,n,r){const i=r===vt.VIDEO?n._videoSSRC:n._audioSSRC;i&&mt.subscribe(this.store.sessionId,{succ:e,ec:t,video:r===vt.VIDEO,audio:r===vt.AUDIO,peerid:n.uid,subscribeRequestid:r===vt.VIDEO?n._videoSSRC:n._audioSSRC,p2pid:this.store.p2pId,eventElapse:ji.measureFromSubscribeStart(this.store.clientId,i)})}reset(){D.debug("[".concat(this.store.clientId,"] P2PChannel2.reset")),this.sendMutex=new Hi("P2PChannel2-send-mutex"),this.sendMutex=new Hi("P2PChannel2-recv-mutex"),this.sendConnection&&(this.sendConnection.close(),this.unbindConnectionEvents(this.sendConnection),this.sendConnection=void 0),this.recvConnection&&(this.recvConnection.close(),this.unbindConnectionEvents(this.recvConnection),this.recvConnection=void 0),this.statsUploader.stopUploadOutboundStats(),this.statsUploader.stopUploadInboundStats(),this.statsUploader.stopUploadTransportStats(),this.statsUploader.stopUploadExtensionUsageStats(),this.stopUploadUplinkState(),this.stopUploadDownlinkState(),this.unbindLocalTrackEvents(),this.unbindAllRemoteTrackEvents(),this.unbindRtpTransceiver();const e=this.localTrackMap.get(ze.LocalAudioTrack);if((e==null?void 0:e.track)instanceof Jr){if(e.track.trackList.length>0){const t=e.track;e.track.trackList.forEach((n=>{t.removeAudioTrack(n)}))}e.track.close()}this.localTrackMap.clear(),this.remoteUserMap.clear(),this.statsCollector.removeRemoteStats(),this.statsCollector.removeLocalStats(),this.dtlsFailedCount=0,this.pendingLocalTracks=[],this.pendingRemoteTracks=[],this.reconnectInterval&&(window.clearInterval(this.reconnectInterval),this.reconnectInterval=void 0),this.state=bn.Disconnected}getStats(e){var t,n;return e?(n=this.recvConnection)===null||n===void 0?void 0:n.getStats():(t=this.sendConnection)===null||t===void 0?void 0:t.getStats()}getRemoteVideoIsReady(e){var t;return((t=this.recvConnection)===null||t===void 0?void 0:t.getRemoteVideoIsReady(e))||!1}getLocalAudioVolume(){const e=this.localTrackMap.get(ze.LocalAudioTrack);if(e)return e.track.getVolumeLevel()}getLocalVideoSize(){const e=this.localTrackMap.get(ze.LocalVideoTrack);if(e)return{width:e.track.videoWidth||0,height:e.track.videoHeight||0}}getEncoderConfig(e){const t=this.localTrackMap.get(e);return t&&t.track instanceof Kn||t&&t.track instanceof mr?t.track._encoderConfig:void 0}getLocalMedia(e){return this.localTrackMap.get(e)}hasLocalMedia(){return this.localTrackMap.size>0}hasRemoteMedia(e,t){if(!e)return this.remoteUserMap.size>0;const n=this.remoteUserMap.get(e);return!!n&&(!t||n.has(t))}async hasRemoteMediaWithLock(e,t){if(!e)return this.remoteUserMap.size>0;const n=this.remoteUserMap.get(e);return!!n&&(!t||n.has(t))}getRemoteMedia(e){var t;const n=Array.from(Ts(t=this.remoteUserMap).call(t)).find((r=>r.uid===e));return n?{audioTrack:n.audioTrack,audioSSRC:n._audioSSRC,videoTrack:n.videoTrack,videoSSRC:n._videoSSRC}:{}}getAudioLevels(){let e=Array.from(this.remoteUserMap.entries()).map((n=>{let[r]=n;return{uid:r.uid,level:r.audioTrack?100*r.audioTrack._source.getAccurateVolumeLevel():0}}));const t=this.localTrackMap.get(ze.LocalAudioTrack);return t&&e.push({level:100*t.track._source.getAccurateVolumeLevel(),uid:this.store.uid}),e=n2(e).call(e,((n,r)=>n.level-r.level)),e}async disconnectForReconnect(){this.sendConnection&&this.recvConnection&&(D.debug("[".concat(this.store.clientId,"] P2PChannel2.disconnectForReconnect closing P2PConnection")),this.state=bn.Reconnecting,he("KEEP_LAST_FRAME")&&this.remoteUserMap.size!==0&&Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t]=e;var n;t._videoTrack&&t._videoTrack._player&&((n=t._videoTrack._player.getVideoElement())===null||n===void 0||n.pause(),t._videoTrack._player.isKeepLastFrame=!0,t._videoTrack._originMediaStreamTrack.stop())})),this.sendConnection.close(),this.unbindConnectionEvents(this.sendConnection),this.sendConnection=void 0,this.recvConnection.close(),this.unbindConnectionEvents(this.recvConnection),this.recvConnection=void 0,this.localTrackMap.size!==0&&(Array.from(this.localTrackMap.entries()).forEach((e=>{var t;let[n,{track:r}]=e;switch(n){case ze.LocalVideoTrack:lt(t=r._hints).call(t,nr.LOW_STREAM)?r.close():this.pendingLocalTracks.push(r);break;case ze.LocalAudioTrack:r instanceof Jr?this.pendingLocalTracks=this.pendingLocalTracks.concat(r.trackList):this.pendingLocalTracks.push(r);case ze.LocalVideoLowTrack:}})),this.emit(Ot.MediaReconnectStart,this.store.uid)),this.unbindLocalTrackEvents(),this.localTrackMap.clear(),this.remoteUserMap.size!==0&&Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t,n]=e;Array.from(Ts(n).call(n)).forEach((r=>{this.setPendingRemoteMedia(t,r)})),this.emit(Ot.MediaReconnectStart,t.uid)})),this.unbindAllRemoteTrackEvents(),this.remoteUserMap.clear(),this.stopUploadUplinkState(),this.stopUploadDownlinkState(),this.statsUploader.stopUploadOutboundStats(),this.statsUploader.stopUploadInboundStats(),this.statsUploader.stopUploadTransportStats(),D.debug("[".concat(this.store.clientId,"] P2PChannel2 disconnected, waiting to reconnect.")))}hasPendingRemoteMedia(e,t){for(const n of this.pendingRemoteTracks){const{user:r,kind:i}=n;if((e instanceof md?e.uid:e)===r.uid&&t===i)return!0}return!1}setPendingRemoteMedia(e,t){this.hasPendingRemoteMedia(e,t)||this.pendingRemoteTracks.push({user:e,kind:t})}async restartICE(e,t){let n,r;if(e===po.SEND_ONLY){if(!this.sendConnection)throw new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel2.handleMuteLocalTrack before sendConnection established.");n=await this.sendMutex.lock("From P2PChannel.restartICE"),r=this.sendConnection}else{if(!this.recvConnection)throw new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel2.handleMuteLocalTrack before recvConnection established.");n=await this.recvMutex.lock("From P2PChannel.restartICE"),r=this.recvConnection}try{if(t){const i=await r.restartICE(t);return r.isInRestartIce=!1,i}{const i=await r.restartICE();if(i){const o=await ki(this,Ot.RequestP2PRestartICE,{direction:po.RECEIVE_ONLY,iceParameter:i});await r.restartICE(o),r.isInRestartIce=!1}}}finally{n()}}getUplinkNetworkQuality(){if(!this.sendConnection)return 0;const e=this.sendConnection.getStats(),t=this.localTrackMap.get(ze.LocalVideoTrack),n=this.localTrackMap.get(ze.LocalAudioTrack),r=e.videoSend.find((h=>{var p;return h.ssrc===(t==null||(p=t.ssrcs)===null||p===void 0?void 0:p[0].ssrcId)})),i=e.audioSend.find((h=>{var p;return h.ssrc===(n==null||(p=n.ssrcs)===null||p===void 0?void 0:p[0].ssrcId)}));if(!r||!i)return 1;const o=ia(this,Ot.NeedSignalRTT),s=r?r.rttMs:void 0,a=i?i.rttMs:void 0,c=s&&a?(s+a)/2:s||a,l=(c&&o?(c+o)/2:c||o)||0,u=100*e.sendPacketLossRate*.7/50+.3*l/1500,d=u<.17?1:u<.36?2:u<.59?3:u<.1?4:5,f=t==null?void 0:t.track;if(f&&f._encoderConfig&&f._hints.indexOf(nr.SCREEN_TRACK)===-1){const h=f._encoderConfig.bitrateMax,p=e.bitrate.actualEncoded;if(h&&p){const g=(1e3*h-p)/(1e3*h);return Sq[g<.15?0:g<.3?1:g<.45?2:g<.6?3:4][d]}}return d}getDownlinkNetworkQuality(){if(!this.recvConnection)return 0;const e=this.recvConnection.getStats();let t=0;return Array.from(this.remoteUserMap.entries()).forEach((n=>{let[r]=n;const i=r._audioSSRC,o=r._videoSSRC,s=e.audioRecv.find((p=>p.ssrc===i)),a=e.videoRecv.find((p=>p.ssrc===o));if(!s&&!a)return void(t+=1);const c=ia(this,Ot.NeedSignalRTT),l=e.rtt,u=(l&&c?(l+c)/2:l||c)||0,d=s?s.jitterMs:void 0,f=e.recvPacketLossRate;let h=.7*f*100/50+.3*u/1500;d&&(h=.6*f*100/50+.2*u/1500+.2*d/400),t+=h<.1?1:h<.17?2:h<.36?3:h<.59?4:5})),this.remoteUserMap.size>0?Math.round(t/this.remoteUserMap.size):t}async muteLocalTrack(e){return new ot(((t,n)=>{this.handleMuteLocalTrack(e,t,n)}))}filterTobePublishedTracks(e,t,n){const r=[],i=fn(),o=this.getAllTracks();e=Ih(e=e.filter((c=>o.indexOf(c)===-1)));let s=!1,a=!1;for(const c of e){if(c instanceof Kn&&(this.localTrackMap.has(ze.LocalVideoTrack)||s?new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS).throw():(r.push({track:c,type:ze.LocalVideoTrack}),s=!0),t)){const l=this.getLowVideoTrack(c,n);r.push({track:l,type:ze.LocalVideoLowTrack})}if(c instanceof mr){const l=this.localTrackMap.get(ze.LocalAudioTrack);if(l){if(!(l.track instanceof Jr))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser does not support audio mixing");if(c._bypassWebAudio)throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio");l.track.addAudioTrack(c),this.bindLocalAudioTrackEvents(c,!0)}else if(a){const u=r.find((d=>{let{type:f}=d;return f===ze.LocalAudioTrack}));if(!(u.track instanceof Jr))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser does not support audio mixing");if(c._bypassWebAudio)throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio");u.track.addAudioTrack(c)}else{if(!i.webAudioMediaStreamDest||c instanceof Jr||c._bypassWebAudio)r.push({track:c,type:ze.LocalAudioTrack});else{const u=new Jr;u.addAudioTrack(c),r.push({track:u,type:ze.LocalAudioTrack})}a=!0}}}return r}filterTobeUnpublishedTracks(e){const t=[],n=this.getAllTracks();e=Ih(e=e.filter((r=>n.indexOf(r)!==-1)));for(const r of e){if(r instanceof mr){const i=this.localTrackMap.get(ze.LocalAudioTrack);if(!i)continue;i.track instanceof Jr?(i.track.removeAudioTrack(r),this.unbindLocalAudioTrackEvents(r),i.track.trackList.length===0&&(t.push([ze.LocalAudioTrack,i]),i.track.close())):t.push([ze.LocalAudioTrack,i])}if(r instanceof Kn){const i=this.localTrackMap.get(ze.LocalVideoTrack);if(!i)continue;t.push([ze.LocalVideoTrack,i]);const o=this.localTrackMap.get(ze.LocalVideoLowTrack);o&&t.push([ze.LocalVideoLowTrack,o])}}return t}bindLocalTrackEvents(e){e.forEach((t=>{let{track:n,type:r}=t;switch(r){case ze.LocalVideoTrack:n.addListener(ut.GET_STATS,this.handleGetLocalVideoStats),n.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.addListener(ut.NEED_UPDATE_VIDEO_ENCODER,this.handleUpdateVideoEncoder),n.addListener(ut.NEED_UPDATE_VIDEO_SEND_PARAMETERS,this.handleUpdateVideoSendParameters),n.addListener(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),n.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack);break;case ze.LocalAudioTrack:this.bindLocalAudioTrackEvents(n);case ze.LocalVideoLowTrack:}}))}bindLocalAudioTrackEvents(e,t){e instanceof Jr?e.trackList.forEach((n=>{n.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.addListener(ut.GET_STATS,this.handleGetLocalAudioStats),n.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack)})):(e.addListener(ut.GET_STATS,this.handleGetLocalAudioStats),e.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),e.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),e.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),e.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack),t||e.addListener(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack))}unbindLocalTrackEvents(e){e||(e=Array.from(this.localTrackMap.entries()).map((t=>{let[n,{track:r}]=t;return{track:r,type:n}}))),e.forEach((t=>{let{track:n,type:r}=t;switch(r){case ze.LocalVideoTrack:n.off(ut.GET_STATS,this.handleGetLocalVideoStats),n.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.off(ut.NEED_UPDATE_VIDEO_ENCODER,this.handleUpdateVideoEncoder),n.off(ut.NEED_UPDATE_VIDEO_SEND_PARAMETERS,this.handleUpdateVideoSendParameters),n.off(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),n.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack);break;case ze.LocalAudioTrack:this.unbindLocalAudioTrackEvents(n);case ze.LocalVideoLowTrack:}}))}unbindLocalAudioTrackEvents(e){e instanceof Jr?e.trackList.forEach((t=>{t.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),t.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),t.off(ut.GET_STATS,this.handleGetLocalAudioStats),t.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),t.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack)})):(e.off(ut.GET_STATS,this.handleGetLocalAudioStats),e.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),e.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),e.off(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),e.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),e.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack))}bindRemoteTrackEvents(e,t){t instanceof Gh&&t.addListener(ut.GET_STATS,(n=>{n(this.handleGetRemoteVideoStats(e))})),t instanceof Jh&&t.addListener(ut.GET_STATS,(n=>{n(this.handleGetRemoteAudioStats(e))}))}unbindRemoteTrackEvents(e){e&&e.removeAllListeners(ut.GET_STATS)}unbindAllRemoteTrackEvents(){Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t,n]=e;n.has(vt.AUDIO)&&this.unbindRemoteTrackEvents(t._audioTrack),n.has(vt.VIDEO)&&this.unbindRemoteTrackEvents(t._videoTrack)}))}createGatewayPublishMessage(e,t){return e.map(((n,r)=>{var i;let o,{track:s,type:a}=n;switch(a){case ze.LocalAudioTrack:o=Sn.Audio;break;case ze.LocalVideoTrack:o=lt(i=s._hints).call(i,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:o=Sn.Low}return{kind:a===ze.LocalAudioTrack?vt.AUDIO:vt.VIDEO,stream_type:o,mid:t[r].id,ssrcs:t[r].localSSRC,isMuted:s.muted||!s.enabled}}))}createGatewayUnpublishMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}assignLocalTracks(e,t){e.forEach(((n,r)=>{let{track:i,type:o}=n;this.localTrackMap.set(o,{track:i,id:t[r].id,ssrcs:t[r].localSSRC})}))}withdrawLocalTracks(e){e.forEach((t=>{let[n]=t;this.localTrackMap.delete(n)}))}bindConnectionEvents(e){e.onConnectionStateChange=async t=>{var n;D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: ").concat(e.name,".onConnectionStateChange(").concat(t,")")),this.emit(Ot.PeerConnectionStateChange,t),t!=="connected"||this.store.keyMetrics.peerConnectionEnd||this.store.peerConnectionEnd(),t==="connected"&&(e.isInRestartIce=!1),lt(n=this._restartStates).call(n,t)&&!e.isInRestartIce&&(t==="disconnected"&&await Ei(800),e.iceConnectionState!=="disconnected"&&e.iceConnectionState!=="failed"||this.handleDisconnect(e.direction))},e.onICEConnectionStateChange=t=>{t!=="connected"||this.store.keyMetrics.iceConnectionEnd||this.store.iceConnectionEnd(),D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onICEConnectionStateChange(").concat(t,")")),mt.reportApiInvoke(this.store.sessionId,{name:"ICEConnectionStateChange",options:t,tag:vr.TRACER}).onSuccess(),this.emit(Ot.IceConnectionStateChange,t)},e.onICETransportStateChange=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onICETransportStateChange(").concat(t,")"))},e.onDTLSTransportStateChange=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onDTLSTransportStateChange(").concat(t,")"))},e.onDTLSTransportError=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onDTLSTransportError(").concat(t,")"))},e.onFirstAudioDecoded=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((o=>o._audioSSRC===t));var i;r&&(this.store.subscribe(r.uid,"audio",void 0,void 0,void 0,Date.now()),(i=r.audioTrack)===null||i===void 0||i.emit(Vh.FIRST_FRAME_DECODED),mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_AUDIO_DECODE,dr.FIRST_AUDIO_DECODE,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId}))},e.onFirstAudioReceived=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((i=>i._audioSSRC===t));r&&mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_AUDIO_RECEIVED,dr.FIRST_AUDIO_RECEIVED,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId})},e.onFirstVideoDecoded=(t,n,r)=>{this.reportVideoFirstFrameDecoded(t,n,r)},e.onFirstVideoReceived=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((i=>i._videoSSRC===t));r&&mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_VIDEO_RECEIVED,dr.FIRST_VIDEO_RECEIVED,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId})},e.onSelectedLocalCandidateChanged=(t,n)=>{const r=t.candidateType==="relay",i=n.candidateType==="relay";n.candidateType!=="unknown"&&r===i||this.emit(Ot.ConnectionTypeChange,r),D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.SelectedLocalCandidateChanged(").concat(JSON.stringify(Ad(n))," -> ").concat(JSON.stringify(Ad(t)),")"))},e.onSelectedRemoteCandidateChanged=(t,n)=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.SelectedRemoteCandidateChanged(").concat(JSON.stringify(Ad(n))," -> ").concat(JSON.stringify(Ad(t)),")"))},e.onFirstVideoDecodedTimeout=t=>{this.reportVideoFirstFrameDecoded(t,void 0,void 0,!0)},e.onLocalCandidate=t=>{this.emit(Ot.LocalCandidate,{candidate:t,direction:e.direction})}}unbindConnectionEvents(e){e.onConnectionStateChange=void 0,e.onICEConnectionStateChange=void 0,e.onICETransportStateChange=void 0,e.onDTLSTransportStateChange=void 0,e.onDTLSTransportError=void 0,e.onFirstAudioDecoded=void 0,e.onFirstAudioReceived=void 0,e.onFirstVideoDecoded=void 0,e.onFirstVideoReceived=void 0,e.onSelectedLocalCandidateChanged=void 0,e.onSelectedRemoteCandidateChanged=void 0,e.onFirstVideoDecodedTimeout=void 0,e.onLocalCandidate=void 0}async handleDisconnect(e){const t=e===po.SEND_ONLY?this.sendConnection:this.recvConnection;t&&!t.isInRestartIce&&(t.isInRestartIce=!0,D.debug("[".concat(this.store.clientId,"] [P2PChannel-").concat(t.name,"] start use restartICE")),e===po.SEND_ONLY?this.restartICE(e):ki(this,Ot.RequestP2PRestartICE,{direction:po.SEND_ONLY}))}filterTobeMutedTracks(e){const t=[];if(this.getAllTracks().indexOf(e)===-1)return t;const n=this.localTrackMap.get(ze.LocalAudioTrack);if(e instanceof mr&&(n==null?void 0:n.track)instanceof Jr)return n.track.isActive||t.push([ze.LocalAudioTrack,n]),t;const r=Array.from(this.localTrackMap.entries()).find((i=>{let[,{track:o}]=i;return e===o}));if(r&&(t.push(r),r[0]===ze.LocalVideoTrack)){const i=this.localTrackMap.get(ze.LocalVideoLowTrack);i&&t.push([ze.LocalVideoLowTrack,i])}return t}filterTobeUnmutedTracks(e){const t=[],n=this.localTrackMap.get(ze.LocalAudioTrack);if(e instanceof mr&&(n==null?void 0:n.track)instanceof Jr)return n.track.isActive&&t.push([ze.LocalAudioTrack,n]),t;const r=Array.from(this.localTrackMap.entries()).find((i=>{let[,{track:o}]=i;return e===o}));if(r)if(r[0]===ze.LocalVideoTrack){t.push(r);const i=this.localTrackMap.get(ze.LocalVideoLowTrack);i&&t.push([ze.LocalVideoLowTrack,i])}else t.push(r);return t}createMuteMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}createUnmuteMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}filterTobeUnSubscribedTracks(e,t){const n=[],r=this.remoteUserMap.get(e);if(!r)return n;if(t){const i=r.get(t);if(!i)return n;n.push([e,{kind:t,id:i}])}else Array.from(r.entries()).forEach((i=>{let[o,s]=i;n.push([e,{kind:o,id:s}])}));return n}createUnsubscribeMessage(e){const t=[];return e.forEach((n=>{let[r,{kind:i,id:o}]=n;switch(i){case vt.VIDEO:return void(r._videoSSRC&&t.push({stream_type:vt.VIDEO,ssrcId:r._videoSSRC}));case vt.AUDIO:return void(r._audioSSRC&&t.push({stream_type:vt.AUDIO,ssrcId:r._audioSSRC}))}})),t}withdrawRemoteTracks(e){e.forEach((t=>{let[n,{kind:r}]=t;const i=this.remoteUserMap.get(n);i&&(i.delete(r),Array.from(i.entries()).length===0&&this.remoteUserMap.delete(n))}))}async updateBitrateLimit(e){const t=this.localTrackMap.get(ze.LocalVideoTrack),n=this.localTrackMap.get(ze.LocalVideoLowTrack);t&&await t.track.setBitrateLimit(e.uplink),n&&e.low_stream_uplink&&await n.track.setBitrateLimit({max_bitrate:e.low_stream_uplink.bitrate,min_bitrate:e.low_stream_uplink.bitrate||0})}isP2PDisconnected(){if(this.sendConnection&&this.recvConnection){const e=this.sendConnection.peerConnectionState,t=this.recvConnection.peerConnectionState;return e!=="connected"&&t!=="connected"}return!0}async tryToUnmuteAudio(e){for(let t=0;t<e.length;t++)if(e[t]instanceof mr){const n=this.filterTobeUnmutedTracks(e[t]);if(n.length===0)continue;const r=this.createUnmuteMessage(n);return void await Fn(this,Ot.RequestUnmuteLocal,r)}}bindStatsUploaderEvents(){this.statsUploader.requestStats=e=>this.getStats(e),this.statsUploader.requestLocalMedia=()=>Array.from(this.localTrackMap.entries()).filter((e=>{let[,{ssrcs:t}]=e;return!!t})),this.statsUploader.requestRemoteMedia=()=>Array.from(this.remoteUserMap.entries()),this.statsUploader.requestVideoIsReady=e=>{var t;return!((t=this.recvConnection)===null||t===void 0||!t.getRemoteVideoIsReady(e))},this.statsUploader.requestUpload=(e,t)=>this.emit(Ot.RequestUpload,e,t),this.statsUploader.requestUploadStats=e=>this.emit(Ot.RequestUploadStats,e),this.statsUploader.requestAllTracks=()=>this.getAllTracks()}unbindStatsUploaderEvents(){this.statsUploader.requestStats=void 0,this.statsUploader.requestLocalMedia=void 0,this.statsUploader.requestRemoteMedia=void 0,this.statsUploader.requestVideoIsReady=void 0}async requestReconnect(){this.dtlsFailedCount+=1,await Ei(lI(this.dtlsFailedCount,jr)),this.emit(Ot.RequestReconnect)}async reconnectP2P(){}canPublishLowStream(){return this.localTrackMap.has(ze.LocalVideoTrack)||this.pendingLocalTracks.some((e=>e instanceof Kn))}throwIfTrackTypeNotMatch(e){if(e.filter((t=>t instanceof Kn)).length>1)throw new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS);if(e.filter((t=>t instanceof mr)).length>1&&(e.some((t=>t instanceof mr&&t._bypassWebAudio))||!fn().webAudioMediaStreamDest))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser doesn't support MediaStreamDestNode");for(const t of e){if(t instanceof Kn&&this.pendingLocalTracks.some((n=>n instanceof Kn)))throw new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS);if(t instanceof mr&&this.pendingLocalTracks.some((n=>n instanceof mr))&&(!fn().webAudioMediaStreamDest||t._bypassWebAudio||this.pendingLocalTracks.some((n=>n instanceof mr&&n._bypassWebAudio))))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser doesn't support MediaStreamDestNode")}}getLowVideoTrack(e,t){const n=!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding,r=S5(S5({},{width:160,height:120,framerate:15,bitrate:50}),t);let i;i=n?e._mediaStreamTrack.clone():uC(e,r);const o=Wn(8,"track-low-"),s=new Kn(i,S5(S5({},n&&{scaleResolutionDownBy:KA(r,e)}),{},{frameRate:r.framerate,bitrateMax:r.bitrate,bitrateMin:r.bitrate}),void 0,void 0,o);return s.on(nf.TRANSCEIVER_UPDATED,(a=>{e._updateRtpTransceiver(a,Cp.LOW_STREAM)})),s._hints.push(nr.LOW_STREAM),e.addListener(ut.NEED_CLOSE,(()=>{s.close()})),s}async globalLock(){return this.recvMutex.lock("From P2PChannel2.globalLock")}reportVideoFirstFrameDecoded(e,t,n,r){var i;const o=Array.from(Ts(i=this.remoteUserMap).call(i)).find((s=>s._videoSSRC===e));if(o){r||this.store.subscribe(o.uid,"video",void 0,void 0,void 0,void 0,Date.now());const s=this.store.keyMetrics,a=s.subscribe.find((c=>c.userId===o.uid&&c.type==="video"));mt.firstRemoteVideoDecode(this.store.sessionId,hi.FIRST_VIDEO_DECODE,dr.FIRST_VIDEO_DECODE,{peer:o._uintid,videowidth:t,videoheight:n,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,e),subscribeRequestid:e,p2pid:this.store.p2pId,apEnd:s.requestAPEnd||0,apStart:s.requestAPStart||0,joinGwEnd:s.joinGatewayEnd||0,joinGwStart:s.joinGatewayStart||0,pcEnd:s.peerConnectionEnd||0,pcStart:s.peerConnectionStart||0,subscriberEnd:(a==null?void 0:a.subscribeEnd)||0,subscriberStart:(a==null?void 0:a.subscribeStart)||0,videoAddNotify:(a==null?void 0:a.streamAdded)||0,state:r?1:0})}}async remoteMediaSsrcChanged(e,t,n){if(!this.recvConnection)return!1;const r=this.remoteUserMap.get(e);if(!r)return!1;const i=r.get(t);if(!i)return!1;const o=await this.recvConnection.getRemoteSSRC(i);return o!==void 0&&o!==n}isPreSubScribe(e){return!1}async publishDataChannel(e){throw new Be(Q.NOT_SUPPORTED)}async unpublishDataChannel(e){throw new Be(Q.NOT_SUPPORTED)}async subscribeDataChannel(e,t){throw new Be(Q.NOT_SUPPORTED)}async unsubscribeDataChannel(e,t){throw new Be(Q.NOT_SUPPORTED)}hasPendingRemoteDataChannel(e,t){throw new Be(Q.NOT_SUPPORTED)}setPendingRemoteDataChannel(e,t){throw new Be(Q.NOT_SUPPORTED)}async preConnect(e){throw new Be(Q.NOT_SUPPORTED)}getEstablishParams(){throw new Be(Q.NOT_SUPPORTED)}async reSubscribe(e){throw new Be(Q.NOT_SUPPORTED)}async updateVideoStreamParameter(e,t){throw new Be(Q.NOT_SUPPORTED)}unbindRtpTransceiver(){this.localTrackMap.size!==0&&Array.from(this.localTrackMap.entries()).forEach((e=>{let[t,{track:n}]=e;t===ze.LocalVideoLowTrack?n._updateRtpTransceiver(void 0,Cp.LOW_STREAM):n._updateRtpTransceiver(void 0)}))}},ft(ir.prototype,"p2pConnect",[hU],Object.getOwnPropertyDescriptor(ir.prototype,"p2pConnect"),ir.prototype),ft(ir.prototype,"unpublish",[pU],Object.getOwnPropertyDescriptor(ir.prototype,"unpublish"),ir.prototype),ft(ir.prototype,"unpublishLowStream",[mU],Object.getOwnPropertyDescriptor(ir.prototype,"unpublishLowStream"),ir.prototype),ft(ir.prototype,"subscribe",[gU],Object.getOwnPropertyDescriptor(ir.prototype,"subscribe"),ir.prototype),ft(ir.prototype,"mockSubscribe",[vU],Object.getOwnPropertyDescriptor(ir.prototype,"mockSubscribe"),ir.prototype),ft(ir.prototype,"unsubscribe",[yU],Object.getOwnPropertyDescriptor(ir.prototype,"unsubscribe"),ir.prototype),ft(ir.prototype,"muteRemote",[EU],Object.getOwnPropertyDescriptor(ir.prototype,"muteRemote"),ir.prototype),ft(ir.prototype,"unmuteRemote",[bU],Object.getOwnPropertyDescriptor(ir.prototype,"unmuteRemote"),ir.prototype),ft(ir.prototype,"hasRemoteMediaWithLock",[SU],Object.getOwnPropertyDescriptor(ir.prototype,"hasRemoteMediaWithLock"),ir.prototype),ft(ir.prototype,"disconnectForReconnect",[AU],Object.getOwnPropertyDescriptor(ir.prototype,"disconnectForReconnect"),ir.prototype),ft(ir.prototype,"remoteMediaSsrcChanged",[CU],Object.getOwnPropertyDescriptor(ir.prototype,"remoteMediaSsrcChanged"),ir.prototype),ir);function Ja(e){return function(t,n,r){const i=t[n];if(typeof i!="function")throw new Error("Cannot use mutex on object property.");return r.value=async function(){for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];switch(e){case qa.SEND_ONLY:{const c=await this.sendMutex.lock("From P2PChannel2.".concat(n));try{return await i.apply(this,s)}finally{c()}}case qa.RECEIVE_ONLY:{const c=await this.recvMutex.lock("From P2PChannel2.".concat(n));try{return await i.apply(this,s)}finally{c()}}default:{const c=await this.sendMutex.lock("From P2PChannel2.".concat(n)),l=await this.recvMutex.lock("From P2PChannel2.".concat(n));try{return await i.apply(this,s)}finally{c(),l()}}}},r}}function TU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function v0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class vg{constructor(t){H(this,"store",void 0),H(this,"onStatsException",void 0),H(this,"onUploadPublishDuration",void 0),H(this,"onStatsChanged",void 0),H(this,"localStats",new Map),H(this,"remoteStats",new Map),H(this,"updateStatsInterval",void 0),H(this,"trafficStats",void 0),H(this,"trafficStatsPeerList",[]),H(this,"uplinkStats",void 0),H(this,"exceptionMonitor",void 0),H(this,"p2pChannel",void 0),H(this,"scalabilityMode",YA.L1T1),H(this,"updateStats",(()=>{this.p2pChannel&&(this.updateRemoteStats(this.p2pChannel),this.updateLocalStats(this.p2pChannel))})),this.store=t,this.exceptionMonitor=new zBe,this.exceptionMonitor.on("exception",((n,r,i)=>{this.onStatsException&&this.onStatsException(n,r,i)}))}startUpdateStats(){this.updateStatsInterval||(this.updateStatsInterval=window.setInterval(this.updateStats,1e3))}stopUpdateStats(){this.updateStatsInterval&&(window.clearInterval(this.updateStatsInterval),this.updateStatsInterval=void 0)}reset(){this.localStats=new Map,this.remoteStats=new Map,this.trafficStats=void 0,this.trafficStatsPeerList=[],this.uplinkStats=void 0}getLocalAudioTrackStats(){return this.localStats.get(ze.LocalAudioTrack)||v0({},eC)}getLocalVideoTrackStats(){return this.localStats.get(ze.LocalVideoTrack)||v0({},tC)}getRemoteAudioTrackStats(t){const n=(o,s)=>{if(!this.trafficStats)return s;const a=this.trafficStats.peer_delay.find((c=>c.peer_uid===o));return a&&(s.publishDuration=a.B_ppad+(Date.now()-this.trafficStats.timestamp)),s},r={};if(t){var i;const o=(i=this.remoteStats.get(t))===null||i===void 0?void 0:i.audioStats;o&&(r[t]=n(t,o))}else Array.from(this.remoteStats.entries()).forEach((o=>{let[s,{audioStats:a}]=o;a&&(r[s]=n(s,a))}));return r}getRemoteNetworkQualityStats(t){const n={};if(t){var r;const i=(r=this.remoteStats.get(t))===null||r===void 0?void 0:r.networkStats;i&&(n[t]=i)}else Array.from(this.remoteStats.entries()).forEach((i=>{let[o,{networkStats:s}]=i;s&&(n[o]=s)}));return n}getRemoteVideoTrackStats(t){const n=(o,s)=>{if(!this.trafficStats)return s;const a=this.trafficStats.peer_delay.find((c=>c.peer_uid===o));return a&&(s.publishDuration=a.B_ppvd+(Date.now()-this.trafficStats.timestamp)),s},r={};if(t){var i;const o=(i=this.remoteStats.get(t))===null||i===void 0?void 0:i.videoStats;o&&(r[t]=n(t,o))}else Array.from(this.remoteStats.entries()).forEach((o=>{let[s,{videoStats:a}]=o;a&&(r[s]=n(s,a))}));return r}getRTCStats(){let t=0,n=0,r=0,i=0;const o=this.localStats.get(ze.LocalAudioTrack);o&&(t+=o.sendBytes,n+=o.sendBitrate);const s=this.localStats.get(ze.LocalVideoTrack);s&&(t+=s.sendBytes,n+=s.sendBitrate);const a=this.localStats.get(ze.LocalVideoLowTrack);a&&(t+=a.sendBytes,n+=a.sendBitrate),this.remoteStats.forEach((l=>{let{audioStats:u,videoStats:d}=l;u&&(r+=u.receiveBytes,i+=u.receiveBitrate),d&&(r+=d.receiveBytes,i+=d.receiveBitrate)}));let c=1;return this.trafficStats&&(c+=this.trafficStats.peer_delay.length),{Duration:0,UserCount:c,SendBitrate:n,SendBytes:t,RecvBytes:r,RecvBitrate:i,OutgoingAvailableBandwidth:this.uplinkStats?this.uplinkStats.B_uab/1e3:0,RTT:this.trafficStats?2*this.trafficStats.B_acd:0}}addLocalStats(t){this.localStats.set(t,void 0)}removeLocalStats(t){t?this.localStats.delete(t):this.localStats.clear()}addRemoteStats(t){this.remoteStats.set(t,{})}removeRemoteStats(t){t?this.remoteStats.delete(t):this.remoteStats.clear()}addP2PChannel(t){this.p2pChannel=t}updateTrafficStats(t){t.peer_delay=t.peer_delay.filter((n=>n.B_ppad!==void 0||n.B_ppvd!==void 0)),t.peer_delay.filter((n=>this.trafficStatsPeerList.indexOf(n.peer_uid)===-1)).forEach((n=>{var r;const i=(r=this.p2pChannel)===null||r===void 0?void 0:r.getRemoteMedia(n.peer_uid),o=i!=null&&i.videoSSRC?ji.measureFromSubscribeStart(this.store.clientId,i.videoSSRC):0,s=i!=null&&i.audioSSRC?ji.measureFromSubscribeStart(this.store.clientId,i.audioSSRC):0;n.B_ppad!==void 0&&n.B_ppvd!==void 0&&(this.onUploadPublishDuration&&this.onUploadPublishDuration(n.peer_uid,n.B_ppad,n.B_ppvd,o>s?o:s),this.trafficStatsPeerList.push(n.peer_uid))})),this.trafficStats=t}updateUplinkStats(t){this.uplinkStats&&this.uplinkStats.B_fir!==t.B_fir&&D.debug("[".concat(this.store.clientId,"]: Period fir changes to ").concat(t.B_fir)),this.uplinkStats=t}static isRemoteVideoFreeze(t,n,r){if(!t)return!1;const i=!!r&&n.framesDecodeFreezeTime>r.framesDecodeFreezeTime,o=!r||n.framesDecodeCount>r.framesDecodeCount;return i||!o}static isRemoteAudioFreeze(t){return!!t&&t._isFreeze()}isLocalVideoFreeze(t){return!(!t.inputFrame||!t.sentFrame)&&t.inputFrame.frameRate>5&&t.sentFrame.frameRate<3}updateLocalStats(t){Array.from(this.localStats.entries()).forEach((n=>{let[r,i]=n;switch(r){case ze.LocalVideoTrack:case ze.LocalVideoLowTrack:{const s=i,a=v0({},tC),c=t.getStats(),l=t.getLocalMedia(r);if(c){const u=c.videoSend.find((d=>d.ssrc===(l==null?void 0:l.ssrcs[0].ssrcId)));if(u){const d=t.getLocalVideoSize(),f=t.getEncoderConfig(ze.LocalVideoTrack);u.codec!=="H264"&&u.codec!=="H265"&&u.codec!=="VP8"&&u.codec!=="VP9"&&u.codec!=="AV1X"&&u.codec!=="AV1"||(a.codecType=u.codec),a.sendBytes=u.bytes,a.sendBitrate=s?8*Math.max(0,a.sendBytes-s.sendBytes):0,u.inputFrame?(a.captureFrameRate=u.inputFrame.frameRate,a.captureResolutionHeight=u.inputFrame.height,a.captureResolutionWidth=u.inputFrame.width):d&&(a.captureResolutionWidth=d.width,a.captureResolutionHeight=d.height),u.sentFrame?(a.sendFrameRate=u.sentFrame.frameRate,a.sendResolutionHeight=u.sentFrame.height,a.sendResolutionWidth=u.sentFrame.width):d&&(a.sendResolutionWidth=d.width,a.sendResolutionHeight=d.height),u.avgEncodeMs&&(a.encodeDelay=u.avgEncodeMs),f&&f.bitrateMax&&(a.targetSendBitrate=1e3*f.bitrateMax),a.sendPackets=u.packets,a.sendPacketsLost=u.packetsLost,a.sendJitterMs=u.jitterMs,a.sendRttMs=u.rttMs,a.totalDuration=s?s.totalDuration+1:1,a.totalFreezeTime=s?s.totalFreezeTime:0,this.isLocalVideoFreeze(u)&&(a.totalFreezeTime+=1),u.scalabilityMode&&this.scalabilityMode!==u.scalabilityMode&&(D.debug("[".concat(this.store.clientId,"]: The scalabilityMode of the video sending stream is ").concat(u.scalabilityMode)),this.scalabilityMode=u.scalabilityMode)}this.trafficStats&&(a.currentPacketLossRate=(this.trafficStats.B_pvlr4||0)/100)}var o;this.localStats.set(r,a),((s==null?void 0:s.sendResolutionWidth)!==a.sendResolutionWidth||(s==null?void 0:s.sendResolutionHeight)!==a.sendResolutionHeight)&&((o=this.onStatsChanged)===null||o===void 0||o.call(this,"resolution",{width:a.sendResolutionWidth,height:a.sendResolutionHeight})),a&&l&&this.exceptionMonitor.setLocalVideoStats(this.store.uid,l.track,a);break}case ze.LocalAudioTrack:{const s=i,a=v0({},eC),c=t.getStats(),l=t.getLocalMedia(r);if(c){const u=c.audioSend.find((d=>d.ssrc===(l==null?void 0:l.ssrcs[0].ssrcId)));if(u){if(u.codec!=="opus"&&u.codec!=="aac"&&u.codec!=="PCMU"&&u.codec!=="PCMA"&&u.codec!=="G722"||(a.codecType=u.codec),u.inputLevel)a.sendVolumeLevel=Math.round(32767*u.inputLevel);else{const d=t.getLocalAudioVolume();d&&(a.sendVolumeLevel=Math.round(32767*d))}a.sendBytes=u.bytes,a.sendPackets=u.packets,a.sendPacketsLost=u.packetsLost,a.sendJitterMs=u.jitterMs,a.sendRttMs=u.rttMs,a.sendBitrate=s?8*Math.max(0,a.sendBytes-s.sendBytes):0}}this.trafficStats&&(a.currentPacketLossRate=(this.trafficStats.B_palr4||0)/100),this.localStats.set(ze.LocalAudioTrack,a),a&&l&&this.exceptionMonitor.setLocalAudioStats(this.store.uid,l.track,a);break}}}))}updateRemoteStats(t){Array.from(this.remoteStats.entries()).forEach((n=>{var r,i;let[o,{videoStats:s,audioStats:a,videoPcStats:c}]=n;const l=a,u=s,d=c,f=v0({},Bq),h=v0({},Fq),p=v0({},EBe),{audioTrack:g,videoTrack:m,audioSSRC:y,videoSSRC:v}=t.getRemoteMedia(o);let E;E=t instanceof rs?t.getStats(!0):t.getStats();const b=(r=E)===null||r===void 0?void 0:r.audioRecv.find((C=>C.ssrc===y)),S=(i=E)===null||i===void 0?void 0:i.videoRecv.find((C=>C.ssrc===v)),w=this.trafficStats&&this.trafficStats.peer_delay.find((C=>C.peer_uid===o));if(b&&(b.codec!=="opus"&&b.codec!=="aac"&&b.codec!=="PCMU"&&b.codec!=="PCMA"&&b.codec!=="G722"||(f.codecType=b.codec),b.outputLevel?f.receiveLevel=Math.round(32767*b.outputLevel):g&&(f.receiveLevel=Math.round(32767*g.getVolumeLevel())),f.receiveBytes=b.bytes,f.receivePackets=b.packets,f.receivePacketsLost=b.packetsLost,f.receivePacketsDiscarded=b.packetsDiscarded,f.packetLossRate=f.receivePacketsLost/(f.receivePackets+f.receivePacketsLost),f.receiveBitrate=l?8*Math.max(0,f.receiveBytes-l.receiveBytes):0,f.totalDuration=l?l.totalDuration+1:1,f.totalFreezeTime=l?l.totalFreezeTime:0,f.freezeRate=f.totalFreezeTime/f.totalDuration,f.receiveDelay=b.jitterBufferMs,f.totalDuration>10&&vg.isRemoteAudioFreeze(g)&&(f.totalFreezeTime+=1)),S){S.codec!=="H264"&&S.codec!=="H265"&&S.codec!=="VP8"&&S.codec!=="VP9"&&S.codec!=="AV1X"&&S.codec!=="AV1"||(h.codecType=S.codec),h.receiveBytes=S.bytes,h.receiveBitrate=u?8*Math.max(0,h.receiveBytes-u.receiveBytes):0,h.decodeFrameRate=S.decodeFrameRate<0?0:S.decodeFrameRate,h.renderFrameRate=S.decodeFrameRate<0?0:S.decodeFrameRate,S.outputFrame&&(h.renderFrameRate=S.outputFrame.frameRate),S.receivedFrame?(h.receiveFrameRate=S.receivedFrame.frameRate,h.receiveResolutionHeight=S.receivedFrame.height,h.receiveResolutionWidth=S.receivedFrame.width):m&&(h.receiveResolutionHeight=m._videoHeight||0,h.receiveResolutionWidth=m._videoWidth||0),S.framesRateFirefox!==void 0&&(h.receiveFrameRate=Math.round(S.framesRateFirefox)),h.receivePackets=S.packets,h.receivePacketsLost=S.packetsLost,h.packetLossRate=h.receivePacketsLost/(h.receivePackets+h.receivePacketsLost),h.totalDuration=u?u.totalDuration+1:1,h.totalFreezeTime=u?u.totalFreezeTime:0,h.receiveDelay=S.jitterBufferMs||0;const C=!!v&&t.getRemoteVideoIsReady(v);m&&C&&vg.isRemoteVideoFreeze(m,S,d)&&(h.totalFreezeTime+=1),h.freezeRate=h.totalFreezeTime/h.totalDuration}w&&(f.end2EndDelay=w.B_ad,h.end2EndDelay=w.B_vd,f.transportDelay=w.B_ed,h.transportDelay=w.B_ed,f.currentPacketLossRate=w.B_ealr4/100,h.currentPacketLossRate=w.B_evlr4/100,p.uplinkNetworkQuality=w.B_punq?w.B_punq:0,p.downlinkNetworkQuality=w.B_pdnq?w.B_pdnq:0),this.remoteStats.set(o,{audioStats:f,videoStats:h,videoPcStats:S,networkStats:p}),g&&this.exceptionMonitor.setRemoteAudioStats(g,f),m&&this.exceptionMonitor.setRemoteVideoStats(m,h)}))}}class P${constructor(){H(this,"destChannelMediaInfos",new Map),H(this,"srcChannelMediaInfo",void 0)}setSrcChannelInfo(t){TM(t),this.srcChannelMediaInfo=t}addDestChannelInfo(t){TM(t),this.destChannelMediaInfos.set(t.channelName,t)}removeDestChannelInfo(t){h6(t),this.destChannelMediaInfos.delete(t)}getSrcChannelMediaInfo(){return this.srcChannelMediaInfo}getDestChannelMediaInfo(){return this.destChannelMediaInfos}}function IU(e){if(!(e instanceof P$))return new xe(Q.INVALID_PARAMS,"Config should be instance of [ChannelMediaRelayConfiguration]").throw();const t=e.getSrcChannelMediaInfo(),n=e.getDestChannelMediaInfo();if(!t)return new xe(Q.INVALID_PARAMS,"srcChannelMediaInfo should not be empty").throw();if(n.size===0)return new xe(Q.INVALID_PARAMS,"destChannelMediaInfo should not be empty").throw()}function PU(e){var t={},n=!1;function r(i,o){return n=!0,{done:!1,value:new OI(o=new cC((function(s){s(e[i](o))})),1)}}return t[Ch!==void 0&&FK||"@@iterator"]=function(){return this},t.next=function(i){return n?(n=!1,i):r("next",i)},typeof e.throw=="function"&&(t.throw=function(i){if(n)throw n=!1,i;return r("throw",i)}),typeof e.return=="function"&&(t.return=function(i){return n?(n=!1,i):r("return",i)}),t}var aFe=kr(E$);function OU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function _U(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?OU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):OU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var Bn;function RU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function A5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?RU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let C1=(Bn=class W1 extends Tq{get peerConnectionState(){return this.peerConnection.connectionState}get iceConnectionState(){return this.peerConnection.iceConnectionState}get currentLocalDescription(){return this.peerConnection.currentLocalDescription}get currentRemoteDescription(){return this.peerConnection.currentRemoteDescription}get localCodecs(){return[...new Set(this.localCapabilities&&this.localCapabilities.videoCodecs.map((t=>t.rtpMap&&t.rtpMap.encodingName.toLowerCase()||"")).filter((t=>{var n;return lt(n=Object.keys(f6)).call(n,t)})))]}constructor(t,n){super(t,n),H(this,"store",void 0),H(this,"peerConnection",void 0),H(this,"remoteSDP",void 0),H(this,"initialOffer",void 0),H(this,"statsFilter",void 0),H(this,"useRTX",!1),H(this,"localCapabilities",void 0),H(this,"localCandidateCount",0),H(this,"allCandidatesReceived",!1),H(this,"establishPromise",void 0),H(this,"mutex",new Hi("P2PConnection-mutex")),this.store=n,this.peerConnection=new RTCPeerConnection(W1.resolvePCConfiguration(t),{optional:[{googDscp:!0}]}),this.statsFilter=RI(this.peerConnection,he("STATS_UPDATE_INTERVAL"),void 0,Er()?1200:void 0),this.bindPCEvents(),this.bindStatsEvents(),this.store.p2pId=this.store.p2pId+1,this.establishPromise=this.establish()}async establish(){try{const t=await this.peerConnection.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0});if(!t.sdp)throw new Error("Cannot get initialOffer.sdp when trying to establish PeerConnection.");const n=Cd(t.sdp),r=hg(t.sdp,{filterRTX:!this.useRTX,filterVideoFec:he("FILTER_VIDEO_FEC"),filterAudioFec:he("FILTER_AUDIO_FEC"),filterAudioCodec:["opus"]});return this.localCapabilities=r,this.initialOffer=t,A5(A5({},n),{},{rtpCapabilities:{send:{audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},recv:{audioCodecs:[],audioExtensions:[],videoCodecs:[],videoExtensions:[]},sendrecv:r},offerSDP:t.sdp})}catch(t){throw new Be(Q.GET_LOCAL_CONNECTION_PARAMS_FAILED,t.toString())}}async updateRemoteConnect(){}async connect(t){try{if(!this.initialOffer)throw new Error("Cannot establish P2PConnection without initial offer.");this.remoteSDP=new class{constructor(r){H(this,"sessionDesc",void 0),H(this,"localCapabilities",void 0),H(this,"rtpCapabilities",void 0),H(this,"candidates",void 0),H(this,"iceParameters",void 0),H(this,"dtlsParameters",void 0),H(this,"setup",void 0),H(this,"currentMidIndex",void 0),H(this,"cname",void 0),r=Lr(r);const{iceParameters:i,dtlsParameters:o,candidates:s,rtpCapabilities:a,setup:c,localCapabilities:l,sdkCodec:u,cname:d}=r,f=gi.parse(`v=0
o=- 0 0 IN IP4 127.0.0.1
s=AgoraGateway
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS
a=ice-lite
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=mid:audio
m=video 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=mid:video
`);this.rtpCapabilities=a,this.candidates=s,this.iceParameters=i,this.dtlsParameters=o,this.setup=c,this.localCapabilities=l,this.cname=d;for(let h=0;h<f.mediaDescriptions.length;h++){const p=f.mediaDescriptions[h];if(p.attributes.iceUfrag=i.iceUfrag,p.attributes.icePwd=i.icePwd,p.attributes.fingerprints=o.fingerprints,p.attributes.candidates=s,p.attributes.setup=c,p.media.mediaType==="video"){p.media.fmts=a.videoCodecs.map((m=>m.payloadType.toString(10)));let g=a.videoCodecs.filter((m=>{var y,v;return(y=m.rtpMap)===null||y===void 0?void 0:lt(v=y.encodingName.toLowerCase()).call(v,u)}));g.length===0&&(g=a.videoCodecs),p.attributes.payloads=g,p.attributes.extmaps=a.videoExtensions}p.media.mediaType==="audio"&&(p.media.fmts=a.audioCodecs.map((g=>g.payloadType.toString(10))),p.attributes.payloads=a.audioCodecs,p.attributes.extmaps=a.audioExtensions),f.mediaDescriptions[h]=this.mungMediaDesc(p)}this.sessionDesc=f,this.currentMidIndex=f.mediaDescriptions.length-1}toString(){return gi.print(this.sessionDesc)}send(r,i,o){const{ssrcs:s,ssrcGroups:a}=_0(i,this.cname),c=this.sessionDesc.mediaDescriptions.find((d=>r===vt.VIDEO?d.media.mediaType==="video":d.media.mediaType==="audio")),l=s[0].attributes.label,u=s[0].attributes.mslabel;return c.attributes.ssrcs=c.attributes.ssrcs.concat(s),c.attributes.ssrcGroups=c.attributes.ssrcGroups.concat(a),{id:l,mslabel:u}}batchSend(r){return r.map((i=>{let{kind:o,ssrcMsg:s}=i;return this.send(o,s,void 0)}))}stopSending(r){this.sessionDesc.mediaDescriptions.forEach((i=>{const o=[],s=[],a=[];i.attributes.ssrcs.forEach((c=>{lt(r).call(r,c.attributes.label||"")?a.push(c):o.push(c)})),i.attributes.ssrcGroups.forEach((c=>{var l;lt(l=a.map((u=>u.ssrcId))).call(l,c.ssrcIds[0])||s.push(c)})),i.attributes.ssrcs=o,i.attributes.ssrcGroups=s}))}mute(r){const i=this.sessionDesc.mediaDescriptions.find((o=>o.attributes.mid===r));if(!i)throw new Error("mediaDescription not found with ".concat(r," in remote SDP when calling RemoteSDP.mute."));i.attributes.direction="inactive"}unmute(r){const i=this.sessionDesc.mediaDescriptions.find((o=>o.attributes.mid===r));if(!i)throw new Error("mediaDescription not found with ".concat(r," in remote SDP when calling RemoteSDP.unmute."));i.attributes.direction="sendonly"}receive(r,i,o){r.forEach(((s,a)=>{const c=s._mediaStreamTrack,l=this.sessionDesc.mediaDescriptions.findIndex((d=>d.attributes.mid===c.kind)),u=this.mungRecvMediaDsec(this.sessionDesc.mediaDescriptions[l],s);this.sessionDesc.mediaDescriptions[l]=u}))}stopReceiving(r){}updateCandidates(r){r===ls.TCP?this.candidates.forEach((i=>{this.candidates.findIndex((o=>o.transport==="tcp"&&o.connectionAddress===i.connectionAddress&&o.port===i.port))===-1&&this.candidates.push(_U(_U({},i),{},{foundation:"tcpcandidate",priority:Number(i.priority)-1+"",transport:"tcp",port:Number(i.port)+90+""}))})):this.candidates=this.candidates.filter((i=>i.transport!=="tcp"));for(const i of this.sessionDesc.mediaDescriptions)i.attributes.candidates=this.candidates}restartICE(r){r=Lr(r),this.iceParameters=r,this.sessionDesc.mediaDescriptions.forEach((i=>{i.attributes.iceUfrag=r.iceUfrag,i.attributes.icePwd=r.icePwd}))}predictReceivingMids(r){const i=[];for(let o=0;o<r;o++)i.push((this.currentMidIndex+o+1).toString(10));return i}mungRecvMediaDsec(r,i){const o=Lr(r);return wp(o,i),CI(o,i),o}updateRecvMedia(r,i){const o=this.sessionDesc.mediaDescriptions.findIndex((s=>s.attributes.mid===r));if(o!==-1){const s=this.mungRecvMediaDsec(this.sessionDesc.mediaDescriptions[o],i);this.sessionDesc.mediaDescriptions[o]=s}}bumpMid(r){this.currentMidIndex+=r}updateTrackLabel(r,i,o){const s=this.sessionDesc.mediaDescriptions.find((c=>r===vt.VIDEO?c.attributes.mid==="video":c.attributes.mid==="audio"));if(s){const c=s.attributes.ssrcs.find((l=>l.attributes.label===i));var a;c&&(c.attributes.label=o,(a=c.attributes.msid)===null||a===void 0||a.replace(i,o))}}mungMediaDesc(r){const i=Lr(r);return AI(i),(function(o){const s=o.attributes.extmaps.find((a=>a.extensionName==="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"));s&&o.attributes.extmaps.splice(o.attributes.extmaps.indexOf(s),1),o.attributes.payloads.forEach((a=>{const c=a.rtcpFeedbacks.findIndex((l=>l.type==="transport-cc"));c!==-1&&a.rtcpFeedbacks.splice(c,1)}))})(i),i}getSSRC(r){for(const i of this.sessionDesc.mediaDescriptions)for(const o of i.attributes.ssrcs)if(o.attributes.label===r)return[o]}}(A5(A5({},t),{},{rtpCapabilities:t.rtpCapabilities.send,localCapabilities:this.localCapabilities,sdkCodec:this.store.codec}));const n=this.remoteSDP.toString();await this.peerConnection.setLocalDescription(this.initialOffer),await this.peerConnection.setRemoteDescription({type:"answer",sdp:n})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.connect failed; ".concat(n.toString()))}}async updateRemoteRTPCapabilities(t,n){throw new Be(Q.NOT_SUPPORTED,"Planb mode does not support createDataChannels.")}getPreMedia(t){}send(t,n){var r=this;return cc((function*(){const i=yield mn(r.mutex.lock());try{if(!r.remoteSDP)throw new Error("Cannot call P2PConnection.send before remote SDP created");const o=t.map((f=>r.peerConnection.addTrack(f._mediaStreamTrack))),s=yield mn(r.peerConnection.createOffer()),a=gi.parse(s.sdp),c=t.map((f=>{const h=f._mediaStreamTrack,p=a.mediaDescriptions.find((g=>g.attributes.mid===h.kind));if(!p)throw new Error("Cannot extract ssrc from mediaDescription.");return(function(g,m,y){const v=g.attributes.ssrcs.filter((b=>b.attributes.label===m)),E=g.attributes.ssrcGroups;if(v.length===0)throw new Error("Cannot extract ssrc from plan-b SDP.");if(E&&v.length>1){const b=E.find((S=>S.ssrcIds.indexOf(v[0].ssrcId)!==-1));return b?[{ssrcId:b.ssrcIds[0],rtx:y?b.ssrcIds[1]:void 0}]:[{ssrcId:v[0].ssrcId}]}return[{ssrcId:v[0].ssrcId}]})(p,h.id,r.useRTX)}));let l;try{l=yield c}catch(f){throw o.forEach((h=>{Ri()&&h.replaceTrack(null),r.peerConnection.removeTrack(h)})),f}const u=r.mungSendOfferSDP(s.sdp,t);r.remoteSDP.receive(t,n,l);const d=r.remoteSDP.toString();return yield mn(r.peerConnection.setLocalDescription({type:"offer",sdp:u})),yield mn(r.applySendEncodings(o,t)),yield mn(r.peerConnection.setRemoteDescription({type:"answer",sdp:d})),t.map(((f,h)=>{const p=f._mediaStreamTrack.id;return{localSSRC:c[h],id:p}}))}catch(o){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.send failed; ".concat(o.toString()))}finally{i()}}))()}async stopSending(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopSending before remote SDP created");const n=this.peerConnection.getSenders().filter((o=>{var s;return t.indexOf(((s=o.track)===null||s===void 0?void 0:s.id)||"")!==-1}));if(n.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length when trying to call P2PConnection.stopSending.");n.map((o=>{Ri()&&o.replaceTrack(null),this.peerConnection.removeTrack(o)}));const r=await this.peerConnection.createOffer();await this.peerConnection.setLocalDescription(r),this.remoteSDP.stopReceiving(t);const i=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"answer",sdp:i})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.stopSending failed; ".concat(n.toString()))}}async receive(t,n,r,i){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.receive ".concat(t," before remoteSDP created."));const{id:o,mslabel:s}=this.remoteSDP.send(t,n,i),a=new ot(((u,d)=>{const f=setTimeout((()=>{d(new Error("Cannot receive track, id: ".concat(o)))}),1e4),h=p=>{const g=an();if((g.name==="Safari"&&Number(g.version)===11||vo())&&p.track.id!==o&&p.streams[0].id===s){var m;const y=p.streams[0].getTracks()[0];return(m=this.remoteSDP)===null||m===void 0||m.updateTrackLabel(t,o,p.track.id),this.peerConnection.removeEventListener("track",h),clearTimeout(f),void u(y)}if(p.track.id===o)return this.peerConnection.removeEventListener("track",h),clearTimeout(f),void u(p.track)};this.peerConnection.addEventListener("track",h)})),c=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"offer",sdp:c});const l=await this.peerConnection.createAnswer();return await this.peerConnection.setLocalDescription(l),{track:await a,id:o}}catch(o){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(o.toString()))}}async stopReceiving(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopReceiving before remote SDP created.");this.remoteSDP.stopSending(t);const n=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"offer",sdp:n});const r=await this.peerConnection.createAnswer();await this.peerConnection.setLocalDescription(r)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection stopReceiving failed; ".concat(n.toString()))}}async muteRemote(t){}async unmuteRemote(t){}async muteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.muteLocal before remote SDP created.");const n=this.peerConnection.getSenders().filter((r=>{var i;return t.indexOf(((i=r.track)===null||i===void 0?void 0:i.id)||"")!==-1}));if(n.length!==t.length)throw new Error("sender' length doesn't match mids' length.");n.map((r=>{if(Ri()&&r.track)r.track.enabled=!1;else{const i=r.getParameters();i.encodings.forEach((o=>o.active=!1)),r.setParameters(i)}}))}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.muteLocal failed; ".concat(n.toString()))}}async unmuteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.unmuteLocal before remote SDP created.");const n=this.peerConnection.getSenders().filter((o=>{var s;return t.indexOf(((s=o.track)===null||s===void 0?void 0:s.id)||"")!==-1}));if(n.length!==t.length)throw new Error("Senders' length doesn't match mids' length.");n.map((async o=>{if(Ri()&&o.track)o.track.enabled=!0;else{const s=o.getParameters();s.encodings.forEach((a=>a.active=!0)),await o.setParameters(s)}}));const r=await this.peerConnection.createOffer();await this.peerConnection.setLocalDescription(r);const i=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"answer",sdp:i})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.unmuteLocal failed; ".concat(n.toString()))}}restartICE(t){var n=this;return cc((function*(){const r=yield mn(n.mutex.lock("From P2PConnection.restartICE"));try{if(!n.remoteSDP)throw new Error("Cannot restartICE before remoteSDP created.");if(fn().supportPCSetConfiguration){const c=n.peerConnection.getConfiguration(),l=t===ls.RELAY?"relay":"all";c.iceTransportPolicy!==l&&(D.debug("[".concat(n.store.clientId,"] restartICE change iceTransportPolicy from [").concat(c.iceTransportPolicy,"] to [").concat(l,"]")),c.iceTransportPolicy=l,n.peerConnection.setConfiguration(c))}else if(t===ls.RELAY)return;t!==ls.RELAY&&n.remoteSDP.updateCandidates(t);const i=yield mn(n.peerConnection.createOffer({iceRestart:!0}));if(!i.sdp)throw new Error("Cannot restartICE because restart offer SDP does not exist.");const o=Cd(i.sdp),{remoteIceParameters:s}=yield o.iceParameters;n.remoteSDP.restartICE(s);const a=n.remoteSDP.toString();yield mn(n.peerConnection.setLocalDescription(i)),yield mn(n.peerConnection.setRemoteDescription({type:"answer",sdp:a}))}catch(i){D.warning("[".concat(n.store.clientId,"] restart ICE failed, abort operation"),i)}finally{r()}}))()}close(){var t;this.peerConnection.close(),(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,"closed"),this.unbindPCEvents(),this.unbindStatsEvents(),this.removeAllListeners(),this.statsFilter.destroy()}getStats(){return this.statsFilter.getStats()}getRemoteVideoIsReady(t){return this.statsFilter.getVideoIsReady(t)}async updateEncoderConfig(t,n){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.updateEncoderConfig before remote SDP created.");const r=await this.peerConnection.createOffer(),i=this.mungSendOfferSDP(r.sdp,[n]);this.remoteSDP.updateRecvMedia(n._mediaStreamTrack.kind,n);const o=this.remoteSDP.toString();await this.peerConnection.setLocalDescription({type:"offer",sdp:i}),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}catch(r){throw new Be(Q.EXCHANGE_SDP_FAILED,r.toString())}}async updateSendParameters(t,n){const r=this.peerConnection.getSenders().filter((i=>{var o;return((o=i.track)===null||o===void 0?void 0:o.id)===t}));r.length===1&&await this.applySendEncodings(r,[n])}setStatsRemoteVideoIsReady(t,n){this.statsFilter.setVideoIsReady2(t,n)}async replaceTrack(t,n){const r=this.peerConnection.getSenders().find((i=>{var o;return((o=i.track)===null||o===void 0?void 0:o.id)===n}));r&&await r.replaceTrack(t._mediaStreamTrack)}createDataChannels(t,n){throw new Be(Q.NOT_SUPPORTED,"Planb mode does not support createDataChannels.")}stopDataChannels(t){throw new Be(Q.NOT_SUPPORTED,"Planb mode does not support stopDataChannels.")}bindPCEvents(){this.peerConnection.oniceconnectionstatechange=()=>{var t;(t=this.onICEConnectionStateChange)===null||t===void 0||t.call(this,this.peerConnection.iceConnectionState)},this.peerConnection.onconnectionstatechange=()=>{var t;(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,this.peerConnection.connectionState)},this.peerConnection.onicecandidate=t=>{t.candidate?this.localCandidateCount+=1:(this.peerConnection.onicecandidate=null,this.allCandidatesReceived=!0,D.debug("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] local candidate count"),this.localCandidateCount))},setTimeout((()=>{this.allCandidatesReceived||(this.allCandidatesReceived=!0,D.debug("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] onicecandidate timeout, local candidate count"),this.localCandidateCount))}),he("CANDIDATE_TIMEOUT"))}unbindPCEvents(){this.peerConnection.oniceconnectionstatechange=null,this.peerConnection.onconnectionstatechange=null,this.peerConnection.onsignalingstatechange=null,this.peerConnection.onicecandidateerror=null,this.peerConnection.onicecandidate=null,this.peerConnection.ontrack=null}static resolvePCConfiguration(t){const n={iceServers:[],sdpSemantics:"plan-b"};return t.iceServers?n.iceServers=t.iceServers:t.turnServer&&t.turnServer.mode!=="off"&&(l6(t.turnServer.servers)?n.iceServers=t.turnServer.servers:(n.iceServers&&n.iceServers.push(...W1.turnServerConfigToIceServers(t.turnServer.servers)),he("USE_TURN_SERVER_OF_GATEWAY")&&n.iceServers&&t.turnServer.serversFromGateway&&n.iceServers.push(...W1.turnServerConfigToIceServers(t.turnServer.serversFromGateway)),t.turnServer.servers.concat(t.turnServer.serversFromGateway||[]).forEach((r=>{r.forceturn&&(n.iceTransportPolicy="relay")})))),n}static turnServerConfigToIceServers(t){const n=[];return t.forEach((r=>{r.security?r.tcpport&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turns:".concat(r.turnServerURL,":").concat(r.tcpport,"?transport=tcp")}):(r.udpport&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turn:".concat(r.turnServerURL,":").concat(r.udpport,"?transport=udp")}),r.tcpport&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turn:".concat(r.turnServerURL,":").concat(r.tcpport,"?transport=tcp")}))})),n}async updateRtpSenderEncodings(t,n){var r;if(n||(n=this.peerConnection.getSenders().find((l=>{var u;return((u=l.track)===null||u===void 0?void 0:u.id)===t._mediaStreamTrack.id}))),!n)return D.warn("[".concat(t.getTrackId(),"] no rtpSender found}"));if(!fn().supportSetRtpSenderParameters)return D.warn("Browser not support set rtp-sender parameters");const i={},o={};if(t instanceof Kn)switch(t._optimizationMode){case"motion":i.degradationPreference="maintain-framerate";break;case"detail":i.degradationPreference="maintain-resolution";break;default:i.degradationPreference="balanced"}if(he("DSCP_TYPE")&&Bd()){var s;const l=he("DSCP_TYPE");lt(s=["very-low","low","medium","high"]).call(s,l)&&(o.networkPriority=l)}const a=n.getParameters(),c=(r=a.encodings)===null||r===void 0?void 0:r[0];c&&Object.assign(c,o),Object.assign(a,i),D.debug("[".concat(t.getTrackId(),"] updateRtpSenderEncodings: ").concat(JSON.stringify(a.encodings))),await n.setParameters(a)}async applySendEncodings(t,n){try{if(!fn().supportSetRtpSenderParameters||t.length!==n.length)return;for(let r=0;r<t.length;r++){const i=t[r],o=n[r];i&&o&&await this.updateRtpSenderEncodings(o,i)}}catch{D.debug("[".concat(this.store.clientId,"] Apply RTPSendEncodings failed."))}}mungSendOfferSDP(t,n){const r=gi.parse(t);return n.forEach(((i,o)=>{const s=i._mediaStreamTrack,a=r.mediaDescriptions.find((c=>c.attributes.mid===s.kind));a&&wp(a,i)})),gi.print(r)}bindStatsEvents(){this.statsFilter.onFirstAudioReceived=t=>{var n;(n=this.onFirstAudioReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoReceived=t=>{var n;(n=this.onFirstVideoReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstAudioDecoded=t=>{var n;(n=this.onFirstAudioDecoded)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoDecoded=(t,n,r)=>{var i;(i=this.onFirstVideoDecoded)===null||i===void 0||i.call(this,t,n,r)},this.statsFilter.onSelectedLocalCandidateChanged=(t,n)=>{var r;(r=this.onSelectedLocalCandidateChanged)===null||r===void 0||r.call(this,t,n)},this.statsFilter.onSelectedRemoteCandidateChanged=(t,n)=>{var r;(r=this.onSelectedRemoteCandidateChanged)===null||r===void 0||r.call(this,t,n)}}unbindStatsEvents(){this.statsFilter.onFirstAudioReceived=void 0,this.statsFilter.onFirstVideoReceived=void 0,this.statsFilter.onFirstAudioDecoded=void 0,this.statsFilter.onFirstVideoDecoded=void 0,this.statsFilter.onSelectedLocalCandidateChanged=void 0,this.statsFilter.onSelectedRemoteCandidateChanged=void 0}async batchReceive(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.batchReceive before remoteSDP created.");const n=this.remoteSDP.batchSend(t).map(((o,s)=>{let{id:a,mslabel:c}=o;const{kind:l}=t[s];return new ot(((u,d)=>{const f=setTimeout((()=>{d(new Error("Cannot receive track, id: ".concat(a)))}),1e4),h=p=>{const g=an();if(g.name==="Safari"&&Number(g.version)===11&&p.track.id!==a&&p.streams[0].id===c){var m;const y=p.streams[0].getTracks()[0];return(m=this.remoteSDP)===null||m===void 0||m.updateTrackLabel(l,a,p.track.id),this.peerConnection.removeEventListener("track",h),clearTimeout(f),void u({track:y,id:a})}if(p.track.id===a)return this.peerConnection.removeEventListener("track",h),clearTimeout(f),void u({track:p.track,id:a})};this.peerConnection.addEventListener("track",h)}))})),r=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"offer",sdp:r});const i=await this.peerConnection.createAnswer();return await this.peerConnection.setLocalDescription(i),await ot.all(n)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(n.toString()))}}async getRemoteSSRC(t){if(!this.remoteSDP)return;const n=this.remoteSDP.getSSRC(t);return n==null?void 0:n[0].ssrcId}setConfiguration(t){if(fn().supportPCSetConfiguration){const n=W1.resolvePCConfiguration(t);this.peerConnection.setConfiguration(n)}}},ft(Bn.prototype,"connect",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"connect"),Bn.prototype),ft(Bn.prototype,"stopSending",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"stopSending"),Bn.prototype),ft(Bn.prototype,"receive",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"receive"),Bn.prototype),ft(Bn.prototype,"stopReceiving",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"stopReceiving"),Bn.prototype),ft(Bn.prototype,"muteRemote",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"muteRemote"),Bn.prototype),ft(Bn.prototype,"unmuteRemote",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"unmuteRemote"),Bn.prototype),ft(Bn.prototype,"muteLocal",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"muteLocal"),Bn.prototype),ft(Bn.prototype,"unmuteLocal",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"unmuteLocal"),Bn.prototype),ft(Bn.prototype,"close",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"close"),Bn.prototype),ft(Bn.prototype,"updateEncoderConfig",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"updateEncoderConfig"),Bn.prototype),ft(Bn.prototype,"updateSendParameters",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"updateSendParameters"),Bn.prototype),ft(Bn.prototype,"replaceTrack",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"replaceTrack"),Bn.prototype),ft(Bn.prototype,"getRemoteSSRC",[Zs],Object.getOwnPropertyDescriptor(Bn.prototype,"getRemoteSSRC"),Bn.prototype),Bn);function Zs(e,t,n){const r=e[t];if(typeof r!="function")throw new Error("Cannot use mutex on object property.");return n.value=async function(){const i=this.mutex,o=await i.lock("Locking from P2PConnection.".concat(t));try{for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];return await r.apply(this,a)}finally{o()}},n}function kU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Zu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const w1="9",xU=4e4;class cFe{get localCapabilities(){return Lr(this._localCapabilities)}get rtpCapabilities(){return Lr(this._rtpCapabilities)}get candidates(){return Lr(this._candidates)}get iceParameters(){return Lr(this._iceParameters)}get dtlsParameters(){return Lr(this._dtlsParameters)}constructor(t){H(this,"sessionDesc",void 0),H(this,"_localCapabilities",void 0),H(this,"_rtpCapabilities",void 0),H(this,"_candidates",void 0),H(this,"_iceParameters",void 0),H(this,"_dtlsParameters",void 0),H(this,"setup",void 0),H(this,"currentMidIndex",void 0),H(this,"cname",void 0),H(this,"firefoxSsrcMidMap",new Map),t=Lr(t);const{iceParameters:n,dtlsParameters:r,candidates:i,rtpCapabilities:o,setup:s,localCapabilities:a,cname:c}=t;this._rtpCapabilities=o,this._candidates=i,this._iceParameters=n,this._dtlsParameters=r,this._localCapabilities=a,this.setup=s,this.cname=c,this.sessionDesc=this.updateRemoteRTPCapabilities(o),this.currentMidIndex=this.sessionDesc.mediaDescriptions.length-1}preloadRemoteMedia(t){const n=this.candidates,r=this.dtlsParameters,i=this.iceParameters,o=this.rtpCapabilities.send;let s=this.sessionDesc.mediaDescriptions.length-1;for(let a=1;a<t;a++){const c=2*a+2e4,l=2*a+xU,{ssrcs:u,ssrcGroups:d}=_0([{ssrcId:c}],this.cname),{ssrcs:f,ssrcGroups:h}=_0([{ssrcId:l,rtx:he("USE_SUB_RTX")?l+1:void 0}],this.cname);this.sessionDesc.mediaDescriptions.push({media:{mediaType:"video",port:w1,protos:["UDP","TLS","RTP","SAVPF"],fmts:o.videoCodecs.map((p=>p.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:i.iceUfrag,icePwd:i.icePwd,unrecognized:[],candidates:n,extmaps:o.videoExtensions,fingerprints:r.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:f,ssrcGroups:h,rtcpFeedbackWildcards:[],payloads:o.videoCodecs,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:"sendonly",rtcpMux:!0,rtcpRsize:!0,mid:"".concat(++s)}}),this.sessionDesc.mediaDescriptions.push({media:{mediaType:"audio",port:w1,protos:["UDP","TLS","RTP","SAVPF"],fmts:o.audioCodecs.map((p=>p.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:i.iceUfrag,icePwd:i.icePwd,unrecognized:[],candidates:n,extmaps:o.audioExtensions,fingerprints:r.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:u,ssrcGroups:d,rtcpFeedbackWildcards:[],payloads:o.audioCodecs,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:"sendonly",rtcpMux:!0,rtcpRsize:!0,mid:"".concat(++s)}}),this.currentMidIndex+=2}this.updateBundleMids()}toString(){return gi.print(this.sessionDesc)}send(t,n,r,i){const{ssrcs:o,ssrcGroups:s}=_0(n,this.cname,he("SYNC_GROUP")?r:void 0),a=this.findPreloadMediaDesc(o);if(a){if(Er()&&this.firefoxSsrcMidMap.set(o[0].ssrcId,a.attributes.mid),i&&(i.twcc||i.remb)){const c=this.sessionDesc.mediaDescriptions.indexOf(a);return this.sessionDesc.mediaDescriptions[c]=this.mungSendMediaDesc(a,i),{mid:a.attributes.mid,needExchangeSDP:!0}}return{mid:a.attributes.mid,needExchangeSDP:!1}}{const c=this.findAvailableMediaIndex(t,o);let l;return c===-1||c===1&&(Ri()||(function(){const u=an();return!(u.name!==An.CHROME||!u.osVersion)&&Number(u.version)<=90})())||c===0&&he("USE_SUB_RTX")||nM()?(l=this.createOrRecycleSendMedia(t,o,s,"sendonly",i),this.updateBundleMids()):(l=Lr(this.sessionDesc.mediaDescriptions[c]),l.attributes.direction="sendonly",l.attributes.ssrcs=o,l.attributes.ssrcGroups=s,this.sessionDesc.mediaDescriptions[c]=this.mungSendMediaDesc(l,i)),Er()&&this.firefoxSsrcMidMap.set(o[0].ssrcId,l.attributes.mid),{mid:l.attributes.mid,needExchangeSDP:!0}}}sendDataChannel(){const{mediaDesc:t,needExchangeSDP:n}=this.createOrRecycleDataChannel();return this.updateBundleMids(),{mid:t.attributes.mid,needExchangeSDP:n}}batchSend(t){const n=t.map((o=>{let{kind:s,ssrcMsg:a,mslabel:c}=o;return this.send(s,a,c)})),r=[];let i=!1;return n.forEach((o=>{let{mid:s,needExchangeSDP:a}=o;a&&(i=!0),r.push(s)})),{mids:r,needExchangeSDP:i}}stopSending(t){const n=this.sessionDesc.mediaDescriptions.filter((r=>r.attributes.mid&&t.indexOf(r.attributes.mid)!==-1));if(n.length!==t.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.stopSending.");n.forEach((r=>{r.attributes.mid==="0"||Er()||nM()?r.attributes.ssrcs=[]:(r.attributes.ssrcs=[],r.attributes.direction="inactive",r.media.port="0")})),this.updateBundleMids()}mute(t){const n=this.sessionDesc.mediaDescriptions.find((r=>r.attributes.mid===t));if(!n)throw new Error("mediaDescription not found with ".concat(t," in remote SDP when calling RemoteSDP.mute."));n.attributes.direction="inactive"}unmute(t){const n=this.sessionDesc.mediaDescriptions.find((r=>r.attributes.mid===t));if(!n)throw new Error("mediaDescription not found with ".concat(t," in remote SDP when calling RemoteSDP.unmute."));n.attributes.direction="sendonly"}muteRemote(t){const n=this.sessionDesc.mediaDescriptions.filter((r=>lt(t).call(t,r.attributes.mid||"")));if(n.length!==t.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.muteRemote.");n.forEach((r=>{r.attributes.direction="inactive"}))}unmuteRemote(t){const n=this.sessionDesc.mediaDescriptions.filter((r=>lt(t).call(t,r.attributes.mid||"")));if(n.length!==t.length)throw new Error("mediaDescriptions' length doesn't match mids' length when calling RemoteSDP.muteRemote.");n.forEach((r=>{r.attributes.direction="recvonly"}))}receive(t,n,r,i){t.forEach(((o,s)=>{this.createOrRecycleRecvMedia(o,[],"recvonly",n,r,i[s])})),this.updateBundleMids()}stopReceiving(t){const n=this.sessionDesc.mediaDescriptions.filter((r=>t.indexOf(r.attributes.mid)!==-1));if(n.length!==t.length)throw new Error("MediaDescriptions' length doesn't match mids's length when calling RemoteSDP.receive.");n.forEach((r=>{r.media.port="0",r.attributes.direction="inactive"})),this.updateBundleMids()}updateRemoteRTPCapabilities(t){const n=this.sessionDesc||gi.parse(`v=0
o=- 0 0 IN IP4 127.0.0.1
s=AgoraGateway
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
a=ice-lite
m=video 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=mid:0
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 127.0.0.1
a=rtcp:9 IN IP4 0.0.0.0
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=mid:1
`);this._rtpCapabilities=t;const r=this.rtpCapabilities.send,i=this.localCapabilities.send;for(const o of n.mediaDescriptions){if(o.attributes.iceUfrag=this._iceParameters.iceUfrag,o.attributes.icePwd=this._iceParameters.icePwd,o.attributes.fingerprints=this._dtlsParameters.fingerprints,o.attributes.candidates=this._candidates,o.attributes.setup=this.setup,o.media.mediaType==="application"&&(o.attributes.sctpPort="5000"),o.media.mediaType==="video"){if(r.videoCodecs.length===0){const s=i.videoCodecs.filter((a=>{var c,l;return(c=a.rtpMap)===null||c===void 0?void 0:lt(l=c.encodingName.toLowerCase()).call(l,"vp8")}))||[i.videoCodecs[0]];o.media.fmts=s.map((a=>a.payloadType.toString(10))),o.attributes.payloads=s,o.attributes.extmaps=[]}else if(o.media.fmts=r.videoCodecs.map((s=>s.payloadType.toString(10))),o.attributes.payloads=r.videoCodecs,o.attributes.extmaps=r.videoExtensions,he("PRELOAD_MEDIA_COUNT")>0){const{ssrcs:s,ssrcGroups:a}=_0([{ssrcId:xU,rtx:he("USE_SUB_RTX")?40001:void 0}],this.cname);o.attributes.ssrcs=s,o.attributes.ssrcGroups=a}}if(o.media.mediaType==="audio"){if(r.audioCodecs.length===0){const s=i.audioCodecs.filter((a=>{var c,l;return(c=a.rtpMap)===null||c===void 0?void 0:lt(l=c.encodingName.toLowerCase()).call(l,"opus")}))||[i.audioCodecs[0]];o.media.fmts=s.map((a=>a.payloadType.toString(10))),o.attributes.payloads=s,o.attributes.extmaps=[]}else if(o.media.fmts=r.audioCodecs.map((s=>s.payloadType.toString(10))),o.attributes.payloads=r.audioCodecs,o.attributes.extmaps=r.audioExtensions,Tp(o),he("PRELOAD_MEDIA_COUNT")>0){const{ssrcs:s,ssrcGroups:a}=_0([{ssrcId:2e4}],this.cname);o.attributes.ssrcs=s,o.attributes.ssrcGroups=a}}}return this.sessionDesc=n,this.currentMidIndex=n.mediaDescriptions.length-1,this.sessionDesc}updateCandidates(t){const n=this._candidates.filter((r=>r.transport==="udp"));if(t===ls.TCP){if(n.length===0)return;if(he("TCP_CANDIDATE_ONLY")){const r=this._candidates.filter((i=>i.transport==="tcp"));n.forEach((i=>{r.findIndex((o=>o.connectionAddress===i.connectionAddress))===-1&&r.push(Zu(Zu({},i),{},{foundation:"tcpcandidate",priority:Number(i.priority)-1+"",transport:"tcp",port:Number(i.port)+90+""}))})),this._candidates=r}else{const r=[];n.forEach((i=>{r.push(Zu(Zu({},i),{},{foundation:"tcpcandidate",priority:Number(i.priority)-1+"",transport:"tcp",port:Number(i.port)+90+""}))})),this._candidates=[...n,...r]}}else if(t===ls.RELAY){if(n.length!==0)return;{const r=this._candidates.filter((i=>i.transport==="tcp"));r.forEach((i=>{n.push(Zu(Zu({},i),{},{foundation:"udpcandidate",priority:Number(i.priority)+1+"",transport:"udp",port:Number(i.port)-90+""}))})),this._candidates=[...n,...r]}}else n.length===0?(this._candidates.filter((r=>r.transport==="tcp")).forEach((r=>{n.push(Zu(Zu({},r),{},{foundation:"udpcandidate",priority:Number(r.priority)+1+"",transport:"udp",port:Number(r.port)-90+""}))})),this._candidates=n):this._candidates=this._candidates.filter((r=>r.transport!=="tcp"));for(const r of this.sessionDesc.mediaDescriptions)r.attributes.candidates=this.candidates}restartICE(t){t=Lr(t),this._iceParameters=t,this.sessionDesc.mediaDescriptions.forEach((n=>{n.attributes.iceUfrag=t.iceUfrag,n.attributes.icePwd=t.icePwd}))}predictReceivingMids(t){const n=[];for(let r=0;r<t;r++)n.push((this.currentMidIndex+r+1).toString(10));return n}findAvailableMediaIndex(t,n){return this.sessionDesc.mediaDescriptions.findIndex((r=>{const i=r.media.mediaType===t&&r.media.port!=="0"&&(r.attributes.direction==="sendonly"||r.attributes.direction==="sendrecv")&&r.attributes.ssrcs.length===0;if(Er()){if(i){const o=this.firefoxSsrcMidMap.get(n[0].ssrcId);return!(o||r.attributes.mid!=="0"&&r.attributes.mid!=="1")||!(!o||o!==r.attributes.mid)}return!1}return i}))}createOrRecycleDataChannel(){for(const r of this.sessionDesc.mediaDescriptions)if(r.media.mediaType==="application")return{mediaDesc:r,needExchangeSDP:!1};this.currentMidIndex+=1;const t="".concat(this.currentMidIndex),n={media:{mediaType:"application",port:w1,protos:["UDP","DTLS","SCTP"],fmts:["webrtc-datachannel"]},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:this.iceParameters.iceUfrag,icePwd:this.iceParameters.icePwd,unrecognized:[],candidates:this.candidates,extmaps:[],fingerprints:this.dtlsParameters.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:[],ssrcGroups:[],rtcpFeedbackWildcards:[],payloads:[],rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,mid:"".concat(t),sctpPort:"5000"}};return this.sessionDesc.mediaDescriptions.push(n),{mediaDesc:n,needExchangeSDP:!0}}createOrRecycleRecvMedia(t,n,r,i,o,s){const a=t._mediaStreamTrack.kind,c=this.rtpCapabilities.recv,l=bm(a,c,this.localCapabilities.send,a===vt.VIDEO?i:o),u=a===vt.VIDEO?c.videoExtensions:c.audioExtensions;this.currentMidIndex+=1;const d="".concat(this.currentMidIndex);let f={media:{mediaType:a,port:w1,protos:["UDP","TLS","RTP","SAVPF"],fmts:l.map((p=>p.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:this.iceParameters.iceUfrag,icePwd:this.iceParameters.icePwd,unrecognized:[],candidates:this.candidates,extmaps:u,fingerprints:this.dtlsParameters.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:n,ssrcGroups:[],rtcpFeedbackWildcards:[],payloads:l,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:r,rtcpMux:!0,rtcpRsize:!0,mid:"".concat(d)}};f=this.mungRecvMediaDsec(f,t,s);const h=this.findFirstClosedMedia(a);if(h){const p=this.sessionDesc.mediaDescriptions.indexOf(h);this.sessionDesc.mediaDescriptions[p]=f}else this.sessionDesc.mediaDescriptions.push(f);return f}updateRemoteCodec(t,n,r){const i=[...new Set(this._rtpCapabilities.recv.videoCodecs.map((f=>f.rtpMap&&f.rtpMap.encodingName.toLowerCase()||"")).filter((f=>{var h;return lt(h=Object.keys(f6)).call(h,f)})))],o=new Set(n);if(i.every((f=>o.has(f))))return D.debug("codecs has not changed, no need to updateRemoteCodec, codecs: ".concat(n)),!1;const s=this._rtpCapabilities.recv.videoCodecs.filter((f=>n.some((h=>{var p;return lt(p=f.rtpMap&&f.rtpMap.encodingName.toLowerCase()||"").call(p,h)}))));if(s.length===0)return D.debug("updateRemoteCodec failed, because cannot find matched codec, remoteCapabilities codecs: ".concat(i," codecs: ").concat(n)),!1;const a=[...new Set(s.map((f=>f.rtpMap&&f.rtpMap.encodingName.toLowerCase()||"")))];let c;if(D.debug("updateRemoteCodec, from ".concat(i," to ").concat(a)),t.length===0)c=this.sessionDesc.mediaDescriptions.filter((f=>f.media.mediaType==="video"&&f.attributes.direction==="recvonly"));else if(c=this.sessionDesc.mediaDescriptions.filter((f=>f.attributes.mid&&lt(t).call(t,f.attributes.mid)&&f.attributes.direction==="recvonly")),c.length!==t.length)return D.debug("updateRemoteCodec failed, because cannot find mids, mids: ".concat(t,", codecs: ").concat(n)),!1;if(he("USE_PUB_RTX")||he("USE_SUB_RTX")){const f=wI(s,this.rtpCapabilities.recv.videoCodecs);s.push(...f)}this._rtpCapabilities.recv.videoCodecs=s;const l=this.localCapabilities.send,u=this.rtpCapabilities.recv,d=bm(vt.VIDEO,u,l,r);return c.forEach((f=>{const h=d.map((p=>p.payloadType.toString(10)));D.debug("updateRemoteCodec mid: ".concat(f.attributes.mid,", from ").concat(f.attributes.payloads," to ").concat(d)),f.attributes.payloads=d,f.media.fmts=h})),!0}createOrRecycleSendMedia(t,n,r,i,o){const s=this.rtpCapabilities.send,a=t===vt.VIDEO?s.videoCodecs:s.audioCodecs,c=t===vt.VIDEO?s.videoExtensions:s.audioExtensions;this.currentMidIndex+=1;const l="".concat(this.currentMidIndex);let u={media:{mediaType:t,port:w1,protos:["UDP","TLS","RTP","SAVPF"],fmts:a.map((f=>f.payloadType.toString(10)))},connections:[{nettype:"IN",addrtype:"IP4",address:"127.0.0.1"}],bandwidths:[],attributes:{iceUfrag:this.iceParameters.iceUfrag,icePwd:this.iceParameters.icePwd,unrecognized:[],candidates:this.candidates,extmaps:c,fingerprints:this.dtlsParameters.fingerprints,imageattr:[],msids:[],remoteCandidatesList:[],rids:[],ssrcs:n,ssrcGroups:r,rtcpFeedbackWildcards:[],payloads:a,rtcp:{port:"9",netType:"IN",addressType:"IP4",address:"0.0.0.0"},setup:this.setup,direction:i,rtcpMux:!0,rtcpRsize:!0,mid:"".concat(l)}};u=this.mungSendMediaDesc(u,o);const d=this.findFirstClosedMedia(t);if(d){const f=this.sessionDesc.mediaDescriptions.indexOf(d);this.sessionDesc.mediaDescriptions[f]=u}else this.sessionDesc.mediaDescriptions.push(u);return u}updateBundleMids(){this.sessionDesc.attributes.groups[0].identificationTag=this.sessionDesc.mediaDescriptions.filter((t=>t.media.port!=="0")).map((t=>t.attributes.mid))}mungRecvMediaDsec(t,n,r){const i=Lr(t);return AI(i),wp(i,n),CI(i,n),u$(i),R4(i,r,this.localCapabilities.send),i}mungSendMediaDesc(t,n){const r=Lr(t);return R4(r,n,this.localCapabilities.recv),Tp(r),r}updateRecvMedia(t,n){const r=this.sessionDesc.mediaDescriptions.findIndex((i=>i.attributes.mid===t));if(r!==-1){const i=this.mungRecvMediaDsec(this.sessionDesc.mediaDescriptions[r],n);this.sessionDesc.mediaDescriptions[r]=i}}bumpMid(t){this.currentMidIndex+=t}findFirstClosedMedia(t){return this.sessionDesc.mediaDescriptions.find((n=>Er()?n.media.port==="0"&&n.media.mediaType===t:n.media.port==="0"))}findPreloadMediaDesc(t){return this.sessionDesc.mediaDescriptions.find((n=>{var r;return((r=n.attributes)===null||r===void 0||(r=r.ssrcs[0])===null||r===void 0?void 0:r.ssrcId)===t[0].ssrcId}))}getSSRC(t){var n;return(n=this.sessionDesc.mediaDescriptions.find((r=>r.attributes.mid===t)))===null||n===void 0?void 0:n.attributes.ssrcs}}function DU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function zl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?DU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let Sm=(function(e){return e.BANDWIDTH="bandwidth",e.CPU="cpu",e.NONE="none",e.OTHER="other",e})({});var Yh=(function(e){return e[e.DOWN=0]="DOWN",e[e.UP=1]="UP",e})(Yh||{});const x4=new Map;function LU(e,t,n,r){let{scale:i}=e;if(i===0&&r===Yh.UP||i>=t.length-1&&r===Yh.DOWN)return e;let o=zl(zl({},e),{},{scale:r===Yh.DOWN?++i:--i});switch(n){case"maintain-framerate":o=zl(zl({},o),t[i].motion);break;case"maintain-resolution":o=zl(zl({},o),t[i].detail);break;case"balanced":o=zl(zl({},o),t[i].balanced)}return o}function O$(e,t){if(t){const n={overUse:0,underUse:0,adaptationList:_$(t)};x4.set(e,n)}else x4.delete(e)}function _$(e){const t=zl({},e),{bitrateMax:n,frameRate:r,scaleResolutionDownBy:i,bitrateMin:o}=t,{MIN_FRAME_RATE:s,MAX_THRESHOLD_FRAMERATE:a,MAX_SCALE:c,BITRATE_MIN_THRESHOLD:l,BITRATE_MAX_THRESHOLD:u,BWE_SCALE_UP_THRESHOLD:d,BWE_SCALE_DOWN_THRESHOLD:f,PERF_SCALE_DOWN_THRESHOLD:h,PERF_SCALE_UP_THRESHOLD:p,BALANCE_BITRATE_FACTOR:g,BALANCE_FRAMERATE_FACTOR:m,BALANCE_RESOLUTION_FACTOR:y,MOTION_RESOLUTION_FACTOR:v,MOTION_BITRATE_FACTOR:E,DETAIL_FRAMERATE_FACTOR:b,DETAIL_BITRATE_FACTOR:S}=dI,w=Math.min(t.frameRate,a),C=[{scale:0,threshold:{bwe_down:Math.round(Math.pow(f,1)*n),bwe_up:n,fps_down:Math.round(Math.pow(h,1)*w),fps_up:r},balanced:{scaleResolutionDownBy:1,frameRate:r,bitrateMax:n,bitrateMin:o},motion:{scaleResolutionDownBy:1,frameRate:r,bitrateMax:n,bitrateMin:o},detail:{scaleResolutionDownBy:1,frameRate:r,bitrateMax:n,bitrateMin:o}}];for(let _=1;_<=c;_++){const I={bwe_up:Math.round(Math.pow(d,_)*n),bwe_down:Math.round(Math.pow(f,_+1)*n),fps_up:Math.round(Math.pow(p,_)*w),fps_down:Math.round(Math.pow(h,_+1)*w)},O={scaleResolutionDownBy:i/Math.pow(y,_),frameRate:Math.max(Math.round(Math.pow(m,_)*r),s),bitrateMax:Math.max(Math.round(Math.pow(g,_)*n),u),bitrateMin:Math.max(Math.round(Math.pow(g,_)*o),l)},L={scaleResolutionDownBy:i/Math.pow(v,_),frameRate:r,bitrateMax:Math.max(Math.round(Math.pow(E,_)*n),u),bitrateMin:Math.max(Math.round(Math.pow(E,_)*o),l)},R={scaleResolutionDownBy:1,frameRate:Math.max(Math.round(Math.pow(b,_)*r),s),bitrateMax:Math.max(Math.round(Math.pow(S,_)*n),u),bitrateMin:Math.max(Math.round(Math.pow(S,_)*o),l)};C.push({scale:_,threshold:I,balanced:O,motion:L,detail:R})}return C}function lFe(e,t,n,r,i,o){const s=x4.get(e)||{overUse:0,underUse:0,adaptationList:_$(i)},{adaptationList:a}=s;x4.set(e,s);const{OVERUSE_TIMES_THRESHOLD:c,UNDERUSE_TIMES_THRESHOLD:l}=dI,{scale:u}=r;let d,f;return typeof t=="number"&&t>0&&(function(h,p,g,m){if(p>=g.length)return!1;let{threshold:{fps_down:y}}=g[p];return he("FORCE_AG_HIGH_FRAMERATE")&&m==="maintain-framerate"&&(y=g[0].threshold.fps_down),h<y})(t,u,a,o)&&(s.overUse++,f=Sm.CPU,s.overUse>c)||typeof n=="number"&&n>0&&(function(h,p,g){if(p>=g.length)return!1;const{threshold:{bwe_down:m}}=g[p];return h<m})(n,u,a)&&(s.overUse++,f=Sm.BANDWIDTH,s.overUse>c)?(s.overUse=0,s.underUse=0,d=LU(r,a,o,Yh.DOWN),[d,f]):(typeof t=="number"&&t>0&&typeof n=="number"&&n>0&&(function(h,p,g,m){if(p===0)return;let{threshold:{fps_up:y}}=g[p];return he("FORCE_AG_HIGH_FRAMERATE")&&m==="maintain-framerate"&&(y=g[1].threshold.fps_up),h>y})(t,u,a,o)&&(function(h,p,g){if(p===0)return;const{threshold:{bwe_up:m}}=g[p];return h>m})(n,u,a)&&(s.underUse++,s.underUse>l&&(s.overUse=0,s.underUse=0,d=LU(r,a,o,Yh.UP),d.scale===0&&(f=Sm.NONE))),[d,f])}function NU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function bE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?NU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):NU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function uFe(e){var t;return!!he("ENABLE_AG_ADAPTATION")&&!!(e instanceof iC||lt(t=e._hints).call(t,nr.CUSTOM_TRACK))&&(!!he("FORCE_SUPPORT_AG_ADAPTATION")||!!((function(n){const r=an();if(r.os!==ii.IOS||!r.osVersion)return!1;const i=r.osVersion.split(".");return Number(i[0])>=n})(14)&&cq(17,4)||aq(14)&&lq(17,4,!0)))}const D4=new Map;function C5(e,t){const n=D4.get(e);if(n){const{timer:r}=n;window.clearTimeout(r),D4.delete(e)}t.qualityLimitationReason=Sm.NONE,O$(e)}var tn;function MU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Nc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?MU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}let Za=(tn=class V1 extends Tq{get currentLocalDescription(){return this.peerConnection.currentLocalDescription}get currentRemoteDescription(){return this.peerConnection.currentRemoteDescription}get peerConnectionState(){return this.peerConnection.connectionState}get iceConnectionState(){return this.peerConnection.iceConnectionState}get dtlsTransportState(){var t,n;return(t=(n=this.peerConnection.getReceivers()[0])===null||n===void 0||(n=n.transport)===null||n===void 0?void 0:n.state)!==null&&t!==void 0?t:null}get localCodecs(){return[...new Set(this.localCapabilities&&this.localCapabilities.send.videoCodecs.map((t=>t.rtpMap&&t.rtpMap.encodingName.toLowerCase()||"")).filter((t=>{var n;return lt(n=Object.keys(f6)).call(n,t)})))]}constructor(t,n){super(t,n),H(this,"store",void 0),H(this,"peerConnection",void 0),H(this,"id",Wn(5,"connection-")),H(this,"remoteSDP",void 0),H(this,"initialOffer",void 0),H(this,"transportEventReceiver",void 0),H(this,"statsFilter",void 0),H(this,"extension",{useXR:he("USE_XR")}),H(this,"localCapabilities",void 0),H(this,"remoteCodecs",void 0),H(this,"localCandidateCount",0),H(this,"allCandidatesReceived",!1),H(this,"isPreallocation",!1),H(this,"preSSRCMap",new Map),H(this,"dataStreamChannelMap",new Map),H(this,"establishPromise",void 0),H(this,"recoveredDataChannelIds",[]),H(this,"currentDataChannelId",1),H(this,"mutex",new Hi("P2PConnection-mutex")),H(this,"qualityLimitationReason",Sm.NONE),this.store=n,this.peerConnection=new RTCPeerConnection(V1.resolvePCConfiguration(t),{optional:[{googDscp:!0}]}),this.statsFilter=RI(this.peerConnection,he("STATS_UPDATE_INTERVAL"),void 0,Er()?1200:void 0),this.bindPCEvents(),this.bindStatsEvents(),this.store.p2pId=this.store.p2pId+1,this.establishPromise=this.establish()}getPreMedia(t){const n=this.preSSRCMap.get(t);if(n!==void 0){const r=this.peerConnection.getTransceivers().find((i=>i.mid===n));if(r)return{transceiver:r,track:r.receiver.track,id:n}}}async updateRemoteRTPCapabilities(t,n){if(this.remoteCodecs=n,!this.remoteSDP)return void D.debug("[P2PConnection] cannot updateRemoteRTPCapabilities before remote SDP created, local codecs: ".concat(this.localCodecs,", codecs: ").concat(n));if(this.remoteSDP.updateRemoteCodec(t,n,this.store.codec)){const r=await this.peerConnection.createOffer(),i=this.logSDPExchange(r.sdp||"","offer","local","muteLocal");await this.peerConnection.setLocalDescription(r);const o=this.remoteSDP.toString();i==null||i(o),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}else D.debug("[P2PConnection] updateRemoteRTPCapabilities no need to exchange SDP.")}async establish(){try{this.peerConnection.addTransceiver("video",{direction:"recvonly"}),this.peerConnection.addTransceiver("audio",{direction:"recvonly"});const t=await this.peerConnection.createOffer();if(!t.sdp)throw new Error("Cannot get initialOffer.sdp when trying to establish PeerConnection.");const n=Cd(t.sdp),r=await f$({filterRTX:!he("USE_PUB_RTX")&&!he("USE_SUB_RTX"),filterVideoFec:he("FILTER_VIDEO_FEC"),filterAudioFec:he("FILTER_AUDIO_FEC"),filterVideoCodec:he("FILTER_VIDEO_CODEC")},this.extension);return this.localCapabilities=k4(r),this.initialOffer=t,Nc(Nc({},n),{},{rtpCapabilities:r,offerSDP:t.sdp})}catch(t){throw new Be(Q.GET_LOCAL_CONNECTION_PARAMS_FAILED,t.toString())}}async connect(t){try{if(!this.initialOffer)throw new Error("Cannot establish P2PConnection without initial offer.");this.remoteSDP=new cFe(Nc(Nc({},t),{},{localCapabilities:this.localCapabilities})),t.preallocation&&(this.isPreallocation=!0),Array.isArray(this.remoteCodecs)&&this.remoteCodecs.length>0&&this.remoteSDP.updateRemoteCodec([],this.remoteCodecs,this.store.codec);const n=this.remoteSDP.toString(),r=h$(this.initialOffer.sdp,this.extension),i=this.logSDPExchange(r||"","offer","local","connect");this.store.descriptionStart(),await this.peerConnection.setLocalDescription({type:"offer",sdp:r}),i==null||i(n),await this.peerConnection.setRemoteDescription({type:"answer",sdp:n});const o=this.peerConnection.getTransceivers()[0];if(o!=null&&o.receiver&&this.tryBindTransportEvents(o.receiver),he("PRELOAD_MEDIA_COUNT")>0){this.remoteSDP.preloadRemoteMedia(he("PRELOAD_MEDIA_COUNT"));const a=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"offer",sdp:a});const c=await this.peerConnection.createAnswer();await this.peerConnection.setLocalDescription(c)}const{preSSRCs:s}=t;if(Array.isArray(s)&&s.length>0){const{mids:a}=this.remoteSDP.batchSend(s.map((c=>({kind:c.kind,ssrcMsg:[{ssrcId:c.ssrcId,rtx:c.rtx}],mslabel:c.mslabel}))));a.forEach(((c,l)=>{this.preSSRCMap.set(s[l].ssrcId,c)})),await y5(this.peerConnection,this.remoteSDP,this.extension),D.debug("[".concat(this.store.clientId,"] [P2PConnection] pre-batchReceive exchange SDP."))}}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.connect failed; ".concat(n.toString()))}}async updateRemoteConnect(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.updateRemoteConnect before remote SDP created");const{rtpCapabilities:n}=t;this.remoteSDP.updateRemoteRTPCapabilities(n),Array.isArray(this.remoteCodecs)&&this.remoteCodecs.length>0&&this.remoteSDP.updateRemoteCodec([],this.remoteCodecs,this.store.codec);const{preSSRCs:r}=t;if(Array.isArray(r)&&r.length>0){const{mids:i}=this.remoteSDP.batchSend(r.map((o=>Object.assign({},{kind:o.kind,ssrcMsg:[{ssrcId:o.ssrcId,rtx:o.rtx}],mslabel:o.mslabel}))));i.forEach(((o,s)=>{this.preSSRCMap.set(r[s].ssrcId,o)}))}await y5(this.peerConnection,this.remoteSDP,this.extension),D.debug("[P2PConnection] updateRemoteRTPCapabilities by exchanging SDP.")}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.updateRemoteConnect failed; ".concat(n.toString()))}}send(t,n,r){var i=this;return cc((function*(){const o=yield mn(i.mutex.lock("From P2PConnection.send"));try{if(!i.remoteSDP)throw new Error("Cannot call P2PConnection.send before remote SDP created");const s=[];t.forEach((g=>{const m=i.peerConnection.addTransceiver(g._mediaStreamTrack,{direction:"sendonly"});s.push(m),g._updateRtpTransceiver(m)})),Er()&&he("SIMULCAST")===!0&&(yield mn(i.applySimulcastForFirefox(s,t)));const a=yield mn(i.peerConnection.createOffer()),c=i.remoteSDP.predictReceivingMids(t.length),l=i.mungSendOfferSDP(a.sdp,t,c),u=gi.parse(l),d=c.map((g=>{const m=u.mediaDescriptions.find((y=>y.attributes.mid===g));if(!m)throw new Error("Cannot extract ssrc from mediaDescription.");return c$(m,he("USE_PUB_RTX"))}));let f;try{f=yield d}catch(g){f=[],i.remoteSDP.receive(t,n,r,f);const m=i.remoteSDP.toString();throw yield mn(i.peerConnection.setLocalDescription({type:"offer",sdp:l})),yield mn(i.peerConnection.setRemoteDescription({type:"answer",sdp:m})),yield mn(i.stopSending(c,!0)),g}i.remoteSDP.receive(t,n,r,f);const h=i.remoteSDP.toString(),p=i.logSDPExchange(l,"offer","local","send");return yield mn(i.peerConnection.setLocalDescription({type:"offer",sdp:l})),yield mn(i.applySimulcastEncodings(s,t)),yield mn(i.applySendEncodings(s,t)),p==null||p(h),yield mn(i.peerConnection.setRemoteDescription({type:"answer",sdp:h})),s.map(((g,m)=>{const y=c[m];return{localSSRC:d[m],id:y,transceiver:g}}))}catch(s){throw s instanceof Be?s:new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.send failed; ".concat(s.toString()))}finally{o()}}))()}async createDataChannels(t,n){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.createDataChannels before remote SDP created");let r=this.dataStreamChannelMap.get(t);if(r&&r.readyState==="open")D.debug("[P2PConnection] Channels are already available and can be reused directly.");else{const o=this.currentDataChannelId<1023?this.currentDataChannelId++:this.recoveredDataChannelIds.shift();if(typeof o!="number")throw new Error("create DataChannel error, because cannot get dc id");r=this.peerConnection.createDataChannel("datastream-channel",{id:o,negotiated:!0,ordered:!1,maxRetransmits:he("DATASTREAM_MAX_RETRANSMITS")}),r.binaryType="arraybuffer",this.dataStreamChannelMap.set(t,r)}n.forEach((o=>{o._updateOriginDataChannel(r)}));const{needExchangeSDP:i}=this.remoteSDP.sendDataChannel();if(i){const o=this.remoteSDP.toString();await this.peerConnection.setRemoteDescription({type:"offer",sdp:o});const s=await this.peerConnection.createAnswer();await this.peerConnection.setLocalDescription(s),D.debug("[P2PConnection] createDataChannels by exchanging SDP.")}else D.debug("[P2PConnection] createDataChannels no need to exchange SDP.");return}catch(r){throw r instanceof Be?r:new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.createDataChannels failed; ".concat(r.toString()))}}async stopDataChannels(t){try{const n=this.dataStreamChannelMap.get(t);return n&&(n.id&&this.recoveredDataChannelIds.push(n.id),n.close()),void this.dataStreamChannelMap.delete(t)}catch(n){throw n instanceof Be?n:new Be(Q.DATACHANNEL_FAILED,"P2PConnection.stopDataChannels failed; ".concat(n.toString()))}}async stopSending(t,n){const r=n?void 0:await this.mutex.lock("From P2PConnection.stopSending");try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopSending before remote SDP created");const i=this.peerConnection.getTransceivers().filter((c=>t.indexOf(c.mid)!==-1));if(i.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length when trying to call P2PConnection.stopSending.");i.map((c=>{var l;C5(this.id+c.mid,this),c.direction="inactive",(l=c.stop)===null||l===void 0||l.call(c)}));const o=await this.peerConnection.createOffer(),s=this.logSDPExchange(o.sdp||"","offer","local","stopSending");await this.peerConnection.setLocalDescription(o),this.remoteSDP.stopReceiving(t);const a=this.remoteSDP.toString();s==null||s(a),await this.peerConnection.setRemoteDescription({type:"answer",sdp:a})}catch(i){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.stopSending failed; ".concat(i.toString()))}finally{r&&r()}}async receive(t,n,r,i){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.receive ".concat(t," before remoteSDP created."));const{mid:o,needExchangeSDP:s}=this.remoteSDP.send(t,n,r,i);s&&(await y5(this.peerConnection,this.remoteSDP,this.extension),D.debug("[".concat(this.store.clientId,"] [P2PConnection] receive ").concat(t," by exchanging SDP.")));const a=this.peerConnection.getTransceivers().find((c=>c.mid===o));if(!a)throw new Error("Cannot get transceiver after setLocalDescription.");return{track:a.receiver.track,id:o,transceiver:a}}catch(o){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(o.toString()))}}async batchReceive(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.batchReceive before remoteSDP created.");const{mids:n,needExchangeSDP:r}=this.remoteSDP.batchSend(t);return r&&(await y5(this.peerConnection,this.remoteSDP,this.extension),D.debug("[".concat(this.store.clientId,"] [P2PConnection] batchReceive by exchanging SDP."))),n.map((i=>{const o=this.peerConnection.getTransceivers().find((s=>s.mid===i));if(!o)throw new Error("Cannot get transceiver after setLocalDescription.");return{track:o.receiver.track,id:i,transceiver:o}}))}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.receive failed; ".concat(n.toString()))}}async stopReceiving(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.stopReceiving before remote SDP created.");t.forEach((o=>{Array.from(this.preSSRCMap.entries()).some((s=>{let[a,c]=s;if(c===o)return this.preSSRCMap.delete(a),!0}))})),this.remoteSDP.stopSending(t);const n=this.remoteSDP.toString(),r=this.logSDPExchange(n,"offer","remote","stopReceiving");await this.peerConnection.setRemoteDescription({type:"offer",sdp:n});const i=await this.peerConnection.createAnswer();r==null||r(i.sdp||""),await this.peerConnection.setLocalDescription(i)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection stopReceiving failed; ".concat(n.toString()))}}async muteRemote(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.muteRemote mid=".concat(t," before remote SDP created."));this.remoteSDP.mute(t);const n=this.remoteSDP.toString(),r=this.logSDPExchange(n,"offer","remote","muteRemote");await this.peerConnection.setRemoteDescription({type:"offer",sdp:n});const i=await this.peerConnection.createAnswer();r==null||r(i.sdp||""),await this.peerConnection.setLocalDescription(i)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.muteRemote failed; ".concat(n.toString()))}}async unmuteRemote(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.unmuteRemote mid=".concat(t," before remote SDP created."));this.remoteSDP.unmute(t);const n=this.remoteSDP.toString(),r=this.logSDPExchange(n,"offer","remote","unmuteRemote");await this.peerConnection.setRemoteDescription({type:"offer",sdp:n});const i=await this.peerConnection.createAnswer();r==null||r(i.sdp||""),await this.peerConnection.setLocalDescription(i)}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.unmuteRemote failed; ".concat(n.toString()))}}async muteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.muteLocal before remote SDP created.");const n=this.peerConnection.getTransceivers().filter((s=>s.mid&&t.indexOf(s.mid)!==-1));if(n.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length.");n.map((s=>{s.direction="inactive"}));const r=await this.peerConnection.createOffer(),i=this.logSDPExchange(r.sdp||"","offer","local","muteLocal");await this.peerConnection.setLocalDescription(r),this.remoteSDP.muteRemote(t);const o=this.remoteSDP.toString();i==null||i(o),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.muteLocal failed; ".concat(n.toString()))}}async unmuteLocal(t){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.unmuteLocal before remote SDP created.");const n=this.peerConnection.getTransceivers().filter((s=>s.mid&&t.indexOf(s.mid)!==-1));if(n.length!==t.length)throw new Error("Transceivers' length doesn't match mids' length.");n.map((async(s,a)=>{s.direction="sendonly"}));const r=await this.peerConnection.createOffer(),i=this.logSDPExchange(r.sdp||"","offer","local","unmuteLocal");await this.peerConnection.setLocalDescription(r),this.remoteSDP.unmuteRemote(t);const o=this.remoteSDP.toString();i==null||i(o),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}catch(n){throw new Be(Q.EXCHANGE_SDP_FAILED,"P2PConnection.unmuteLocal failed; ".concat(n.toString()))}}restartICE(t){var n=this;return cc((function*(){const r=yield mn(n.mutex.lock("From P2PConnection.restartICE"));try{if(!n.remoteSDP)throw new Error("Cannot restartICE before remoteSDP created.");if(fn().supportPCSetConfiguration){const l=n.peerConnection.getConfiguration(),u=t===ls.RELAY?"relay":"all";l.iceTransportPolicy!==u&&(D.debug("[".concat(n.store.clientId,"] restartICE change iceTransportPolicy from [").concat(l.iceTransportPolicy,"] to [").concat(u,"]")),l.iceTransportPolicy=u,n.peerConnection.setConfiguration(l))}else if(t===ls.RELAY)return;n.remoteSDP.updateCandidates(t);const i=yield mn(n.peerConnection.createOffer({iceRestart:!0}));if(!i.sdp)throw new Error("Cannot restartICE because restart offer SDP does not exist.");const o=Cd(i.sdp),{remoteIceParameters:s}=yield o.iceParameters;n.remoteSDP.restartICE(s);const a=n.remoteSDP.toString(),c=n.logSDPExchange(i.sdp||"","offer","local","restartICE");n.store.descriptionStart(),yield mn(n.peerConnection.setLocalDescription(i)),c==null||c(a),yield mn(n.peerConnection.setRemoteDescription({type:"answer",sdp:a}))}catch(i){D.warning("[".concat(n.store.clientId,"] restart ICE failed, abort operation"),i)}finally{r()}}))()}close(){var t;this.peerConnection.getTransceivers().forEach((n=>{C5(this.id+n.mid,this)})),this.preSSRCMap.clear(),this.peerConnection.close(),(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,"closed"),this.tryUnbindTransportEvents(),this.unbindPCEvents(),this.unbindStatsEvents(),this.removeAllListeners(),this.transportEventReceiver=void 0,this.statsFilter.destroy(),this.dataStreamChannelMap.clear(),this.recoveredDataChannelIds=[],this.currentDataChannelId=1}getStats(){return Nc(Nc({},this.statsFilter.getStats()),{},{qualityLimitationReason:this.qualityLimitationReason})}getRemoteVideoIsReady(t){return this.statsFilter.getVideoIsReady(t)}async updateEncoderConfig(t,n){try{if(!this.remoteSDP)throw new Error("Cannot call P2PConnection.updateEncoderConfig before remote SDP created.");const r=await this.peerConnection.createOffer(),i=this.mungSendOfferSDP(r.sdp,[n],[t]);this.remoteSDP.updateRecvMedia(t,n);const o=this.remoteSDP.toString(),s=this.logSDPExchange(i,"offer","local","updateEncoderConfig");await this.peerConnection.setLocalDescription({type:"offer",sdp:i}),s==null||s(o),await this.peerConnection.setRemoteDescription({type:"answer",sdp:o})}catch(r){throw new Be(Q.EXCHANGE_SDP_FAILED,r.toString())}}async updateSendParameters(t,n){const r=this.peerConnection.getTransceivers().filter((i=>i.mid===t));r.length===1&&(this.isVP8Simulcast(n)?Er()||await this.applySimulcastEncodings(r,[n]):await this.applySendEncodings(r,[n]))}setStatsRemoteVideoIsReady(t,n){this.statsFilter.setVideoIsReady2(t,n)}async replaceTrack(t,n){const r=this.peerConnection.getTransceivers().find((i=>i.mid===n));r&&await r.sender.replaceTrack(t._mediaStreamTrack)}async getSelectedCandidatePair(){const t=this.peerConnection.getReceivers();if(t.length>0&&t[0].transport&&t[0].transport.iceTransport&&t[0].transport.iceTransport.getSelectedCandidatePair&&t[0].transport.iceTransport.getSelectedCandidatePair()){const n=t[0].transport.iceTransport,{local:r,remote:i}=n.getSelectedCandidatePair();return{local:Nc(Nc({},ml),{},{candidateType:r.type,protocol:r.protocol,address:r.address,port:r.port}),remote:Nc(Nc({},ml),{},{candidateType:i.type,protocol:i.protocol,address:i.address,port:i.port})}}return this.statsFilter.getSelectedCandidatePair()}bindPCEvents(){this.peerConnection.oniceconnectionstatechange=()=>{var t;(t=this.onICEConnectionStateChange)===null||t===void 0||t.call(this,this.peerConnection.iceConnectionState)},this.peerConnection.onconnectionstatechange=()=>{var t;(t=this.onConnectionStateChange)===null||t===void 0||t.call(this,this.peerConnection.connectionState)},this.peerConnection.onicecandidate=t=>{t.candidate?this.localCandidateCount+=1:(this.peerConnection.onicecandidate=null,this.allCandidatesReceived=!0,D.debug("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] local candidate count"),this.localCandidateCount))},setTimeout((()=>{this.allCandidatesReceived||(this.allCandidatesReceived=!0,D.debug("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] onicecandidate timeout, local candidate count"),this.localCandidateCount))}),he("CANDIDATE_TIMEOUT"))}unbindPCEvents(){this.peerConnection.oniceconnectionstatechange=null,this.peerConnection.onconnectionstatechange=null,this.peerConnection.onsignalingstatechange=null,this.peerConnection.onicecandidateerror=null,this.peerConnection.onicecandidate=null,this.peerConnection.ontrack=null}static resolvePCConfiguration(t){const n={iceServers:[]};return t.iceServers?n.iceServers=t.iceServers:t.turnServer&&t.turnServer.mode!=="off"&&(l6(t.turnServer.servers)?n.iceServers=t.turnServer.servers:(n.iceServers&&n.iceServers.push(...V1.turnServerConfigToIceServers(t.turnServer.servers)),he("USE_TURN_SERVER_OF_GATEWAY")&&n.iceServers&&t.turnServer.serversFromGateway&&n.iceServers.push(...V1.turnServerConfigToIceServers(t.turnServer.serversFromGateway)),he("FORCE_TURN_TCP")?n.iceTransportPolicy="relay":t.turnServer.servers.concat(t.turnServer.serversFromGateway||[]).forEach((r=>{r.forceturn&&(n.iceTransportPolicy="relay")})))),he("ENABLE_ENCODED_TRANSFORM")&&fn().supportWebRTCEncodedTransform&&(n.encodedInsertableStreams=!0),n}static turnServerConfigToIceServers(t){const n=[];return t.forEach((r=>{r.security?r.tcpport&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turns:".concat(Oh(r.turnServerURL),":").concat(r.tcpport,"?transport=tcp")}):(r.udpport&&!he("FORCE_TURN_TCP")&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turn:".concat(r.turnServerURL,":").concat(r.udpport,"?transport=udp")}),r.tcpport&&n.push({username:r.username,credential:r.password,credentialType:"password",urls:"turn:".concat(r.turnServerURL,":").concat(r.tcpport,"?transport=tcp")}))})),n}tryBindTransportEvents(t){const n=t.transport;if(n){this.transportEventReceiver=t,n.onstatechange=()=>{var i;n!=null&&n.state&&((i=this.onDTLSTransportStateChange)===null||i===void 0||i.call(this,n.state))},n.onerror=i=>{var o;(o=this.onDTLSTransportError)===null||o===void 0||o.call(this,"error"in i?i.error:i)};const r=n.iceTransport;r&&(r.onstatechange=()=>{const i=n==null?void 0:n.iceTransport.state;var o;i&&((o=this.onICETransportStateChange)===null||o===void 0||o.call(this,i))},r.getSelectedCandidatePair&&(r.onselectedcandidatepairchange=()=>{if(r.getSelectedCandidatePair()){const{local:i,remote:o}=r.getSelectedCandidatePair();D.info("[".concat(this.store.clientId,"] [pc-").concat(this.store.p2pId,"] selectedcandidatepairchange: local ").concat(JSON.stringify({candidateType:i.type,protocol:i.protocol}),", remote ").concat(JSON.stringify({candidateType:o.type,protocol:o.protocol,address:o.address,port:o.port})," )"))}}))}}tryUnbindTransportEvents(){this.transportEventReceiver&&this.transportEventReceiver.transport&&(this.transportEventReceiver.transport.onstatechange=null,this.transportEventReceiver.transport.onerror=null,this.transportEventReceiver.transport.iceTransport&&(this.transportEventReceiver.transport.iceTransport.onstatechange=null))}async updateRtpSenderEncodings(t,n){var r,i;if(n||(n=this.peerConnection.getSenders().find((m=>m.track===t._mediaStreamTrack))),!n)return D.warn("[".concat(t.getTrackId(),"] no rtpSender found}"));if(this.isVP8Simulcast(t))return D.warn("[updateRtpSenderEncodings] Track is VP8 simulcast, please apply simulcast encodings");if(!fn().supportSetRtpSenderParameters)return D.warn("[updateRtpSenderEncodings] Browser not support set rtp-sender parameters");const o={},s={};switch(t._optimizationMode){case"motion":o.degradationPreference="maintain-framerate";break;case"detail":o.degradationPreference="maintain-resolution";break;case"balanced":o.degradationPreference="balanced"}const a=(function(g,m){return g.getTransceivers().find((y=>y.sender.track===m||y.receiver.track===m))})(this.peerConnection,t._mediaStreamTrack),c=wBe(t);if(uFe(t)&&a&&n&&c&&this.getLocalVideoStats&&lt(r=["vp8","vp9"]).call(r,this.store.codec)){var l;const g=o.degradationPreference||(lt(l=t._hints).call(l,nr.CUSTOM_TRACK)?he("CUSTOM_ADAPTATION_DEFAULT_MODE"):"maintain-framerate");(function(m,y,v,E,b,S){if(C5(m,v),b(y),E!=="balanced"&&E!=="maintain-framerate"&&E!=="maintain-resolution")return;let w=-1;O$(m,y);const C=window.setInterval((()=>{const I=D4.get(m);if(!he("ENABLE_AG_ADAPTATION")||!I)return C5(m,v),void b(y);const O=S();if(O.sendPackets>0&&O.OutgoingAvailableBandwidth>0){if(w===-1)return void(w=Date.now());if(Date.now()-w<1e3)return;const L=O.sendFrameRate,R=O.OutgoingAvailableBandwidth,[F,W]=lFe(m,L,R,I.adaptationConfig,y,E);W&&(v.qualityLimitationReason=W),F&&I.adaptationConfig.scale!==F.scale&&(D.debug("[".concat(m,"] applyAdaptation: ").concat(v.qualityLimitationReason,`
sendFps `).concat(L,", bwe ").concat(R,", switch from ").concat(I.adaptationConfig.scale," to ").concat(F.scale," ")),I.adaptationConfig=bE(bE({},I.adaptationConfig),F),b(F))}}),he("CHECK_LOCAL_STATS_INTERVAL")),_=bE({},y);D4.set(m,{timer:C,adaptationConfig:_,originConfig:y,adaptationFunc:b}),D.debug("[".concat(m,"] start adaptation, originConfig: ").concat(JSON.stringify(y),", degradationPreference: ").concat(E))})(this.id+a.mid,c,this,g,(m=>{n&&this.updateAdaptation(n,m)}),this.getLocalVideoStats.bind(this))}if(t._encoderConfig){var u;const{bitrateMax:g,frameRate:m,scaleResolutionDownBy:y}=t._encoderConfig;g&&(s.maxBitrate=1e3*g),(lt(u=t._hints).call(u,nr.LOW_STREAM)||t.isUseScaleResolutionDownBy)&&(m&&(s.maxFramerate=hs(m)),y&&y>=1&&(s.scaleResolutionDownBy=y))}const{maxFramerate:d}=he("ENCODER_CONFIG_LIMIT");if(d&&typeof d=="number"&&(s.maxFramerate=s.maxFramerate?Math.min(s.maxFramerate,d):d),he("DSCP_TYPE")&&Bd()){var f;const g=he("DSCP_TYPE");lt(f=["very-low","low","medium","high"]).call(f,g)&&(s.networkPriority=g)}const h=n.getParameters(),p=(i=h.encodings)===null||i===void 0?void 0:i[0];Er()&&!p&&(o.encodings=[s]),p&&Object.assign(p,s),Object.assign(h,o),D.debug("[".concat(t.getTrackId(),"] updateRtpSenderEncodings: ").concat(JSON.stringify(h.encodings))),await n.setParameters(h),await(async function(g,m,y){try{var v;if(!fn().supportSetRtpSenderParameters||!(function(C){return C==="vp9"})(g)||!he("ENABLE_SVC"))return;const E={},b={},S=m.getParameters(),w=(v=S.encodings)===null||v===void 0?void 0:v[0];b.scalabilityMode=oC(y),w&&Object.assign(w,b),Object.assign(S,E),await m.setParameters(S),D.debug("[updateAdaptation] updateRtpSenderEncodings scalabilityMode success: ".concat(JSON.stringify(S.encodings)))}catch(E){D.debug("[updateAdaptation] updateRtpSenderEncodings scalabilityMode failed",E)}})(this.store.codec,n,he("SVC_MODE"))}async updateAdaptation(t,n){var r,i;if(!t)return D.debug("[updateAdaptation] no rtpSender found");if(!fn().supportSetRtpSenderParameters)return D.debug("[updateAdaptation] Browser not support set rtp-sender parameters");const o={},{bitrateMax:s,frameRate:a,scaleResolutionDownBy:c}=n;s&&(o.maxBitrate=1e3*s),a&&(o.maxFramerate=hs(a)),c&&c>=1&&lt(r=["vp8","vp9"]).call(r,this.store.codec)&&(o.scaleResolutionDownBy=c);const l=t.getParameters(),u=(i=l.encodings)===null||i===void 0?void 0:i[0];u&&Object.assign(u,o),Object.assign(l,{});try{await t.setParameters(l),D.debug("[updateAdaptation] updateRtpSenderEncodings: ".concat(JSON.stringify(l.encodings)))}catch(d){!("transport"in t)||t.transport&&t.transport.state==="connected"?this.peerConnectionState!=="connected"?D.debug("[updateAdaptation] peerConnection not connected}"):D.debug("[updateAdaptation] updateRtpSenderEncodings failed",d):D.debug("[updateAdaptation] rtpSender transport not connected}")}}async applySendEncodings(t,n){try{if(!fn().supportSetRtpSenderParameters||t.length!==n.length)return;for(let r=0;r<t.length;r++){const i=t[r],o=n[r];o instanceof Kn&&!this.isVP8Simulcast(o)&&await this.updateRtpSenderEncodings(o,i.sender)}}catch{D.debug("[".concat(this.store.clientId,"] Apply RTPSendEncodings failed."))}}mungSendOfferSDP(t,n,r){const i=gi.parse(t);return n.forEach(((o,s)=>{const a=r[s],c=i.mediaDescriptions.find((l=>l.attributes.mid===a));c&&(wp(c,o),d$(c,o,this.store.codec))})),gi.print(i)}bindStatsEvents(){this.statsFilter.onFirstAudioReceived=t=>{var n;(n=this.onFirstAudioReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoReceived=t=>{var n;(n=this.onFirstVideoReceived)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstAudioDecoded=t=>{var n;(n=this.onFirstAudioDecoded)===null||n===void 0||n.call(this,t)},this.statsFilter.onFirstVideoDecoded=(t,n,r)=>{var i;(i=this.onFirstVideoDecoded)===null||i===void 0||i.call(this,t,n,r)},this.statsFilter.onSelectedLocalCandidateChanged=(t,n)=>{var r;(r=this.onSelectedLocalCandidateChanged)===null||r===void 0||r.call(this,t,n)},this.statsFilter.onSelectedRemoteCandidateChanged=(t,n)=>{var r;(r=this.onSelectedRemoteCandidateChanged)===null||r===void 0||r.call(this,t,n)},this.statsFilter.onFirstVideoDecodedTimeout=t=>{var n;(n=this.onFirstVideoDecodedTimeout)===null||n===void 0||n.call(this,t)}}unbindStatsEvents(){this.statsFilter.onFirstAudioReceived=void 0,this.statsFilter.onFirstVideoReceived=void 0,this.statsFilter.onFirstAudioDecoded=void 0,this.statsFilter.onFirstVideoDecoded=void 0,this.statsFilter.onSelectedLocalCandidateChanged=void 0,this.statsFilter.onSelectedRemoteCandidateChanged=void 0,this.statsFilter.onFirstVideoDecodedTimeout=void 0}async applySimulcastForFirefox(t,n){if(t.length===n.length)for(let c=0;c<t.length;c++){var r,i,o,s,a;const l=t[c],u=n[c];if(u instanceof Kn&&!lt(r=u._hints).call(r,nr.LOW_STREAM)&&(i=u._encoderConfig)!==null&&i!==void 0&&i.bitrateMax&&((o=u._encoderConfig)===null||o===void 0?void 0:o.bitrateMax)>200&&(s=u._scalabilityMode)!==null&&s!==void 0&&s.numSpatialLayers&&((a=u._scalabilityMode)===null||a===void 0?void 0:a.numSpatialLayers)>1&&this.store.codec==="vp8"){const d={},f={high:1e3*(u._encoderConfig.bitrateMax-50),medium:5e4};d.encodings=[{rid:"m",active:!0,maxBitrate:f.medium,scaleResolutionDownBy:4},{rid:"h",active:!0,maxBitrate:f.high}];const h=l.sender.getParameters();await l.sender.setParameters(Object.assign(h,d))}}}async applySimulcastEncodings(t,n){if(!Er()&&t.length===n.length)for(let r=0;r<t.length;r++){const i=n[r];if(i instanceof Kn&&this.isVP8Simulcast(i)){const o=t[r],s={},a={high:1e3*(i._encoderConfig.bitrateMax-50),medium:5e4};s.encodings=[{active:!0,adaptivePtime:!1,networkPriority:"high",priority:"high",maxBitrate:a.high},{active:!0,adaptivePtime:!1,networkPriority:"low",priority:"low",maxBitrate:a.medium,scaleResolutionDownBy:4}];const c=o.sender.getParameters();await o.sender.setParameters(Object.assign(c,s))}}}isVP8Simulcast(t){var n,r,i,o,s;return!!(t instanceof Kn&&he("SIMULCAST")&&this.store.codec==="vp8"&&!lt(n=t._hints).call(n,nr.LOW_STREAM)&&(r=t._encoderConfig)!==null&&r!==void 0&&r.bitrateMax&&((i=t._encoderConfig)===null||i===void 0?void 0:i.bitrateMax)>200&&(o=t._scalabilityMode)!==null&&o!==void 0&&o.numSpatialLayers&&((s=t._scalabilityMode)===null||s===void 0?void 0:s.numSpatialLayers)>1)}logSDPExchange(t,n,r,i){if(he("SDP_LOGGING"))return D.upload("[".concat(this.store.clientId,"] exchanging ").concat(r," ").concat(n," SDP during P2PConnection.").concat(i,`
`),t),n==="offer"?o=>{this.logSDPExchange(o,"answer",r==="local"?"remote":"local",i)}:void 0}async getRemoteSSRC(t){if(!this.remoteSDP)return;const n=this.remoteSDP.getSSRC(t);return n&&n.length!==0?n[0].ssrcId:void 0}setConfiguration(t){if(fn().supportPCSetConfiguration){const n=V1.resolvePCConfiguration(t);this.peerConnection.setConfiguration(n)}}},ft(tn.prototype,"updateRemoteRTPCapabilities",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"updateRemoteRTPCapabilities"),tn.prototype),ft(tn.prototype,"connect",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"connect"),tn.prototype),ft(tn.prototype,"updateRemoteConnect",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"updateRemoteConnect"),tn.prototype),ft(tn.prototype,"createDataChannels",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"createDataChannels"),tn.prototype),ft(tn.prototype,"receive",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"receive"),tn.prototype),ft(tn.prototype,"batchReceive",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"batchReceive"),tn.prototype),ft(tn.prototype,"stopReceiving",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"stopReceiving"),tn.prototype),ft(tn.prototype,"muteRemote",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"muteRemote"),tn.prototype),ft(tn.prototype,"unmuteRemote",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"unmuteRemote"),tn.prototype),ft(tn.prototype,"muteLocal",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"muteLocal"),tn.prototype),ft(tn.prototype,"unmuteLocal",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"unmuteLocal"),tn.prototype),ft(tn.prototype,"close",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"close"),tn.prototype),ft(tn.prototype,"updateEncoderConfig",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"updateEncoderConfig"),tn.prototype),ft(tn.prototype,"updateSendParameters",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"updateSendParameters"),tn.prototype),ft(tn.prototype,"replaceTrack",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"replaceTrack"),tn.prototype),ft(tn.prototype,"updateAdaptation",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"updateAdaptation"),tn.prototype),ft(tn.prototype,"getRemoteSSRC",[wo],Object.getOwnPropertyDescriptor(tn.prototype,"getRemoteSSRC"),tn.prototype),tn);function wo(e,t,n){const r=e[t];if(typeof r!="function")throw new Error("Cannot use mutex on object property.");return n.value=async function(){const i=this.mutex,o=await i.lock("From P2PConnection.".concat(t));try{for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];return await r.apply(this,a)}finally{o()}},n}var Xt;function BU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Mc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?BU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):BU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function FU(e){var t,n,r,i=2;for(typeof Symbol<"u"&&(n=aFe,r=Symbol.iterator);i--;){if(n&&(t=e[n])!=null)return t.call(e);if(r&&(t=e[r])!=null)return new O3(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function O3(e){function t(n){if(Object(n)!==n)return ot.reject(new TypeError(n+" is not an object."));var r=n.done;return ot.resolve(n.value).then((function(i){return{value:i,done:r}}))}return O3=function(n){this.s=n,this.n=n.next},O3.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(n){var r=this.s.return;return r===void 0?ot.resolve({value:n,done:!0}):t(r.apply(this.s,arguments))},throw:function(n){var r=this.s.return;return r===void 0?ot.reject(n):t(r.apply(this.s,arguments))}},new O3(e)}let w5=(Xt=class extends fr{get state(){return this._state}set state(e){const t=this._state;this._state=e,this.emit(Ot.StateChange,t,this._state)}constructor(e,t){super(),H(this,"isPlanB",void 0),H(this,"store",void 0),H(this,"statsUploader",void 0),H(this,"connection",void 0),H(this,"localTrackMap",new Map),H(this,"remoteUserMap",new Map),H(this,"localDataChannels",[]),H(this,"remoteDataChannelMap",new Map),H(this,"pendingLocalTracks",[]),H(this,"pendingRemoteTracks",[]),H(this,"pendingLocalDataChannels",[]),H(this,"pendingRemoteDataChannels",[]),H(this,"statsCollector",void 0),H(this,"shouldForwardP2PCreation",void 0),H(this,"iceFailedCount",0),H(this,"dtlsFailedCount",0),H(this,"mutex",new Hi("P2PChannel-mutex")),H(this,"_state",bn.Disconnected),H(this,"_pcStatsUploadType",he("NEW_ICE_RESTART")?Dl.FIRST_CONNECTION:Dl.OLD_FIRST_CONNECTION),H(this,"_isInRestartIce",!1),H(this,"_isStartRestartIce",!1),H(this,"_restartStates",["disconnected","failed"]),H(this,"_restartTimer",void 0),H(this,"_isFirstConnected",!0),H(this,"handleMuteLocalTrack",(async(n,r,i)=>{const o=await this.mutex.lock("Locking from P2PChannel.handleMuteLocalTrack");try{if(!this.connection||this.state!==bn.Connected)return void i(new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel.handleMuteLocalTrack before connection established."));const s=this.filterTobeMutedTracks(n);if(s.length===0)return void r();const a=s.find((l=>l[0]==="videoLowTrack"));a&&a[1].track._originMediaStreamTrack.stop(),await this.connection.muteLocal(s.map((l=>{let[,{id:u}]=l;return u})));const c=this.createMuteMessage(s);await Fn(this,Ot.RequestMuteLocal,c),r()}catch(s){i(s)}finally{o()}})),H(this,"handleUnmuteLocalTrack",(async(n,r,i)=>{const o=await this.mutex.lock("Locking from P2PChannel.handleUnmuteLocalTrack");try{if(!this.connection||this.state!==bn.Connected)return void i(new Be(Q.INVALID_OPERATION,"Cannot call P2PChannel.handleUnmuteLocalTrack before connection established."));const s=this.filterTobeUnmutedTracks(n);if(s.length===0)return void r();const a=s.find((l=>l[0]==="videoLowTrack"));if(a){const l=a[1];if(l.track._originMediaStreamTrack.stop(),!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding){const u=n._mediaStreamTrack.clone();l.track._mediaStreamTrack=u,l.track._originMediaStreamTrack=u}else{const u=uC(n,cg(this,Ot.RequestLowStreamParameter));l.track._mediaStreamTrack=u,l.track._originMediaStreamTrack=u}await new ot(((u,d)=>{this.handleReplaceTrack(l.track,u,d,!0)}))}await this.connection.unmuteLocal(s.map((l=>{let[,{id:u}]=l;return u})));const c=this.createUnmuteMessage(s);await Fn(this,Ot.RequestUnmuteLocal,c),r()}catch(s){i(s)}finally{o()}})),H(this,"handleUpdateVideoEncoder",(async(n,r,i)=>{const o=await this.mutex.lock("Locking from P2PChannel.handleSetVideoEncoder");try{const s=this.localTrackMap.get(ze.LocalVideoTrack);if(!this.connection||!s||s.track!==n||this.state!==bn.Connected)return void r();const{id:a,track:c}=s;await this.connection.updateSendParameters(a,c),await this.connection.updateEncoderConfig(a,c),this.emit(Ot.UpdateVideoEncoder,c),r()}catch(s){i(s)}finally{o()}})),H(this,"handleUpdateVideoSendParameters",(async(n,r,i)=>{const o=await this.mutex.lock("Locking from P2PChannel.handleUpdateVideoSendParameters");try{const s=this.localTrackMap.get(ze.LocalVideoTrack);if(!this.connection||!s||s.track!==n||this.state!==bn.Connected)return void r();const{id:a,track:c}=s;await this.connection.updateSendParameters(a,c),r()}catch(s){i(s)}finally{o()}})),H(this,"handleReplaceMixingTrack",(async(n,r,i,o)=>{if(!this.connection||this.state!==bn.Connected)return void r();const s=EE([n]);let a;D.debug("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection will replace audioTrack [").concat(s.getTrackId(),"]")),typeof o=="boolean"&&o||(a=await this.mutex.lock("From P2PChannel.handleReplaceMixingTrack"));try{await this.replaceTrack(n,s),r()}catch(l){i(l)}finally{var c;(c=a)===null||c===void 0||c()}})),H(this,"handleReplaceTrack",(async(n,r,i,o)=>{let s;D.debug("[".concat(this.store.clientId,"] P2PChannel handleReplaceTrack for [track-id-").concat(n.getTrackId(),"]")),typeof o=="boolean"&&o||(s=await this.mutex.lock("From P2PChannel.handleReplaceTrack"));try{var a;const l=Array.from(this.localTrackMap.entries()).find((u=>{let[,{track:d}]=u;return n===d}));if(!this.connection||!l||this.state!==bn.Connected)return void r();if(await((a=this.connection)===null||a===void 0?void 0:a.replaceTrack(n,l[1].id)),this.isPlanB){const u=l[1];u.id=n._mediaStreamTrack.id,this.localTrackMap.set(l[0],u)}if(l[0]===ze.LocalVideoTrack&&!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding){const u=this.localTrackMap.get(ze.LocalVideoLowTrack);if(u){const d=n._mediaStreamTrack.clone();u.track._originMediaStreamTrack.stop(),u.track._mediaStreamTrack=d,u.track._originMediaStreamTrack=d,await new ot(((f,h)=>{this.handleReplaceTrack(u.track,f,h,!0)}))}}r()}catch(l){i(l)}finally{var c;(c=s)===null||c===void 0||c()}})),H(this,"handleGetRTCStats",(n=>{n(this.statsCollector.getRTCStats())})),H(this,"handleGetLocalVideoStats",(n=>{n(this.statsCollector.getLocalVideoTrackStats())})),H(this,"handleGetLocalAudioStats",(n=>{n(this.statsCollector.getLocalAudioTrackStats())})),H(this,"handleGetRemoteVideoStats",(n=>this.statsCollector.getRemoteVideoTrackStats(n.uid)[n.uid])),H(this,"handleGetRemoteAudioStats",(n=>this.statsCollector.getRemoteAudioTrackStats(n.uid)[n.uid])),this.store=e,this.statsCollector=t,this.statsCollector.addP2PChannel(this),this.statsUploader=new I$(this.store),this.bindStatsUploaderEvents(),this.isPlanB=!fn().supportUnifiedPlan||he("CHROME_FORCE_PLAN_B")&&Bd(),this.shouldForwardP2PCreation=he("FORWARD_P2P_CREATION")&&fn().supportPCSetConfiguration&&aI(),this.shouldForwardP2PCreation&&(this.connection=this.isPlanB?new C1({},this.store):new Za({},this.store),this.bindConnectionEvents(this.connection))}async startP2PConnection(e){var t;this.state=bn.New;const n=this.shouldForwardP2PCreation&&((t=this.connection)===null||t===void 0?void 0:t.peerConnectionState)==="closed";if(this.shouldForwardP2PCreation&&!n||(n&&this.connection&&(D.warning("[".concat(this.store.clientId,"] P2PChannel.startP2PConnection ForwardP2P closed.")),this.connection.close(),this.unbindConnectionEvents(this.connection)),this.connection=this.isPlanB?new C1(e,this.store):new Za(e,this.store),this.bindConnectionEvents(this.connection)),!this.connection)throw new Be(Q.UNEXPECTED_ERROR,"Cannot P2PChannel.startConnection before P2PConnection initialization .");return this._pcStatsUploadType=he("NEW_ICE_RESTART")?Dl.FIRST_CONNECTION:Dl.OLD_FIRST_CONNECTION,this._isFirstConnected=!0,this._isInRestartIce=!1,this._isStartRestartIce=!1,this.connection.setConfiguration(e),this.connection.establishPromise}async connect(e){if(!this.connection)throw new Be(Q.UNEXPECTED_ERROR,"Cannot P2PChannel.connect before P2PChannel.startP2PConnection .");he("ENABLE_PREALLOC_PC")&&this.state===bn.Connected?await this.connection.updateRemoteConnect(e):(this.store.peerConnectionStart(),await this.connection.connect(e),this.statsUploader.startUploadTransportStats(),this.statsUploader.startUploadExtensionUsageStats(),this.state=bn.Connected)}updateRemoteRTPCapabilities(e){const t=Array.from(this.localTrackMap.entries()).filter((i=>{var o;let[s]=i;return lt(o=[ze.LocalVideoLowTrack,ze.LocalVideoTrack]).call(o,s)})),n=t.map((i=>{let[,{id:o}]=i;return o})),r=t.map((i=>{let[o]=i;return o}));if(this.connection instanceof Za){if(mt.updateRemoteRTPCapabilities(this.store.sessionId,{trackTypes:JSON.stringify(r),localCodecs:JSON.stringify(this.connection.localCodecs),remoteCodecs:JSON.stringify(e)}),!lt(e).call(e,this.store.codec)){const i=["vp9","vp8","h264"].find((o=>lt(e).call(e,o)));i&&(this.store.codec=i,D.debug("[".concat(this.store.clientId,"] [").concat(this.store.p2pId," updateRemoteRTPCapabilities] default codec is not available, hence the fallback to ").concat(i,".")))}this.connection.updateRemoteRTPCapabilities(n,e)}}async getEstablishParams(){var e;if(this.connection instanceof Za&&this.connection.peerConnectionState!=="closed"&&lt(e=[bn.New,bn.Connected]).call(e,this.state))return this.connection.establishPromise}async publishDataChannel(e){if(!this.connection||this.state!==bn.Connected){if(this.state===bn.Disconnected)throw new Be(Q.UNEXPECTED_ERROR,"PeerConnection already disconnected.");return e.forEach((n=>{var r;lt(r=this.pendingLocalDataChannels).call(r,n)||this.pendingLocalDataChannels.push(n)})),[]}const t=this.filterTobePublishedDataChannels(e);return t.length===0?[]:(t.forEach((n=>{const r=Date.now();this.store.publish(n.id.toString(),"datachannel",r)})),await this.connection.createDataChannels(this.store.uid,t),t.forEach((n=>{this.localDataChannels.push(n);const r=Date.now();this.store.publish(n.id+"","datachannel",void 0,r)})),e.map((n=>({streamId:n.id,ordered:n.ordered,maxRetransmits:n.maxRetransmits,metadata:n.metadata,channelId:n._originDataChannelId}))))}publish(e,t,n){var r=this;return cc((function*(){const i=yield mn(r.mutex.lock("From P2PChannel.publish"));try{if(!r.connection||r.state!==bn.Connected){if(r.state===bn.Disconnected)throw new Be(Q.UNEXPECTED_ERROR,"PeerConnection already disconnected.");r.throwIfTrackTypeNotMatch(e);const s=e.filter((a=>r.pendingLocalTracks.indexOf(a)===-1));return void(r.pendingLocalTracks=r.pendingLocalTracks.concat(s))}r.store.pubId=r.store.pubId+1,ji.markPublishStart(r.store.clientId,r.store.pubId);const o=r.filterTobePublishedTracks(e,t,n);if(o.length===0)return void(yield mn(r.tryToUnmuteAudio(e)));yield*PU(FU(r.doPublish(r.connection,o)))}finally{i()}}))()}doPublish(e,t){var n=this;return cc((function*(){t.forEach((d=>{let{track:f,type:h}=d;const p=Date.now();n.store.publish(f.getTrackId(),h===ze.LocalAudioTrack?"audio":"video",p)})),n.bindLocalTrackEvents(t);const r=t.map((d=>{let{track:f}=d;return f})),i=yield mn(e.send(t.map((d=>{let{track:f}=d;return f})),n.store.codec,n.store.audioCodec)),o=(yield mn(i.next())).value,s=n.createGatewayPublishMessage(t,o);let a;try{a=yield s}catch(d){throw i.throw(d),(d==null?void 0:d.code)===Q.WS_ABORT&&t.forEach((f=>{let{track:h}=f;n.pendingLocalTracks.indexOf(h)===-1&&n.pendingLocalTracks.push(h)})),n.unbindLocalTrackEvents(t),d}const c=n.mapPubResToRemoteConfig(s,a),l=(yield mn(i.next(c))).value,u=he("ENABLE_VIDEO_SEI");r.forEach((async d=>{const f=d.getRTCRtpTransceiver();f&&u&&(d.trackMediaType===vt.VIDEO?await RBe(f.sender,d):d.trackMediaType===vt.AUDIO&&await(async function(h){if(!fn().supportWebRTCEncodedTransform)return void D.warning("browser not support audio encoded transform");if(m5.has(h)||!h.track)return;const p={track:h.track};if(Od()){if(!h.createEncodedStreams)return void D.warning("browser not support createEncodedStreams() API");let m=null;try{m=h.createEncodedStreams()}catch(v){return void D.error("create audio-encoded-streams error",v&&v.message)}const y=new TransformStream({transform(v,E){p.controller||(p.controller=E),h.track&&h.track.id!==p.track.id&&(D.debug("audio track changed: ".concat(p.track.id," => ").concat(h.track.id)),p.track.removeEventListener("ended",g),p.track=h.track,p.track.addEventListener("ended",g)),E.enqueue(v)}});m.readable.pipeThrough(y).pipeTo(m.writable)}else if(Ri()){if(typeof RTCRtpScriptTransform>"u")return void D.warning("browser not support RTCRtpScriptTransform");const m=T3(),y=new MessageChannel;await new ot((E=>m.onmessage=b=>{b.data==="registered"&&E(void 0)}));const v=new RTCRtpScriptTransform(m,{name:"tx",port:y.port2},[y.port2]);h.transform=v,await new ot((E=>m.onmessage=b=>{b.data==="started"&&E(void 0)})),y.port1.onmessage=E=>{var b;E.data.transformed&&h.track&&((b=h.track)===null||b===void 0?void 0:b.id)!==p.track.id&&(D.debug("audio track changed: ".concat(p.track.id," => ").concat(h.track.id)),p.track.removeEventListener("ended",g),p.track=h.track,p.track.addEventListener("ended",g))},p.worker=m}function g(){if(h.track){if(this.id!==h.track.id)return;h.track.removeEventListener("ended",g)}const m=m5.get(h);if(m){m5.delete(h);try{var y,v;(y=m.controller)===null||y===void 0||y.terminate(),(v=m.worker)===null||v===void 0||v.terminate()}catch(E){D.warning(E&&E.message)}}}m5.set(h,p),h.track.addEventListener("ended",g)})(f.sender))})),t.forEach((d=>{let{type:f}=d;n.statsCollector.addLocalStats(f)})),n.assignLocalTracks(t,l),n.statsUploader.startUploadOutboundStats(),t.forEach((d=>{let{track:f,type:h}=d;const p=Date.now();n.store.publish(f.getTrackId(),h===ze.LocalAudioTrack?"audio":"video",void 0,p)}))}))()}async updateVideoStreamParameter(e,t){const n=this.localTrackMap.get(t);if(!n)return;if(!(n.track instanceof Kn))return D.warn("[updateVideoStreamParameter]: track is not an instance of LocalVideoTrack");if(!(this.connection instanceof Za||this.connection instanceof C1))return D.warn("[updateVideoStreamParameter]: connection is not P2PConnection or P2PConnectionPlanB");const{track:r}=n,i=(function(o,s){const a={};return o.height&&o.width&&(a.scaleResolutionDownBy=KA(o,s)),a.maxFramerate=o.framerate?hs(o.framerate):void 0,a.maxBitrate=o.bitrate?1e3*o.bitrate:void 0,a})(e,r);if(r._encoderConfig||(r._encoderConfig={}),t!==ze.LocalVideoLowTrack||!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding)i.scaleResolutionDownBy!=null&&(r._encoderConfig.scaleResolutionDownBy=i.scaleResolutionDownBy);else{const o=r._originMediaStreamTrack;if(!o.canvas)return D.warn("[".concat(r.getTrackId(),"] no canvas on track"));(function(s,a){const c=s.canvas;a.width&&(c.width=hs(a.width)),a.height&&(c.height=hs(a.height)),a.framerate&&(c.stopCapture&&c.stopCapture(),c.stopCapture=EI((()=>{!c.startCapture&&c.stopCapture&&c.stopCapture(),c.startCapture&&c.startCapture()}),hs(a.framerate)))})(o,e)}i.maxBitrate!=null&&(r._encoderConfig.bitrateMax=i.maxBitrate/1e3),i.maxFramerate!=null&&(r._encoderConfig.frameRate&&typeof r._encoderConfig.frameRate=="object"?r._encoderConfig.frameRate.max=i.maxFramerate:r._encoderConfig.frameRate={max:i.maxFramerate}),D.debug("[".concat(r.getTrackId(),"] LowStreamEncoderConfig: , ").concat(JSON.stringify(r._encoderConfig))),await this.connection.updateRtpSenderEncodings(r)}publishLowStream(e){var t=this;return cc((function*(){if(!t.connection||t.state!==bn.Connected)return;const n=yield mn(t.mutex.lock("Locking from P2PChannel.publishLowStream"));try{const i=t.localTrackMap.get(ze.LocalVideoTrack);if(!i)throw new Be(Q.UNEXPECTED_ERROR,"Could not find high stream");if(t.localTrackMap.has(ze.LocalVideoLowTrack))throw new Be(Q.UNEXPECTED_ERROR,"[".concat(t.store.clientId,"] Can't publish low stream when stream already publish"));const o=[{track:t.getLowVideoTrack(i.track,e),type:ze.LocalVideoLowTrack}];if(yield*PU(FU(t.doPublish(t.connection,o))),i.track.muted||!i.track.enabled){var r;const s=(r=t.localTrackMap.get(ze.LocalVideoLowTrack))===null||r===void 0?void 0:r.id;s!==void 0&&(yield mn(t.connection.muteLocal([s])))}}finally{n()}}))()}async republish(){this.pendingLocalTracks.length>0&&(D.debug("[".concat(this.store.clientId,"] Emit P2PChannelEvents.RequestRePublish to republish tracks.")),await ki(this,Ot.RequestRePublish,this.pendingLocalTracks),this.emit(Ot.MediaReconnectEnd,this.store.uid),this.pendingLocalTracks=[]),this.pendingLocalDataChannels.length>0&&(D.debug("Emit P2PChannelEvents.RequestRePublishDataChannel to republish datachannels."),await ki(this,Ot.RequestRePublishDataChannel,this.pendingLocalDataChannels),this.pendingLocalDataChannels=[])}async reSubscribe(e){for(let t=this.pendingRemoteTracks.length-1;t>=0;t--){const{user:n,kind:r}=this.pendingRemoteTracks[t];(r!==vt.AUDIO||n._audio_added_&&n._audioSSRC)&&(r!==vt.VIDEO||n._video_added_&&n._videoSSRC)||this.pendingRemoteTracks.splice(t,1)}if(e)await ki(this,Ot.RequestReSubscribe,this.pendingRemoteTracks);else for(const{user:t,kind:n}of this.pendingRemoteTracks)await this.subscribe(t,n,n===vt.VIDEO?t._videoSSRC:t._audioSSRC);this.pendingRemoteTracks.forEach((t=>{let{user:n}=t;this.emit(Ot.MediaReconnectEnd,n.uid)})),this.pendingRemoteTracks=[]}async unpublish(e){if(!this.connection||this.state!==bn.Connected)return void e.forEach((r=>{const i=this.pendingLocalTracks.indexOf(r);i!==-1&&this.pendingLocalTracks.splice(i,1)}));const t=this.filterTobeUnpublishedTracks(e);if(t.length===0)return;const n=t.find((r=>r[0]==="videoLowTrack"));return n&&n[1].track.close(),this.doUnpublish(this.connection,t)}async unpublishDataChannel(e){if(!this.connection||this.state!==bn.Connected)return void e.forEach((n=>{const r=this.pendingLocalDataChannels.indexOf(n);r!==-1&&this.pendingLocalDataChannels.splice(r,1)}));const t=this.filterTobeUnpublishedDataChannels(e);return t.length!==0?(t.forEach((n=>{const r=this.localDataChannels.indexOf(n);r!==-1&&this.localDataChannels.splice(r,1)})),this.localDataChannels.length===0&&await this.connection.stopDataChannels(this.store.uid),t.map((n=>n.id))):void 0}async unpublishLowStream(){if(!this.connection||this.state!==bn.Connected)return;const e=this.localTrackMap.get(ze.LocalVideoLowTrack);if(!e)return;e.track.close();const t=[[ze.LocalVideoLowTrack,e]];return this.doUnpublish(this.connection,t)}async doUnpublish(e,t){const n=this.createGatewayUnpublishMessage(t);return await e.stopSending(t.map((r=>{let[,{id:i}]=r;return i}))),this.withdrawLocalTracks(t),this.unbindLocalTrackEvents(t.map((r=>{let[i,{track:o}]=r;return{type:i,track:o}}))),t.forEach((r=>{let[i]=r;this.statsCollector.removeLocalStats(i)})),this.localTrackMap.size===0&&this.statsUploader.stopUploadOutboundStats(),n}async subscribeDataChannel(e,t){if(!this.connection||this.state!==bn.Connected)throw new Be(Q.INVALID_OPERATION,"Cannot subscribe remote user when peerConnection disconnected.");const n=t.filter((r=>{var i;return!((i=this.remoteDataChannelMap.get(e))!==null&&i!==void 0&&i.get(r.id))}));if(n.length!==0)return await this.connection.createDataChannels(e.uid,n),n.forEach((r=>{var i;this.remoteDataChannelMap.has(e)?(i=this.remoteDataChannelMap.get(e))===null||i===void 0||i.set(r.id,r):this.remoteDataChannelMap.set(e,new Map([[r.id,r]]));const o=this.pendingRemoteDataChannels.findIndex((s=>{let{user:a,id:c}=s;return a.uid===e.uid&&c===r.id}));o!==-1&&this.pendingRemoteDataChannels.splice(o,1)})),n.map((r=>r.id))}async subscribe(e,t,n,r,i){var o;if(!this.connection||this.state!==bn.Connected)throw new Be(Q.INVALID_OPERATION,"Cannot subscribe remote user when peerConnection disconnected.");if((o=this.remoteUserMap.get(e))!==null&&o!==void 0&&o.has(t))return;let s,a,c;const l=this.connection.getPreMedia(n);if(l)D.debug("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] preSSRCMap has ssrcId: ").concat(n,", no need to send sub to gateway.")),c=l.transceiver,s=l.track,a=l.id;else if(i){const f=i.find((p=>{let{stream_type:g}=p;return g===t}));if(!f)throw new Be(Q.UNEXPECTED_ERROR,"Cannot subscribe to remote ".concat(t," for user: ").concat(e.uid," because subscribe answer from gateway does not contain stream_type: ").concat(t,"."));const h=await this.connection.receive(t,f.ssrcs,String(e._uintid),f.attributes);this.connection instanceof Za&&(c=h.transceiver),s=h.track,a=h.id}else{const f=await this.connection.receive(t,[{ssrcId:n,rtx:r}],String(e._uintid),void 0);this.connection instanceof Za&&(c=f.transceiver),s=f.track,a=f.id}t===vt.AUDIO?(e._audioTrack?e._audioTrack._updateOriginMediaStreamTrack(s):(e._audioTrack=new Jh(s,e.uid,e._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote audio track: ").concat(e._audioTrack.getTrackId()))),c&&e._audioTrack._updateRtpTransceiver(c),this.bindRemoteTrackEvents(e,e._audioTrack)):(e._videoTrack?e._videoTrack._updateOriginMediaStreamTrack(s):(e._videoTrack=new Gh(s,e.uid,e._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote video track: ").concat(e._videoTrack.getTrackId()))),c&&e._videoTrack._updateRtpTransceiver(c),this.bindRemoteTrackEvents(e,e._videoTrack)),he("ENABLE_VIDEO_SEI")&&c&&(t==vt.VIDEO?await(async function(f){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!fn().supportWebRTCEncodedTransform)return void D.warning("browser not support video encoded transform");if(!f.track)return;if(A1.has(f)){const m=A1.get(f);return void(m&&(m.onSei=h.onSei))}const p={track:f.track,onSei:h.onSei};if(Od()){if(!f.createEncodedStreams)return void D.warning("browser not support createEncodedStreams() API");let m=null;try{m=f.createEncodedStreams()}catch(v){return void D.error("create video-encoded-streams error",v&&v.message)}const y=new TransformStream({transform(v,E){p.controller||(p.controller=E),f.track&&f.track.id!==p.track.id&&(D.debug("video track changed: ".concat(p.track.id," => ").concat(f.track.id)),p.track.removeEventListener("ended",g),p.track=f.track,p.track.addEventListener("ended",g));const b=(function(S){const w=new DataView(S.data);let C=0;for(;C+4<S.data.byteLength;){if(w.getUint8(C+0)===0&&w.getUint8(C+1)===0&&w.getUint8(C+2)===0&&w.getUint8(C+3)===1&&w.getUint8(C+4)===6){let _=C+6,I=0,O=0;for(;(O=w.getUint8(_++))===255;)I+=255;I+=O;const L=_Be(S.data,_,I);return new Uint8Array(L)}C++}return null})(v);b&&p.onSei&&p.onSei(b),E.enqueue(v)}});m.readable.pipeThrough(y).pipeTo(m.writable)}else if(Ri()){if(typeof RTCRtpScriptTransform>"u")return void D.warning("browser not support RTCRtpScriptTransform");const m=T3(),y=new MessageChannel;await new ot((E=>m.onmessage=b=>{b.data==="registered"&&E(void 0)}));const v=new RTCRtpScriptTransform(m,{name:"rx",port:y.port2},[y.port2]);f.transform=v,await new ot((E=>m.onmessage=b=>{b.data==="started"&&E(void 0)})),y.port1.onmessage=E=>{var b;E.data.transformed&&f.track&&((b=f.track)===null||b===void 0?void 0:b.id)!==p.track.id?(D.debug("video track changed: ".concat(p.track.id," => ").concat(f.track.id)),p.track.removeEventListener("ended",g),p.track=f.track,p.track.addEventListener("ended",g)):E.data.sei&&p.onSei&&p.onSei(E.data.sei)},p.worker=m}function g(){if(f.track){if(this.id!==f.track.id)return;f.track.removeEventListener("ended",g)}(function(m){const y=A1.get(m);if(y){A1.delete(m);try{var v,E;(v=y.controller)===null||v===void 0||v.terminate(),(E=y.worker)===null||E===void 0||E.terminate()}catch(b){D.warning(b&&b.message)}}})(f)}A1.set(f,p),f.track.addEventListener("ended",g)})(c.receiver,{onSei:f=>{var h;(h=e._videoTrack)===null||h===void 0||h._onSei(f)}}):t==vt.AUDIO&&await(async function(f){if(!fn().supportWebRTCEncodedTransform)return void D.warning("browser not support audio encoded transform");if(g5.has(f))return;const h={track:f.track};if(Od()){if(!f.createEncodedStreams)return void D.warning("browser not support createEncodedStreams() API");let g=null;try{g=f.createEncodedStreams()}catch(y){return void D.error("create audio-encoded-streams error",y&&y.message)}const m=new TransformStream({transform(y,v){h.controller||(h.controller=v),f.track&&f.track.id!==h.track.id&&(D.debug("audio track changed: ".concat(h.track.id," => ").concat(f.track.id)),h.track.removeEventListener("ended",p),h.track=f.track,h.track.addEventListener("ended",p)),v.enqueue(y)}});g.readable.pipeThrough(m).pipeTo(g.writable)}else if(Ri()){if(typeof RTCRtpScriptTransform>"u")return void D.warning("browser not support RTCRtpScriptTransform");const g=T3(),m=new MessageChannel;await new ot((v=>g.onmessage=E=>{E.data==="registered"&&v(void 0)}));const y=new RTCRtpScriptTransform(g,{name:"rx",port:m.port2},[m.port2]);f.transform=y,await new ot((v=>g.onmessage=E=>{E.data==="started"&&v(void 0)})),m.port1.onmessage=v=>{var E;v.data.transformed&&f.track&&((E=f.track)===null||E===void 0?void 0:E.id)!==h.track.id&&(D.debug("audio track changed: ".concat(h.track.id," => ").concat(f.track.id)),h.track.removeEventListener("ended",p),h.track=f.track,h.track.addEventListener("ended",p))},h.worker=g}function p(){f.track.removeEventListener("ended",p),(function(g){const m=g5.get(g);if(m){g5.delete(g);try{var y,v;(y=m.controller)===null||y===void 0||y.terminate(),(v=m.worker)===null||v===void 0||v.terminate()}catch(E){D.warning(E&&E.message)}}})(f)}g5.set(f,h),f.track.addEventListener("ended",p)})(c.receiver));const u=this.remoteUserMap.get(e);u?u.set(t,a):this.remoteUserMap.set(e,new Map([[t,a]])),this.statsCollector.addRemoteStats(e.uid),this.statsUploader.startUploadInboundStats();const d=this.pendingRemoteTracks.findIndex((f=>{let{user:h,kind:p}=f;return h.uid===e.uid&&t===p}));d!==-1&&(this.pendingRemoteTracks.splice(d,1),this.emit(Ot.MediaReconnectEnd,e.uid))}async massSubscribe(e){return this.massSubscribeNoLock(e)}async massSubscribeNoLock(e){if(!this.connection||this.state!==bn.Connected)throw new Be(Q.INVALID_OPERATION,"Cannot subscribeAll remote users when peerConnection disconnected.");e=e.filter((i=>{var o;let{user:s,mediaType:a}=i;return!((o=this.remoteUserMap.get(s))!==null&&o!==void 0&&o.has(a))}));const t=[],n=new Map;e.forEach((i=>{if(!this.connection)return;const o=this.connection.getPreMedia(i.ssrcId);o?n.set(i.ssrcId,o):t.push(i)}));const r=await this.connection.batchReceive(t.map((i=>{let{user:o,mediaType:s,ssrcId:a,rtxSsrcId:c}=i;return{kind:s,ssrcMsg:[{ssrcId:a,rtx:c}],mslabel:String(o._uintid)}})));t.forEach(((i,o)=>{n.set(i.ssrcId,r[o])})),e.forEach((i=>{let{user:o,mediaType:s,ssrcId:a}=i;const c=n.get(a);if(!c)return void D.debug("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] cannot find ").concat(o.uid," subscribe data,").concat(s,", ").concat(a));const{track:l,id:u,transceiver:d}=c;s===vt.AUDIO?(o._audioTrack?o._audioTrack._updateOriginMediaStreamTrack(l):(o._audioTrack=new Jh(l,o.uid,o._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote audio track: ").concat(o._audioTrack.getTrackId()))),d&&o._audioTrack._updateRtpTransceiver(d),this.bindRemoteTrackEvents(o,o._audioTrack)):(o._videoTrack?o._videoTrack._updateOriginMediaStreamTrack(l):(o._videoTrack=new Gh(l,o.uid,o._uintid,this.store),D.info("[".concat(this.store.clientId,"] [").concat(this.store.p2pId,"] create remote video track: ").concat(o._videoTrack.getTrackId()))),d&&o._videoTrack._updateRtpTransceiver(d),this.bindRemoteTrackEvents(o,o._videoTrack));const f=this.remoteUserMap.get(o);f?f.set(s,u):this.remoteUserMap.set(o,new Map([[s,u]])),this.statsCollector.addRemoteStats(o.uid),this.statsUploader.startUploadInboundStats();const h=this.pendingRemoteTracks.findIndex((p=>{let{user:g,kind:m}=p;return g.uid===o.uid&&s===m}));h!==-1&&(this.pendingRemoteTracks.splice(h,1),this.emit(Ot.MediaReconnectEnd,o.uid))}))}async unsubscribe(e,t,n){const r=this.pendingRemoteTracks.filter((s=>{let{user:a,kind:c}=s;return t!==void 0?a.uid===e.uid&&t===c:a.uid===e.uid}));if(r.forEach((s=>{const a=this.pendingRemoteTracks.indexOf(s);this.pendingRemoteTracks.splice(a,1)})),this.connection&&this.state===bn.Connected||n||r.forEach((s=>{let{kind:a}=s;var c;if(a===vt.AUDIO)(c=e._audioTrack)===null||c===void 0||c._destroy(),e._audioTrack=void 0;else if(a===vt.VIDEO){var l;(l=e._videoTrack)===null||l===void 0||l._destroy(),e._videoTrack=void 0}})),!this.connection||this.state!==bn.Connected)return;const i=this.filterTobeUnSubscribedTracks(e,t);if(i.length===0)return;await this.connection.stopReceiving(i.map((s=>{let[,{id:a}]=s;return a})));const o=this.createUnsubscribeMessage(i);return this.withdrawRemoteTracks(i),this.remoteUserMap.size===0&&this.statsUploader.stopUploadInboundStats(),i.forEach((s=>{let[a,{kind:c}]=s;var l,u;if(c===vt.VIDEO&&a._videoSSRC&&((l=this.connection)===null||l===void 0||l.setStatsRemoteVideoIsReady(a._videoSSRC,!1)),c===vt.VIDEO)this.unbindRemoteTrackEvents(a._videoTrack),n||((u=a._videoTrack)===null||u===void 0||u._destroy(),a._videoTrack=void 0);else if(c===vt.AUDIO){var d;this.unbindRemoteTrackEvents(a._audioTrack),!n&&((d=a._audioTrack)===null||d===void 0||d._destroy(),a._audioTrack=void 0)}})),o}async unsubscribeDataChannel(e,t){if(t.forEach((i=>{const o=this.pendingRemoteDataChannels.findIndex((s=>s.id===i.id));o!==-1&&this.pendingRemoteDataChannels.splice(o,1)})),!this.connection)return;const n=this.filterTobeUnSubscribedDataChannels(e,t);if(n.length===0)return;t.forEach((i=>{i._close()}));const r=this.remoteDataChannelMap.get(e);return n.forEach((i=>{r&&r.delete(i.id)})),r&&r.size===0&&(this.remoteDataChannelMap.delete(e),await this.connection.stopDataChannels(e.uid)),n.map((i=>i.id))}async massUnsubscribe(e){return this.massUnsubscribeNoLock(e)}async massUnsubscribeNoLock(e){let t=[];for(const{user:i,mediaType:o}of e){const s=this.pendingRemoteTracks.filter((a=>{let{user:c,kind:l}=a;return o!==void 0?c.uid===i.uid&&o===l:c.uid===i.uid}));s.forEach((a=>{const c=this.pendingRemoteTracks.indexOf(a);this.pendingRemoteTracks.splice(c,1)})),t=t.concat(s)}if(!this.connection||this.state!==bn.Connected)return void t.forEach((i=>{let{user:o,kind:s}=i;var a;if(s===vt.AUDIO)(a=o._audioTrack)===null||a===void 0||a._destroy(),o._audioTrack=void 0;else if(s===vt.VIDEO){var c;(c=o._videoTrack)===null||c===void 0||c._destroy(),o._videoTrack=void 0}}));const n=vc(e).call(e,((i,o)=>{let{user:s,mediaType:a}=o;const c=this.filterTobeUnSubscribedTracks(s,a);return i.concat(c)}),[]);if(n.length===0)return;await this.connection.stopReceiving(n.map((i=>{let[,{id:o}]=i;return o})));const r=this.createUnsubscribeAllMessage(n);return this.withdrawRemoteTracks(n),this.remoteUserMap.size===0&&this.statsUploader.stopUploadInboundStats(),n.forEach((i=>{let[o,{kind:s}]=i;var a,c;if(s===vt.VIDEO&&o._videoSSRC&&((a=this.connection)===null||a===void 0||a.setStatsRemoteVideoIsReady(o._videoSSRC,!1)),s===vt.VIDEO)this.unbindRemoteTrackEvents(o._videoTrack),(c=o._videoTrack)===null||c===void 0||c._destroy(),o._videoTrack=void 0;else if(s===vt.AUDIO){var l;this.unbindRemoteTrackEvents(o._audioTrack),(l=o._audioTrack)===null||l===void 0||l._destroy(),o._audioTrack=void 0}})),r}isPreSubScribe(e){return!this.connection||this.state!==bn.Connected?!1:!!this.connection.getPreMedia(e)}async muteRemote(e,t){if(!this.connection)return;const n=this.remoteUserMap.get(e);if(!n)return void D.warning("[".concat(this.store.clientId,"] P2PChannel.muteRemote has no remote user ").concat(e.uid,"."));if(!n.get(t))return void D.warning("[".concat(this.store.clientId,"] P2PChannel.muteRemote has no remote user ").concat(e.uid," media type ").concat(t,"."));const r=t===vt.VIDEO?e._videoSSRC:e._audioSSRC;r!==void 0&&this.connection.setStatsRemoteVideoIsReady(r,!1)}async unmuteRemote(e,t){return this.unmuteRemoteNoLock(e,t)}async unmuteRemoteNoLock(e,t){if(!this.connection)return;const n=this.remoteUserMap.get(e);if(!n)return void D.warning("[".concat(this.store.clientId,"] P2PChannel.unmuteRemote has no remote user ").concat(e.uid,"."));n.get(t)||D.warning("[".concat(this.store.clientId,"] P2PChannel.unmuteRemote has no remote user ").concat(e.uid," media type ").concat(t,"."))}getAllTracks(e){const t=this.localTrackMap.get(ze.LocalAudioTrack);if((t==null?void 0:t.track)instanceof Jr){const n=t.track;return Array.from(this.localTrackMap.entries()).filter((r=>{let[i]=r;return i!==ze.LocalAudioTrack})).filter((r=>{let[i]=r;return!(e&&i===ze.LocalVideoLowTrack)})).map((r=>{let[,{track:i}]=r;return i})).concat(n.trackList)}return Array.from(this.localTrackMap.entries()).filter((n=>{let[r]=n;return!(e&&r===ze.LocalVideoLowTrack)})).map((n=>{let[,{track:r}]=n;return r}))}getAllDataChannels(){return this.localDataChannels}reportPublishEvent(e,t,n,r,i){if(e){const s=this.localTrackMap.get(ze.LocalAudioTrack),a=r?this.localTrackMap.get(ze.LocalVideoLowTrack):this.localTrackMap.get(ze.LocalVideoTrack);mt.publish(this.store.sessionId,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:e,ec:t,audioName:s==null?void 0:s.track.getTrackLabel(),videoName:a==null?void 0:a.track.getTrackLabel(),screenshare:(a==null?void 0:a.track._hints.indexOf(nr.SCREEN_TRACK))!==-1,audio:!!s,video:!!a,p2pid:this.store.p2pId,publishRequestid:this.store.pubId,extend:i})}else{var o;n||(n=[]);const s=n.find((c=>c instanceof mr)),a=r?(o=this.localTrackMap.get(ze.LocalVideoTrack))===null||o===void 0?void 0:o.track:n.find((c=>c instanceof Kn));mt.publish(this.store.sessionId,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:e,ec:t,audioName:s==null?void 0:s.getTrackLabel(),videoName:a==null?void 0:a.getTrackLabel(),screenshare:(a==null?void 0:a._hints.indexOf(nr.SCREEN_TRACK))!==-1,audio:!!s,video:!!a,p2pid:this.store.p2pId,publishRequestid:this.store.pubId,extend:i})}}reportSubscribeEvent(e,t,n,r){const i=r===vt.VIDEO?n._videoSSRC:n._audioSSRC;i&&mt.subscribe(this.store.sessionId,{succ:e,ec:t,video:r===vt.VIDEO,audio:r===vt.AUDIO,peerid:n.uid,subscribeRequestid:i,p2pid:this.store.p2pId,eventElapse:ji.measureFromSubscribeStart(this.store.clientId,i),preSsrc:this.isPreSubScribe(i)})}reset(){D.debug("[".concat(this.store.clientId,"] P2PChannel.reset")),this.mutex=new Hi("P2PChannel-mutex"),this.connection&&(this.connection.close(),this.unbindConnectionEvents(this.connection),this.connection=void 0),this.shouldForwardP2PCreation&&(this.connection=this.isPlanB?new C1({},this.store):new Za({},this.store),this.bindConnectionEvents(this.connection)),this.statsUploader.stopUploadOutboundStats(),this.statsUploader.stopUploadInboundStats(),this.statsUploader.stopUploadTransportStats(),this.statsUploader.stopUploadExtensionUsageStats(),this.unbindLocalTrackEvents(),this.unbindAllRemoteTrackEvents(),this.unbindRtpTransceiver();const e=this.localTrackMap.get(ze.LocalAudioTrack);if((e==null?void 0:e.track)instanceof Jr){if(e.track.trackList.length>0){const t=e.track;e.track.trackList.forEach((n=>{t.removeAudioTrack(n)}))}e.track.close()}this.localTrackMap.clear(),this.remoteUserMap.clear(),this.statsCollector.removeRemoteStats(),this.statsCollector.removeLocalStats(),this.iceFailedCount=0,this.dtlsFailedCount=0,this.pendingLocalTracks=[],this.pendingRemoteTracks=[],this.localDataChannels=[],this.remoteDataChannelMap.clear(),this.pendingLocalDataChannels=[],this.pendingRemoteDataChannels=[],this.state=bn.Disconnected}getStats(){var e;return(e=this.connection)===null||e===void 0?void 0:e.getStats()}getRemoteVideoIsReady(e){var t;return((t=this.connection)===null||t===void 0?void 0:t.getRemoteVideoIsReady(e))||!1}getLocalAudioVolume(){const e=this.localTrackMap.get(ze.LocalAudioTrack);if(e)return e.track.getVolumeLevel()}getLocalVideoSize(){const e=this.localTrackMap.get(ze.LocalVideoTrack);if(e)return{width:e.track.videoWidth||0,height:e.track.videoHeight||0}}getEncoderConfig(e){const t=this.localTrackMap.get(e);return t&&t.track instanceof Kn||t&&t.track instanceof mr?t.track._encoderConfig:void 0}getLocalMedia(e){return this.localTrackMap.get(e)}hasLocalMedia(){return this.localTrackMap.size>0}hasRemoteMedia(e,t){if(!e)return this.remoteUserMap.size>0;const n=this.remoteUserMap.get(e);return!!n&&(!t||n.has(t))}async hasRemoteMediaWithLock(e,t){if(!e)return this.remoteUserMap.size>0;const n=this.remoteUserMap.get(e);return!!n&&(!t||n.has(t))}getRemoteMedia(e){var t;const n=Array.from(Ts(t=this.remoteUserMap).call(t)).find((r=>r.uid===e));return n?{audioTrack:n.audioTrack,audioSSRC:n._audioSSRC,videoTrack:n.videoTrack,videoSSRC:n._videoSSRC}:{}}getAudioLevels(){let e=Array.from(this.remoteUserMap.entries()).map((n=>{let[r]=n;return{uid:r.uid,level:r.audioTrack?100*r.audioTrack._source.getAccurateVolumeLevel():0}}));const t=this.localTrackMap.get(ze.LocalAudioTrack);return t&&e.push({level:100*t.track._source.getAccurateVolumeLevel(),uid:this.store.uid}),e=n2(e).call(e,((n,r)=>n.level-r.level)),e}async disconnectForReconnect(){this.connection&&(D.debug("[".concat(this.store.clientId,"] P2PChannel.disconnectForReconnect closing P2PConnection")),this.state=bn.Reconnecting,he("KEEP_LAST_FRAME")&&this.remoteUserMap.size!==0&&Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t]=e;var n;t._videoTrack&&t._videoTrack._player&&((n=t._videoTrack._player.getVideoElement())===null||n===void 0||n.pause(),t._videoTrack._player.isKeepLastFrame=!0,t._videoTrack._originMediaStreamTrack.stop())})),this.connection.close(),this.unbindConnectionEvents(this.connection),this.connection=void 0,this.shouldForwardP2PCreation&&(this.connection=this.isPlanB?new C1({},this.store):new Za({},this.store),this.bindConnectionEvents(this.connection)),this.localTrackMap.size!==0&&(Array.from(this.localTrackMap.entries()).forEach((e=>{var t;let[n,{track:r}]=e;switch(n){case ze.LocalVideoTrack:lt(t=r._hints).call(t,nr.LOW_STREAM)?r.close():this.pendingLocalTracks.push(r);break;case ze.LocalAudioTrack:r instanceof Jr?this.pendingLocalTracks=this.pendingLocalTracks.concat(r.trackList):this.pendingLocalTracks.push(r);case ze.LocalVideoLowTrack:}})),this.emit(Ot.MediaReconnectStart,this.store.uid)),this.unbindLocalTrackEvents(),this.localTrackMap.clear(),this.remoteUserMap.size!==0&&Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t,n]=e;Array.from(Ts(n).call(n)).forEach((r=>{this.setPendingRemoteMedia(t,r)})),this.emit(Ot.MediaReconnectStart,t.uid)})),this.unbindAllRemoteTrackEvents(),this.remoteUserMap.clear(),this.localDataChannels.length!==0&&(this.localDataChannels.forEach((e=>{this.pendingLocalDataChannels.push(e)})),this.localDataChannels.length=0),this.remoteDataChannelMap.size!==0&&(Array.from(this.remoteDataChannelMap.entries()).forEach((e=>{let[t,n]=e;Array.from(Ts(n).call(n)).forEach((r=>{this.setPendingRemoteDataChannel(t,r)}))})),this.remoteDataChannelMap.clear()),this.statsUploader.stopUploadOutboundStats(),this.statsUploader.stopUploadInboundStats(),this.statsUploader.stopUploadTransportStats(),D.debug("[".concat(this.store.clientId,"] P2PChannel disconnected, waiting to reconnect.")))}hasPendingRemoteDataChannel(e,t){for(const n of this.pendingRemoteDataChannels){const{user:r,id:i}=n;if((e instanceof md?e.uid:e)===r.uid&&i===t)return!0}return!1}setPendingRemoteDataChannel(e,t){this.hasPendingRemoteDataChannel(e,t)||this.pendingRemoteDataChannels.push({user:e,id:t})}hasPendingRemoteMedia(e,t){for(const n of this.pendingRemoteTracks){const{user:r,kind:i}=n;if((e instanceof md?e.uid:e)===r.uid&&t===i)return!0}return!1}setPendingRemoteMedia(e,t){this.hasPendingRemoteMedia(e,t)||this.pendingRemoteTracks.push({user:e,kind:t})}restartICE(e){var t=this;return cc((function*(){if(!t.connection||t.state!==bn.Connected)return;const n=yield mn(t.mutex.lock("From P2PChannel.restartICE"));let r;try{r=yield mn(t.connection.restartICE(e));const o=yield mn(r.next());if(o.done)return;const s=o.value,a=yield s;switch(t.reportPCDisconnectedOrFailed(e),e){case ls.TCP:t._pcStatsUploadType=Dl.TCP_RESTART;break;case ls.RELAY:t._pcStatsUploadType=Dl.RELAY_RESTART;break;default:t._pcStatsUploadType=Dl.OLD_RESTART}t._isInRestartIce=!0,r.next(a)}catch(o){var i;(i=r)===null||i===void 0||i.throw(o)}finally{n()}}))()}getUplinkNetworkQuality(){if(!this.connection)return 0;const e=this.connection.getStats(),t=this.localTrackMap.get(ze.LocalVideoTrack),n=this.localTrackMap.get(ze.LocalAudioTrack),r=e.videoSend.find((h=>h.ssrc===(t==null?void 0:t.ssrcs[0].ssrcId))),i=e.audioSend.find((h=>h.ssrc===(n==null?void 0:n.ssrcs[0].ssrcId)));if(!r||!i)return 1;const o=ia(this,Ot.NeedSignalRTT),s=r?r.rttMs:void 0,a=i?i.rttMs:void 0,c=s&&a?(s+a)/2:s||a,l=(c&&o?(c+o)/2:c||o)||0,u=100*e.sendPacketLossRate*.7/50+.3*l/1500,d=u<.17?1:u<.36?2:u<.59?3:u<.1?4:5,f=t==null?void 0:t.track;if(f&&f._encoderConfig&&f._hints.indexOf(nr.SCREEN_TRACK)===-1){const h=f._encoderConfig.bitrateMax,p=e.bitrate.actualEncoded;if(h&&p){const g=(1e3*h-p)/(1e3*h);return Sq[g<.15?0:g<.3?1:g<.45?2:g<.6?3:4][d]}}return d}getDownlinkNetworkQuality(){if(!this.connection)return 0;const e=this.connection.getStats();let t=0;return Array.from(this.remoteUserMap.entries()).forEach((n=>{let[r]=n;const i=r._audioSSRC,o=r._videoSSRC,s=e.audioRecv.find((p=>p.ssrc===i)),a=e.videoRecv.find((p=>p.ssrc===o));if(!s&&!a)return void(t+=1);const c=ia(this,Ot.NeedSignalRTT),l=e.rtt,u=(l&&c?(l+c)/2:l||c)||0,d=s?s.jitterMs:void 0,f=e.recvPacketLossRate;let h=.7*f*100/50+.3*u/1500;d&&(h=.6*f*100/50+.2*u/1500+.2*d/400),t+=h<.1?1:h<.17?2:h<.36?3:h<.59?4:5})),this.remoteUserMap.size>0?Math.round(t/this.remoteUserMap.size):t}async muteLocalTrack(e){return new ot(((t,n)=>{this.handleMuteLocalTrack(e,t,n)}))}async replaceTrack(e,t){var n;if(D.debug("[".concat(this.store.clientId,"] P2PChannel replaceTrack from [").concat(e.getTrackId(),"] to [").concat(t.getTrackId(),"]")),!this.connection||this.state!==bn.Connected)return;const r=Array.from(this.localTrackMap.entries()).find((o=>{let[,{track:s}]=o;return e===s}));if(!r)return;const i=r[0];if(e!==t&&(this.unbindLocalTrackEvents([{track:e,type:i}]),this.bindLocalTrackEvents([{track:t,type:i}]),r[1].track=t),await((n=this.connection)===null||n===void 0?void 0:n.replaceTrack(t,r[1].id)),this.isPlanB){const o=r[1];o.id=t._mediaStreamTrack.id,this.localTrackMap.set(i,o)}if(i===ze.LocalVideoTrack&&!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding){const o=this.localTrackMap.get(ze.LocalVideoLowTrack);if(o){const s=e._mediaStreamTrack.clone();o.track._originMediaStreamTrack.stop(),o.track._mediaStreamTrack=s,o.track._originMediaStreamTrack=s,await new ot(((a,c)=>{this.handleReplaceTrack(o.track,a,c,!0)}))}}}filterTobePublishedTracks(e,t,n){const r=[],i=this.getAllTracks();e=Ih(e=e.filter((c=>i.indexOf(c)===-1)));let o,s=!1;const a=this.localTrackMap.get(ze.LocalAudioTrack);for(const c of e){if(c instanceof Kn&&(this.localTrackMap.has(ze.LocalVideoTrack)||s?new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS).throw():(r.push({track:c,type:ze.LocalVideoTrack}),s=!0),t)){const l=this.getLowVideoTrack(c,n);r.push({track:l,type:ze.LocalVideoLowTrack})}if(c instanceof mr)if(a){const l=a.track;if(l instanceof Jr)dC([c]),l.addAudioTrack(c),this.bindLocalAudioTrackEvents(c,!0);else{const u=EE([l,c]);D.debug("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection will replace audioTrack [").concat(u.getTrackId(),"]")),this.replaceTrack(l,u)}}else o instanceof Jr?(dC([c]),o.addAudioTrack(c)):o||!c._useAudioElement&&fn().webAudioMediaStreamDest&&!c._bypassWebAudio?o=EE(o?[c,o]:[c]):o=c}return o&&(D.debug("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection will send audioTrack [").concat(o.getTrackId(),"]")),r.push({track:o,type:ze.LocalAudioTrack})),r}filterTobeUnpublishedTracks(e){const t=[],n=this.getAllTracks();e=Ih(e=e.filter((r=>n.indexOf(r)!==-1)));for(const r of e){if(r instanceof mr){const i=this.localTrackMap.get(ze.LocalAudioTrack);if(!i)continue;i.track instanceof Jr?(i.track.removeAudioTrack(r),this.unbindLocalAudioTrackEvents(r),i.track.trackList.length===0&&(t.push([ze.LocalAudioTrack,i]),i.track.close())):t.push([ze.LocalAudioTrack,i])}if(r instanceof Kn){const i=this.localTrackMap.get(ze.LocalVideoTrack);if(!i)continue;t.push([ze.LocalVideoTrack,i]);const o=this.localTrackMap.get(ze.LocalVideoLowTrack);o&&t.push([ze.LocalVideoLowTrack,o])}}return t}filterTobePublishedDataChannels(e){return e=(e=Ih(e)).filter((t=>this.localDataChannels.findIndex((n=>n.id===t.id))===-1))}filterTobeUnpublishedDataChannels(e){return e=(e=(e=Ih(e)).filter((t=>this.localDataChannels.indexOf(t)!==-1))).filter((t=>t._originDataChannel))}bindLocalTrackEvents(e){e.forEach((t=>{let{track:n,type:r}=t;switch(r){case ze.LocalVideoTrack:n.addListener(ut.GET_STATS,this.handleGetLocalVideoStats),n.addListener(ut.GET_RTC_STATS,this.handleGetRTCStats),n.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.addListener(ut.NEED_UPDATE_VIDEO_ENCODER,this.handleUpdateVideoEncoder),n.addListener(ut.NEED_UPDATE_VIDEO_SEND_PARAMETERS,this.handleUpdateVideoSendParameters),n.addListener(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),n.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack);break;case ze.LocalAudioTrack:this.bindLocalAudioTrackEvents(n);case ze.LocalVideoLowTrack:}}))}bindLocalAudioTrackEvents(e,t){e instanceof Jr?e.trackList.forEach((n=>{n.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.addListener(ut.GET_STATS,this.handleGetLocalAudioStats),n.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack)})):(e.addListener(ut.GET_STATS,this.handleGetLocalAudioStats),e.addListener(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),e.addListener(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),e.addListener(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),e.addListener(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack),t||(e.addListener(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),e.addListener(ut.NEED_REPLACE_MIXING_TRACK,this.handleReplaceMixingTrack)))}unbindLocalTrackEvents(e){e||(e=Array.from(this.localTrackMap.entries()).map((t=>{let[n,{track:r}]=t;return{track:r,type:n}}))),e.forEach((t=>{let{track:n,type:r}=t;switch(r){case ze.LocalVideoTrack:n.off(ut.GET_STATS,this.handleGetLocalVideoStats),n.off(ut.GET_RTC_STATS,this.handleGetRTCStats),n.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),n.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),n.off(ut.NEED_UPDATE_VIDEO_ENCODER,this.handleUpdateVideoEncoder),n.off(ut.NEED_UPDATE_VIDEO_SEND_PARAMETERS,this.handleUpdateVideoSendParameters),n.off(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),n.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),n.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack);break;case ze.LocalAudioTrack:this.unbindLocalAudioTrackEvents(n);case ze.LocalVideoLowTrack:}}))}unbindLocalAudioTrackEvents(e){e instanceof Jr?e.trackList.forEach((t=>{t.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),t.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),t.off(ut.GET_STATS,this.handleGetLocalAudioStats),t.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),t.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack)})):(e.off(ut.GET_STATS,this.handleGetLocalAudioStats),e.off(ut.NEED_DISABLE_TRACK,this.handleMuteLocalTrack),e.off(ut.NEED_ENABLE_TRACK,this.handleUnmuteLocalTrack),e.off(ut.NEED_REPLACE_TRACK,this.handleReplaceTrack),e.off(ut.NEED_REPLACE_MIXING_TRACK,this.handleReplaceMixingTrack),e.off(ut.NEED_MUTE_TRACK,this.handleMuteLocalTrack),e.off(ut.NEED_UNMUTE_TRACK,this.handleUnmuteLocalTrack))}bindRemoteTrackEvents(e,t){t instanceof Gh&&t.addListener(ut.GET_STATS,(n=>{n(this.handleGetRemoteVideoStats(e))})),t instanceof Jh&&t.addListener(ut.GET_STATS,(n=>{n(this.handleGetRemoteAudioStats(e))}))}unbindRemoteTrackEvents(e){e&&e.removeAllListeners(ut.GET_STATS)}unbindAllRemoteTrackEvents(){Array.from(this.remoteUserMap.entries()).forEach((e=>{let[t,n]=e;n.has(vt.AUDIO)&&this.unbindRemoteTrackEvents(t._audioTrack),n.has(vt.VIDEO)&&this.unbindRemoteTrackEvents(t._videoTrack)}))}createGatewayPublishMessage(e,t){return e.map(((n,r)=>{var i;let o,s,{track:a,type:c}=n;switch(c){case ze.LocalAudioTrack:o=Sn.Audio,s={dtx:a instanceof _4&&a._config.DTX,hq:!1,lq:!1,stereo:!1,speech:!1};break;case ze.LocalVideoTrack:o=lt(i=a._hints).call(i,nr.SCREEN_TRACK)?Sn.Screen:Sn.High,s=Mc(Mc({},xM(a)),{},{codec:this.store.codec,svc_mode:oC()});break;case ze.LocalVideoLowTrack:o=Sn.Low,s=Mc(Mc({},xM(a)),{},{codec:this.store.codec,svc_mode:oC()})}return{stream_type:o,attributes:s,ssrcs:t[r]}}))}createGatewayUnpublishMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}assignLocalTracks(e,t){e.forEach(((n,r)=>{let{track:i,type:o}=n;this.localTrackMap.set(o,{track:i,id:t[r].id,ssrcs:t[r].localSSRC})}))}withdrawLocalTracks(e){e.forEach((t=>{let[n]=t;this.localTrackMap.delete(n)}))}bindConnectionEvents(e){e.onConnectionStateChange=async t=>{if(D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onConnectionStateChange(").concat(t,")")),this.emit(Ot.PeerConnectionStateChange,t),t!=="connected"||this.store.keyMetrics.peerConnectionEnd||this.store.peerConnectionEnd(),t==="connected"&&(this._restartTimer&&(clearTimeout(this._restartTimer),this._restartTimer=void 0),(this._isFirstConnected||this._isInRestartIce)&&this.reportPCStats(Date.now(),!0,this._pcStatsUploadType),this._isInRestartIce=!1,this._isFirstConnected=!1,this._isStartRestartIce=!1),he("NEW_ICE_RESTART")){var n;if(lt(n=this._restartStates).call(n,t)){if(this._isStartRestartIce)return;this._isStartRestartIce=!0;const r=s=>{(e.iceConnectionState==="disconnected"||e.iceConnectionState==="checking"||e.iceConnectionState==="failed")&&(D.debug("[".concat(this.store.clientId,"] [P2PChannel] start use restartICE, type is ").concat(s)),ia(this,Ot.QueryClientConnectionState)==="CONNECTED"&&this.emit(Ot.RequestRestartICE,s))},i=()=>{e.iceConnectionState!=="disconnected"&&e.iceConnectionState!=="checking"&&e.iceConnectionState!=="failed"||(this.reportPCStats(Date.now(),!1,this._pcStatsUploadType),D.debug("[".concat(this.store.clientId,"] P2PConnection disconnected timeout, force reconnect")),setTimeout((()=>this.emit(Ot.P2PLost)),0),this.iceFailedCount+=1,this.requestReconnect())},o=he("ICE_RESTART_INTERVAL");return void(this._restartTimer=window.setTimeout((()=>{if(he("JOIN_WITH_FALLBACK_MEDIA_PROXY_FORCE")&&fn().supportPCSetConfiguration)r(ls.RELAY),this._restartTimer=window.setTimeout(i,o);else if(Er())r(ls.UDP),this._restartTimer=window.setTimeout(i,4e3);else{if(r(ls.TCP),fn().supportPCSetConfiguration)return void(this._restartTimer=window.setTimeout((()=>{r(ls.RELAY),this._restartTimer=window.setTimeout(i,o)}),o));this._restartTimer=window.setTimeout(i,o)}}),800))}}else{if(t==="disconnected"&&e.iceConnectionState==="disconnected")return setTimeout((()=>{e.iceConnectionState==="disconnected"&&he("ICE_RESTART")&&ia(this,Ot.QueryClientConnectionState)==="CONNECTED"&&this.emit(Ot.RequestRestartICE)}),800),void setTimeout((()=>{e.peerConnectionState==="disconnected"&&(D.debug("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection disconnected timeout 4000ms, force reconnect")),this.reportPCStats(Date.now(),!1,this._pcStatsUploadType),this._isInRestartIce=!1,setTimeout((()=>this.emit(Ot.P2PLost)),0),this.iceFailedCount+=1,this.requestReconnect())}),4e3);t==="failed"&&(D.debug("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection state failed, force reconnect")),this.reportPCDisconnectedOrFailed(),setTimeout((()=>this.emit(Ot.P2PLost)),0),this.iceFailedCount+=1,await this.requestReconnect())}},e.onICEConnectionStateChange=t=>{t!=="connected"||this.store.keyMetrics.iceConnectionEnd||this.store.iceConnectionEnd(),D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onICEConnectionStateChange(").concat(t,")")),mt.reportApiInvoke(this.store.sessionId,{name:"ICEConnectionStateChange",options:t,tag:vr.TRACER}).onSuccess(),this.emit(Ot.IceConnectionStateChange,t)},e.onICETransportStateChange=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onICETransportStateChange(").concat(t,")"))},e.onDTLSTransportStateChange=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onDTLSTransportStateChange(").concat(t,")"))},e.onDTLSTransportError=t=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.onDTLSTransportError(").concat(t,")"))},e.onFirstAudioDecoded=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((o=>o._audioSSRC===t));var i;r&&(this.store.subscribe(r.uid,"audio",void 0,void 0,void 0,Date.now()),(i=r.audioTrack)===null||i===void 0||i.emit(Vh.FIRST_FRAME_DECODED),mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_AUDIO_DECODE,dr.FIRST_AUDIO_DECODE,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId}))},e.onFirstAudioReceived=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((i=>i._audioSSRC===t));r&&mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_AUDIO_RECEIVED,dr.FIRST_AUDIO_RECEIVED,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId})},e.onFirstVideoDecoded=(t,n,r)=>{this.reportVideoFirstFrameDecoded(t,n,r)},e.onFirstVideoReceived=t=>{var n;const r=Array.from(Ts(n=this.remoteUserMap).call(n)).find((i=>i._videoSSRC===t));r&&mt.firstRemoteFrame(this.store.sessionId,hi.FIRST_VIDEO_RECEIVED,dr.FIRST_VIDEO_RECEIVED,{peer:r._uintid,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,t),subscribeRequestid:t,p2pid:this.store.p2pId})},e.onSelectedLocalCandidateChanged=(t,n)=>{const r=t.candidateType==="relay",i=n.candidateType==="relay";n.candidateType!=="unknown"&&r===i||this.emit(Ot.ConnectionTypeChange,r),D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.SelectedLocalCandidateChanged(").concat(JSON.stringify(Ad(n))," -> ").concat(JSON.stringify(Ad(t)),")"))},e.onSelectedRemoteCandidateChanged=(t,n)=>{D.info("[".concat(this.store.clientId,"] [p2pId: ").concat(this.store.p2pId,"]: P2PConnection.SelectedRemoteCandidateChanged(").concat(JSON.stringify(Ad(n))," -> ").concat(JSON.stringify(Ad(t)),")"))},e.onFirstVideoDecodedTimeout=t=>{this.reportVideoFirstFrameDecoded(t,void 0,void 0,!0)},e.getLocalVideoStats=()=>{const t=this.statsCollector.getLocalVideoTrackStats(),n=this.statsCollector.getRTCStats();return Mc(Mc({},t),n)}}unbindConnectionEvents(e){e.onConnectionStateChange=void 0,e.onICEConnectionStateChange=void 0,e.onICETransportStateChange=void 0,e.onDTLSTransportStateChange=void 0,e.onDTLSTransportError=void 0,e.onFirstAudioDecoded=void 0,e.onFirstAudioReceived=void 0,e.onFirstVideoDecoded=void 0,e.onFirstVideoReceived=void 0,e.onSelectedLocalCandidateChanged=void 0,e.onSelectedRemoteCandidateChanged=void 0,e.onFirstVideoDecodedTimeout=void 0,e.getLocalVideoStats=void 0}filterTobeMutedTracks(e){const t=[];if(this.getAllTracks().indexOf(e)===-1)return t;const n=this.localTrackMap.get(ze.LocalAudioTrack);if(e instanceof mr&&(n==null?void 0:n.track)instanceof Jr)return n.track.isActive||t.push([ze.LocalAudioTrack,n]),t;const r=Array.from(this.localTrackMap.entries()).find((i=>{let[,{track:o}]=i;return e===o}));if(r&&(t.push(r),r[0]===ze.LocalVideoTrack)){const i=this.localTrackMap.get(ze.LocalVideoLowTrack);i&&t.push([ze.LocalVideoLowTrack,i])}return t}filterTobeUnmutedTracks(e){const t=[],n=this.localTrackMap.get(ze.LocalAudioTrack);if(e instanceof mr&&(n==null?void 0:n.track)instanceof Jr)return n.track.isActive&&t.push([ze.LocalAudioTrack,n]),t;const r=Array.from(this.localTrackMap.entries()).find((i=>{let[,{track:o}]=i;return e===o}));if(r)if(r[0]===ze.LocalVideoTrack){t.push(r);const i=this.localTrackMap.get(ze.LocalVideoLowTrack);i&&t.push([ze.LocalVideoLowTrack,i])}else t.push(r);return t}createMuteMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}createUnmuteMessage(e){return e.map((t=>{var n;let r,[i,{track:o,ssrcs:s,id:a}]=t;switch(i){case ze.LocalAudioTrack:r=Sn.Audio;break;case ze.LocalVideoTrack:r=lt(n=o._hints).call(n,nr.SCREEN_TRACK)?Sn.Screen:Sn.High;break;case ze.LocalVideoLowTrack:r=Sn.Low}return{stream_type:r,ssrcs:s,mid:a}}))}filterTobeUnSubscribedTracks(e,t){const n=[],r=this.remoteUserMap.get(e);if(!r)return n;if(t){const i=r.get(t);if(!i)return n;n.push([e,{kind:t,id:i}])}else Array.from(r.entries()).forEach((i=>{let[o,s]=i;n.push([e,{kind:o,id:s}])}));return n}filterTobeUnSubscribedDataChannels(e,t){const n=[];return t.forEach((r=>{var i;(i=this.remoteDataChannelMap.get(e))!==null&&i!==void 0&&i.has(r.id)&&n.push(r)})),n}createUnsubscribeMessage(e){const t=[];return e.forEach((n=>{let[r,{kind:i,id:o}]=n;switch(i){case vt.VIDEO:return void(r._videoSSRC&&t.push({stream_type:vt.VIDEO,ssrcId:r._videoSSRC}));case vt.AUDIO:return void(r._audioSSRC&&t.push({stream_type:vt.AUDIO,ssrcId:r._audioSSRC}))}})),t}createUnsubscribeAllMessage(e){const t=new Map;return e.forEach((n=>{let[r,{kind:i}]=n;if(t.has(r)){let o=t.get(r);i===vt.VIDEO?o|=ti.Video:o|=ti.Audio,t.set(r,o)}else i===vt.VIDEO?t.set(r,ti.Video):t.set(r,ti.Audio)})),{users:Array.from(t.entries()).map((n=>{let[r,i]=n;return{stream_id:r.uid,stream_type:i}}))}}withdrawRemoteTracks(e){e.forEach((t=>{let[n,{kind:r}]=t;const i=this.remoteUserMap.get(n);i&&(i.delete(r),Array.from(i.entries()).length===0&&this.remoteUserMap.delete(n))}))}async updateBitrateLimit(e){const t=this.localTrackMap.get(ze.LocalVideoTrack),n=this.localTrackMap.get(ze.LocalVideoLowTrack);t&&await t.track.setBitrateLimit(e.uplink),n&&e.low_stream_uplink&&await n.track.setBitrateLimit({max_bitrate:e.low_stream_uplink.bitrate,min_bitrate:e.low_stream_uplink.bitrate||0})}isP2PDisconnected(){return this.connection?this.connection.peerConnectionState!=="connected":!0}mapPubResToRemoteConfig(e,t){return e.map(((n,r)=>{var i;let{stream_type:o}=n;return(i=t.find((s=>{let{stream_type:a}=s;return o===a})))===null||i===void 0?void 0:i.attributes}))}async tryToUnmuteAudio(e){for(let n=0;n<e.length;n++)if(e[n]instanceof mr){var t;const r=this.filterTobeUnmutedTracks(e[n]);if(r.length===0)continue;await((t=this.connection)===null||t===void 0?void 0:t.unmuteLocal(r.map((o=>{let[,{id:s}]=o;return s}))));const i=this.createUnmuteMessage(r);return void await Fn(this,Ot.RequestUnmuteLocal,i)}}bindStatsUploaderEvents(){this.statsUploader.requestStats=()=>this.getStats(),this.statsUploader.requestLocalMedia=()=>Array.from(this.localTrackMap.entries()),this.statsUploader.requestRemoteMedia=()=>Array.from(this.remoteUserMap.entries()),this.statsUploader.requestVideoIsReady=e=>{var t;return!((t=this.connection)===null||t===void 0||!t.getRemoteVideoIsReady(e))},this.statsUploader.requestUpload=(e,t)=>this.emit(Ot.RequestUpload,e,t),this.statsUploader.requestUploadStats=e=>this.emit(Ot.RequestUploadStats,e),this.statsUploader.requestAllTracks=()=>this.getAllTracks()}unbindStatsUploaderEvents(){this.statsUploader.requestStats=void 0,this.statsUploader.requestLocalMedia=void 0,this.statsUploader.requestRemoteMedia=void 0,this.statsUploader.requestVideoIsReady=void 0}async requestReconnect(){this.dtlsFailedCount+=1,await Ei(lI(this.dtlsFailedCount,jr)),this.emit(Ot.RequestReconnect)}async reconnectP2P(){const e=Array.from(this.localTrackMap.entries()),t=this.createGatewayUnpublishMessage(e);Array.from(this.remoteUserMap.entries()),t.length>0&&await ki(this,Ot.RequestUnpublishForReconnectPC,t),this.disconnectForReconnect(),this.emit(Ot.RequestReconnectPC)}canPublishLowStream(){return this.localTrackMap.has(ze.LocalVideoTrack)||this.pendingLocalTracks.some((e=>e instanceof Kn))}throwIfTrackTypeNotMatch(e){if(e.filter((t=>t instanceof Kn)).length>1)throw new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS);if(e.filter((t=>t instanceof mr)).length>1&&(e.some((t=>t instanceof mr&&t._bypassWebAudio))||!fn().webAudioMediaStreamDest))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser doesn't support MediaStreamDestNode");for(const t of e){if(t instanceof Kn&&this.pendingLocalTracks.some((n=>n instanceof Kn)))throw new Be(Q.CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS);if(t instanceof mr&&this.pendingLocalTracks.some((n=>n instanceof mr))&&(!fn().webAudioMediaStreamDest||t._bypassWebAudio||this.pendingLocalTracks.some((n=>n instanceof mr&&n._bypassWebAudio))))throw new Be(Q.NOT_SUPPORTED,"cannot publish multiple tracks which one of them configured with bypassWebAudio or your browser doesn't support MediaStreamDestNode")}}getLowVideoTrack(e,t){const n=!he("DISABLE_DUAL_STREAM_USE_ENCODING")&&fn().supportDualStreamEncoding,r=Mc(Mc({},{width:160,height:120,framerate:15,bitrate:50}),t);let i;i=n?e._mediaStreamTrack.clone():uC(e,r);const o=Wn(8,"track-low-"),s=new Kn(i,Mc(Mc({},n&&{scaleResolutionDownBy:KA(r,e)}),{},{frameRate:r.framerate,bitrateMax:r.bitrate,bitrateMin:r.bitrate}),void 0,void 0,o);return s.on(nf.TRANSCEIVER_UPDATED,(a=>{e._updateRtpTransceiver(a,Cp.LOW_STREAM)})),s._hints.push(nr.LOW_STREAM),e.on("sei-to-send",(a=>{s.emit("sei-to-send",a)})),e.addListener(ut.NEED_CLOSE,(()=>{s.close()})),s}async globalLock(){return this.mutex.lock("From P2PChannel.globalLock")}async reportPCStats(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;if(this.connection&&this.connection instanceof Za){var i,o,s,a;const c=this.store.keyMetrics.descriptionStart||0,{iceConnectionState:l,dtlsTransportState:u,peerConnectionState:d}=this.connection,{local:f,remote:h}=await this.connection.getSelectedCandidatePair();mt.pcStats(this.store.sessionId,{startTime:c,eventElapse:e-c||0,iceconnectionsate:l,dtlsstate:u,connectionstate:d,intSucc:t?1:2,error:r,selectedLocalCandidateProtocol:(i=f==null?void 0:f.protocol)!==null&&i!==void 0?i:"",selectedLocalCandidateType:(o=f.candidateType)!==null&&o!==void 0?o:"",selectedLocalCandidateAddress:"".concat(f.address,":").concat(f.port),selectedRemoteCandidateProtocol:(s=h.protocol)!==null&&s!==void 0?s:"",selectedRemoteCandidateType:(a=h.candidateType)!==null&&a!==void 0?a:"",selectedRemoteCandidateAddress:"".concat(h.address,":").concat(h.port),restartCnt:n,preallocation:this.connection.isPreallocation})}}reportVideoFirstFrameDecoded(e,t,n,r){var i;const o=Array.from(Ts(i=this.remoteUserMap).call(i)).find((s=>s._videoSSRC===e));if(o){r||this.store.subscribe(o.uid,"video",void 0,void 0,void 0,void 0,Date.now());const s=this.store.keyMetrics,a=s.subscribe.find((c=>c.userId===o.uid&&c.type==="video"));mt.firstRemoteVideoDecode(this.store.sessionId,hi.FIRST_VIDEO_DECODE,dr.FIRST_VIDEO_DECODE,{peer:o._uintid,videowidth:t,videoheight:n,subscribeElapse:ji.measureFromSubscribeStart(this.store.clientId,e),subscribeRequestid:e,p2pid:this.store.p2pId,apEnd:s.requestAPEnd||0,apStart:s.requestAPStart||0,joinGwEnd:s.joinGatewayEnd||0,joinGwStart:s.joinGatewayStart||0,pcEnd:s.peerConnectionEnd||0,pcStart:s.peerConnectionStart||0,subscriberEnd:(a==null?void 0:a.subscribeEnd)||0,subscriberStart:(a==null?void 0:a.subscribeStart)||0,videoAddNotify:(a==null?void 0:a.streamAdded)||0,state:r?1:0,firstFrame:(a==null?void 0:a.firstFrame)||0})}}async remoteMediaSsrcChanged(e,t,n){if(!this.connection)return!1;const r=this.remoteUserMap.get(e);if(!r)return!1;const i=r.get(t);if(!i)return!1;const o=await this.connection.getRemoteSSRC(i);return o!==void 0&&o!==n}unbindRtpTransceiver(){this.localTrackMap.size!==0&&Array.from(this.localTrackMap.entries()).forEach((e=>{let[t,{track:n}]=e;t===ze.LocalVideoLowTrack?n._updateRtpTransceiver(void 0,Cp.LOW_STREAM):n._updateRtpTransceiver(void 0)}))}reportPCDisconnectedOrFailed(e){this.connection&&this.connection instanceof Za&&(this.connection.iceConnectionState!=="disconnected"&&this.connection.iceConnectionState!=="checking"&&this.connection.iceConnectionState!=="failed"||(this._isFirstConnected?(this.reportPCStats(Date.now(),!1,this._pcStatsUploadType),this._isFirstConnected=!1):this._pcStatsUploadType===Dl.TCP_RESTART&&e===ls.RELAY?this.reportPCStats(Date.now(),!1,this._pcStatsUploadType):this.reportPCStats(Date.now(),!1,Dl.DISCONNECTED_OR_FAILED)))}},ft(Xt.prototype,"startP2PConnection",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"startP2PConnection"),Xt.prototype),ft(Xt.prototype,"connect",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"connect"),Xt.prototype),ft(Xt.prototype,"updateRemoteRTPCapabilities",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"updateRemoteRTPCapabilities"),Xt.prototype),ft(Xt.prototype,"publishDataChannel",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"publishDataChannel"),Xt.prototype),ft(Xt.prototype,"unpublish",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unpublish"),Xt.prototype),ft(Xt.prototype,"unpublishDataChannel",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unpublishDataChannel"),Xt.prototype),ft(Xt.prototype,"unpublishLowStream",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unpublishLowStream"),Xt.prototype),ft(Xt.prototype,"subscribeDataChannel",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"subscribeDataChannel"),Xt.prototype),ft(Xt.prototype,"subscribe",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"subscribe"),Xt.prototype),ft(Xt.prototype,"massSubscribe",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"massSubscribe"),Xt.prototype),ft(Xt.prototype,"unsubscribe",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unsubscribe"),Xt.prototype),ft(Xt.prototype,"unsubscribeDataChannel",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unsubscribeDataChannel"),Xt.prototype),ft(Xt.prototype,"massUnsubscribe",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"massUnsubscribe"),Xt.prototype),ft(Xt.prototype,"muteRemote",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"muteRemote"),Xt.prototype),ft(Xt.prototype,"unmuteRemote",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"unmuteRemote"),Xt.prototype),ft(Xt.prototype,"hasRemoteMediaWithLock",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"hasRemoteMediaWithLock"),Xt.prototype),ft(Xt.prototype,"disconnectForReconnect",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"disconnectForReconnect"),Xt.prototype),ft(Xt.prototype,"updateBitrateLimit",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"updateBitrateLimit"),Xt.prototype),ft(Xt.prototype,"remoteMediaSsrcChanged",[ro],Object.getOwnPropertyDescriptor(Xt.prototype,"remoteMediaSsrcChanged"),Xt.prototype),Xt);function ro(e,t,n){const r=e[t];if(typeof r!="function")throw new Error("Cannot use mutex on object property.");return n.value=async function(){const i=this.mutex,o=await i.lock("From P2PChannel.".concat(t));try{for(var s=arguments.length,a=new Array(s),c=0;c<s;c++)a[c]=arguments[c];return await r.apply(this,a)}finally{o()}},n}const R$={};function T1(e){(!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&D.debug("install service ".concat(e.name)),R$[e.name]=e}function G1(e){const t=R$[e];if(!t)throw new Be(Q.INVALID_OPERATION,"".concat(e," not found, please use AgoraRTC.use(").concat(e,"Service) to load it first"));return t}function UU(e,t){return G1("DataStream").create(e,t)}function jU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function HU(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?jU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const dFe=Date.now(),fFe=20,fC=new Map,_3=new Map;async function k$(e){const t=fC.get(e),n=Array.isArray(t)&&t[t.length-1],r=_3.get(e);if(!n)return void(r.isSyncing=!1);const i={uid:n.uid,payload:n.payload};r.firstRecvTs===0&&(r.firstRecvTs=n.recvTs,r.firstSendTs=n.sendTs);const o=n.sendTs-r.firstSendTs,s=o-(Date.now()-r.firstRecvTs);s>0&&(r.firstRecvTs=Date.now()-o);let a=n.mediaDelay+s;a<=0?(t.pop(),x$(n.context,i),a=0):a=Math.min(a,fFe),setTimeout((()=>t.length&&k$(e)),a)}function x$(e,t){e.safeEmit($t.STREAM_MESSAGE,t.uid,t.payload),e.onStreamMessage&&e.onStreamMessage(t)}function hFe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;if(!e.syncWithAudio)return x$(n,{uid:e.uid,payload:e.payload});const r="".concat(n.id,"-").concat(e.uid),i=fC.get(r)||[],o=i.findIndex((l=>e.sendTs>=l.sendTs)),s=HU(HU({},e),{},{context:n,mediaDelay:t,recvTs:Date.now()});o===-1?i.push(s):i.splice(o,0,s),fC.set(r,i);let a=!1;var c;_3.has(r)?a=!((c=_3.get(r))===null||c===void 0||!c.isSyncing):_3.set(r,{isSyncing:a,firstRecvTs:0,firstSendTs:0}),a||k$(r)}const pFe=an().name;function zU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function WU(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zU(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zU(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const Xh="websdk_ng_cache_parameter",mFe=he("MAX_PRELOAD_ASYNC_LENGTH"),gFe=1e4,R0=new Map,k0=[];let SE=null,AE=0,CE=0;const T5=new Map,vFe=(function(e,t){const n=[];let r=0;const i=async()=>{const o=n.shift();o&&await o(),n.length>0&&r<t?i():r--};return async function(){for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];return new ot((async(c,l)=>{n.push((async()=>{try{const u=await e(...s);c(u)}catch(u){l(u)}})),r<t&&(r++,i())}))}})(D$,mFe),wE=Lo.CancelToken.source();async function D$(e,t,n,r,i,o){try{if(!he("ENABLE_PRELOAD"))return;if(!fn().supportWebCrypto)return void Fd((()=>{D.warn("Your browser does not support preloading, this feature be run in a secure environment")}),"preload_webcrypto_not_supported");if(!n&&n!==null)throw new Be(Q.INVALID_PARAMS,"Invalid token: ".concat(n,". If you don not use token, set it to null"));n&&pi(n,"token",1,2047),pi(e,"appid",1,2047),h6(t),r&&p6(r);const s=Ph();D.debug("preload channel ".concat(t,", uid is ").concat(r));const a={appId:e,cname:t,token:n||e,uid:typeof r!="string"?r:null,sid:s,proxyServer:i};let c,l;typeof r=="string"?(a.stringUid=r,[l,c]=await ot.all([BBe(r,{sid:s,appId:e},wE.token),YF(WU(WU({},a),{},{token:n||e,uid:0}),wE.token)]),a.uid=l.uid,c.gatewayInfo.uid=a.uid,c.gatewayInfo.res.uid=a.uid):(o&&(a.stringUid=o),c=await YF(a,wE.token));const u={sid:s,appId:e,cname:t,token:n||e,uid:a.stringUid||r,intUid:a.uid||c.gatewayInfo.uid,stringUid:a.stringUid,ts:Date.now(),sua:l,ap:c};await(async function(d){let f;try{d.uid&&L$({appId:d.appId,cname:d.cname,token:d.token,uid:d.uid,stringUid:d.stringUid});const h=B$(d),p=await(async function(m,y){try{const v=await window.crypto.subtle.importKey("raw",gq(y),"AES-GCM",!1,["encrypt"]),E=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:new Uint8Array(1)},v,H0(window.btoa(JSON.stringify(m))));return _d(new Uint8Array(E))}catch{return}})(d,d.token||d.appId);if(!p)return;f=M$(Xh);const g=f?JSON.parse(f):[];g.push({[h]:p}),g.length>he("AP_CACHE_NUM")&&g.shift(),L4(Xh,JSON.stringify(g))}catch(h){D.warn("Error caching server parameters:",h.message),L4(Xh,"")}})(u),AE++}catch(s){throw CE++,(function(a){SE||(SE=window.setTimeout((()=>{let l="";T5.forEach(((u,d)=>{l+="".concat(d,": ").concat(u," ;")})),mt.reportApiInvoke(null,{name:Zr.PRELOAD,options:{success:AE,failed:CE,err:l}}).onError(a),AE=0,CE=0,T5.clear(),SE=null}),gFe));const c=T5.get(a.code)||0;T5.set(a.code,c+1)})(s),s}}async function VU(e){try{const t=L$(e);if(!t||e.cloudProxyServer!=="disabled")return;const n=await(async function(r,i){try{const o=await window.crypto.subtle.importKey("raw",gq(i),"AES-GCM",!1,["decrypt"]),s=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(1)},o,H0(r));return JSON.parse(window.atob(_d(new Uint8Array(s))))}catch{return}})(t,e.token||e.appId);if(!n||!(function(r,i){return r.cname===i.cname&&r.appId===i.appId&&r.token===i.token?i.stringUid?r.stringUid===i.stringUid:typeof i.uid=="number"?r.uid===i.uid:r.uid==i.uid:!1})(n,e))return;if(n&&Date.now()-n.ts<he("AP_CACHE_LIFETIME"))return n}catch(t){D.warn("Error get preloadInfo",t.message)}}function L$(e){let t;try{if(t=M$(Xh),!t)return;const n=JSON.parse(t),r=B$(e),i=(function(s,a){for(let c=s.length-1;c>=0;c--)if(a(s[c]))return c;return-1})(n,(s=>r in s));if(i===-1)return;const o=n.splice(i,1)[0];return L4(Xh,JSON.stringify(n)),o[r]}catch(n){D.warn("Error delete preload info: ".concat(t),n.message),L4(Xh,"")}}function kI(e){if(e){let t=R0.get(e);t&&(window.clearTimeout(t),t=null,R0.delete(e)),lt(k0).call(k0,e)||e.cloudProxyServer!=="disabled"||k0.push(e)}if(R0.size<he("AP_CACHE_NUM")&&k0.length>0){const t=k0.shift();R0.set(t,window.setTimeout((async()=>{const{appId:n,cname:r,token:i,stringUid:o,uid:s,proxyServer:a}=t;try{await vFe(n,r,i,s,a,o),R0.has(t)&&kI(t)}catch(c){D.warn("update preload failed",c.message),N$(t)}}),he("AP_UPDATE_INTERVAL")))}}function N$(e){const t=k0.indexOf(e);t!==-1&&k0.splice(t,1);let n=R0.get(e);n&&(window.clearTimeout(n),n=null,R0.delete(e),kI())}function GU(e,t){const n=e.sua,r=e.ap;t&&n&&mt.reqUserAccount(e.sid,{lts:n.requestTime,elapse:n.elapse,success:!0,serverAddr:n.url,stringUid:t,uid:e.intUid,errorCode:null,extend:n.req}),mt.reportResourceTiming(e.ap.url,e.sid),mt.joinWebProxyAP(e.sid,{lts:r.requestTime,elapse:r.elapse,sucess:1,apServerAddr:r.url,turnServerAddrList:r.proxyInfo.addresses.map((i=>i.ip)).join(","),eventType:"disabled",unilbsServerIds:[Mr.CHOOSE_SERVER,Mr.CLOUD_PROXY_FALLBACK].toString()}),mt.joinChooseServer(e.sid,{lts:r.requestTime,elapse:r.elapse,succ:!0,csAddr:r.url,opid:r.opid,serverList:r.gatewayInfo.gatewayAddrs.map((i=>i.address)),ec:null,cid:r.gatewayInfo.cid.toString(),uid:r.gatewayInfo.uid.toString(),csIp:r.gatewayInfo.csIp,unilbsServerIds:[Mr.CHOOSE_SERVER].toString(),isHttp3:r.isHttp3})}function M$(e){return window.atob(window.localStorage.getItem(e)||"")}function L4(e,t){window.localStorage.setItem(e,window.btoa(t))}function B$(e){let t="".concat(e.appId,"_").concat(e.cname);return typeof e.uid=="string"&&(t+="_s_".concat(e.uid)),typeof e.uid=="number"&&(t+="_".concat(e.uid)),e.token&&(t+="_".concat(e.token)),yq(t)}function yFe(e){let t=(function(){const n=SFe.pop();return n?(n.offset=n.limit=0,n):{bytes:new Uint8Array(64),offset:0,limit:0}})();return(function(n,r){let i=n.appId;i!==void 0&&(xr(r,10),Yu(r,i));let o=n.cid;o!==void 0&&(xr(r,16),xr(r,o));let s=n.cname;s!==void 0&&(xr(r,26),Yu(r,s));let a=n.deviceId;a!==void 0&&(xr(r,34),Yu(r,a));let c=n.elapse;c!==void 0&&(xr(r,40),Xu(r,c));let l=n.fileSize;l!==void 0&&(xr(r,48),Xu(r,rh(l)));let u=n.height;u!==void 0&&(xr(r,56),Xu(r,rh(u)));let d=n.jpg;d!==void 0&&(xr(r,66),xr(r,d.length),JU(r,d));let f=n.networkType;f!==void 0&&(xr(r,72),Xu(r,rh(f)));let h=n.osType;h!==void 0&&(xr(r,80),Xu(r,rh(h)));let p=n.requestId;p!==void 0&&(xr(r,90),Yu(r,p));let g=n.sdkVersion;g!==void 0&&(xr(r,98),Yu(r,g));let m=n.sequence;m!==void 0&&(xr(r,104),Xu(r,rh(m)));let y=n.sid;y!==void 0&&(xr(r,114),Yu(r,y));let v=n.timestamp;v!==void 0&&(xr(r,120),Xu(r,v));let E=n.uid;E!==void 0&&(xr(r,128),xr(r,E));let b=n.vid;b!==void 0&&(xr(r,136),xr(r,b));let S=n.width;S!==void 0&&(xr(r,144),Xu(r,rh(S)));let w=n.service;w!==void 0&&(xr(r,152),xr(r,w));let C=n.callbackData;C!==void 0&&(xr(r,162),xr(r,C.length),JU(r,C));let _=n.ticket;_!==void 0&&(xr(r,170),Yu(r,_));let I=n.vendorConfigs;I!==void 0&&(xr(r,178),Yu(r,I))})(e,t),(function(n){let r=n.bytes,i=n.limit;return r.length===i?r:r.subarray(0,i)})(t)}function EFe(e){return(function(n){let r={};e:for(;!AFe(n);){let i=J1(n);switch(i>>>3){case 0:break e;case 1:r.code=J1(n);break;case 2:r.msg=ZU(n,J1(n));break;case 3:r.requestId=ZU(n,J1(n));break;case 4:r.timestamp=CFe(n,!1);break;default:bFe(n,7&i)}}return r})({bytes:t=e,offset:0,limit:t.length});var t}function bFe(e,t){switch(t){case 0:for(;128&Ca(e););break;case 2:TE(e,J1(e));break;case 5:TE(e,4);break;case 1:TE(e,8);break;default:throw new Error("Unimplemented type: "+t)}}function rh(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}let SFe=[];function TE(e,t){if(e.offset+t>e.limit)throw new Error("Skip past limit");e.offset+=t}function AFe(e){return e.offset>=e.limit}function g6(e,t){let n=e.bytes,r=e.offset,i=e.limit,o=r+t;if(o>n.length){let s=new Uint8Array(2*o);s.set(n),e.bytes=s}return e.offset=o,o>i&&(e.limit=o),r}function F$(e,t){let n=e.offset;if(n+t>e.limit)throw new Error("Read past limit");return e.offset+=t,n}function JU(e,t){let n=g6(e,t.length);e.bytes.set(t,n)}function ZU(e,t){let n=F$(e,t),r=String.fromCharCode,i=e.bytes,o="<22>",s="";for(let a=0;a<t;a++){let c,l,u,d,f=i[a+n];(128&f)==0?s+=r(f):(224&f)==192?a+1>=t?s+=o:(c=i[a+n+1],(192&c)!=128?s+=o:(d=(31&f)<<6|63&c,d<128?s+=o:(s+=r(d),a++))):(240&f)==224?a+2>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],(49344&(c|l<<8))!=32896?s+=o:(d=(15&f)<<12|(63&c)<<6|63&l,d<2048||d>=55296&&d<=57343?s+=o:(s+=r(d),a+=2))):(248&f)==240?a+3>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],u=i[a+n+3],(12632256&(c|l<<8|u<<16))!=8421504?s+=o:(d=(7&f)<<18|(63&c)<<12|(63&l)<<6|63&u,d<65536||d>1114111?s+=o:(d-=65536,s+=r(55296+(d>>10),56320+(1023&d)),a+=3))):s+=o}return s}function Yu(e,t){let n=t.length,r=0;for(let s=0;s<n;s++){let a=t.charCodeAt(s);a>=55296&&a<=56319&&s+1<n&&(a=(a<<10)+t.charCodeAt(++s)-56613888),r+=a<128?1:a<2048?2:a<65536?3:4}xr(e,r);let i=g6(e,r),o=e.bytes;for(let s=0;s<n;s++){let a=t.charCodeAt(s);a>=55296&&a<=56319&&s+1<n&&(a=(a<<10)+t.charCodeAt(++s)-56613888),a<128?o[i++]=a:(a<2048?o[i++]=a>>6&31|192:(a<65536?o[i++]=a>>12&15|224:(o[i++]=a>>18&7|240,o[i++]=a>>12&63|128),o[i++]=a>>6&63|128),o[i++]=63&a|128)}}function Ca(e){return e.bytes[F$(e,1)]}function YU(e,t){let n=g6(e,1);e.bytes[n]=t}function J1(e){let t,n=0,r=0;do t=Ca(e),n<32&&(r|=(127&t)<<n),n+=7;while(128&t);return r}function xr(e,t){for(t>>>=0;t>=128;)YU(e,127&t|128),t>>>=7;YU(e,t)}function CFe(e,t){let n,r=0,i=0,o=0;return n=Ca(e),r=127&n,128&n&&(n=Ca(e),r|=(127&n)<<7,128&n&&(n=Ca(e),r|=(127&n)<<14,128&n&&(n=Ca(e),r|=(127&n)<<21,128&n&&(n=Ca(e),i=127&n,128&n&&(n=Ca(e),i|=(127&n)<<7,128&n&&(n=Ca(e),i|=(127&n)<<14,128&n&&(n=Ca(e),i|=(127&n)<<21,128&n&&(n=Ca(e),o=127&n,128&n&&(n=Ca(e),o|=(127&n)<<7))))))))),{low:r|i<<28,high:i>>>4|o<<24,unsigned:t}}function Xu(e,t){let n=t.low>>>0,r=(t.low>>>28|t.high<<4)>>>0,i=t.high>>>24,o=i===0?r===0?n<16384?n<128?1:2:n<1<<21?3:4:r<16384?r<128?5:6:r<1<<21?7:8:i<128?9:10,s=g6(e,o),a=e.bytes;switch(o){case 10:a[s+9]=i>>>7&1;case 9:a[s+8]=o!==9?128|i:127&i;case 8:a[s+7]=o!==8?r>>>21|128:r>>>21&127;case 7:a[s+6]=o!==7?r>>>14|128:r>>>14&127;case 6:a[s+5]=o!==6?r>>>7|128:r>>>7&127;case 5:a[s+4]=o!==5?128|r:127&r;case 4:a[s+3]=o!==4?n>>>21|128:n>>>21&127;case 3:a[s+2]=o!==3?n>>>14|128:n>>>14&127;case 2:a[s+1]=o!==2?n>>>7|128:n>>>7&127;case 1:a[s]=o!==1?128|n:127&n}}const XU={},QU={},N4=4294967296,wFe=N4*N4,KU=wFe/2;U$(0,!0);const qU=U$(0),TFe=yg(0,-2147483648,!1),IFe=yg(-1,2147483647,!1);function U$(e,t){let n,r,i;return t?(i=0<=(e>>>=0)&&e<256)&&(r=QU[e],r)?r:(n=yg(e,0,!0),i&&(QU[e]=n),n):(i=-128<=(e|=0)&&e<128)&&(r=XU[e],r)?r:(n=yg(e,e<0?-1:0,!1),i&&(XU[e]=n),n)}function yg(e,t,n){return{low:0|e,high:0|t,unsigned:!!n}}function PFe(e,t){if(isNaN(e))return qU;{if(e<=-KU)return TFe;if(e+1>=KU)return IFe}return e<0?qU:yg(e%N4|0,e/N4|0,t)}function $U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}class xI extends fr{get connectionState(){return this._connectionState}set connectionState(t){if(this._connectionState===t)return;const n=this._connectionState;this._connectionState=t,this.emit(Ka.CONNECTION_STATE_CHANGE,t,n)}get quality(){return this._quality}set quality(t){this._quality=t>1?1:t<.1?.1:t,this._qualityTimer&&(window.clearTimeout(this._qualityTimer),this._qualityTimer=null),this._quality>=1||(this._qualityTimer=window.setTimeout((()=>{this.quality=this._quality/this._qualityRatio}),6e4))}constructor(t){var n;super(),H(this,"name","AgoraRTCImageModeration"),H(this,"_connectionState",Xs.CONNECTING),H(this,"_sequence",0),H(this,"_moderationStartTime",void 0),H(this,"_workerConnection",void 0),H(this,"_workerMessageLengthLimit",void 0),H(this,"_qualityRatio",void 0),H(this,"_connectInfo",void 0),H(this,"_cancelTokenSource",Lo.CancelToken.source()),H(this,"_retryConfig",void 0),H(this,"_moderationInterval",void 0),H(this,"_moderationTimer",null),H(this,"_moderationMode",1),H(this,"_quality",1),H(this,"_qualityTimer",null),H(this,"_ticket",void 0),H(this,"_moderationIntervalMinimum",void 0),H(this,"_uploadFailedNum",0),H(this,"_uploadNum",0),H(this,"_uploadTimer",null),H(this,"_extraInfo",void 0),H(this,"_vendor",""),H(this,"_encoder",new TextEncoder),H(this,"_moderationId",void 0),H(this,"inspectImage",(()=>{if(this.connectionState!==Xs.CONNECTED)throw new xe(Q.OPERATION_ABORTED,"image moderation service connection status is ".concat(this.connectionState));this._moderationTimer&&(window.clearInterval(this._moderationTimer),this._moderationTimer=null),this._moderationTimer=window.setInterval((()=>{this.connectionState===Xs.CONNECTED?this.requestToInspectImage():D.debug("[".concat(this._moderationId,"] Moderation State is not connected , "),this.connectionState)}),this._moderationInterval<this._moderationIntervalMinimum?this._moderationIntervalMinimum:this._moderationInterval),this.requestToInspectImage()})),this._moderationId=Wn(5,"image-moderation-"),this._workerMessageLengthLimit=he("IMAGE_MODERATION_WORKER_MESSAGE_LENGTH_LIMIT"),this._moderationIntervalMinimum=he("IMAGE_MODERATION_INTERVAL_MINIMUM"),this._moderationInterval=(n=t.interval)!==null&&n!==void 0?n:1e3,t.extraInfo&&(this._extraInfo=this._encoder.encode(t.extraInfo)),t.vendor&&(this._vendor=t.vendor),this._qualityRatio=he("IMAGE_MODERATION_QUALITY_RATIO"),this._moderationStartTime=Number(Date.now()),this._workerConnection=new dg("worker-"+this._moderationId,jr),this.on(Ka.STATE_CHANGE,((r,i)=>{D.debug("[".concat(this._moderationId,"] Moderation operation :").concat(Xf[r]," ").concat(i||""))})),this.handleWorkerEvents()}async init(t,n){this.emit(Ka.STATE_CHANGE,Xf.CONNECT_AP),this._connectInfo=t;const r=this._cancelTokenSource.token;return this._retryConfig=n,new ot(((i,o)=>{this.on(Ka.CONNECTION_STATE_CHANGE,((s,a)=>{s===Xs.CONNECTED&&i()})),this.requestAP(t,r,n).then((s=>{this.connectWorker(s)})).catch((s=>{o(s)}))}))}updateConfig(t){var n;this._moderationInterval=(n=t.interval)!==null&&n!==void 0?n:1e3,t.extraInfo&&(this._extraInfo=this._encoder.encode(t.extraInfo)),t.vendor&&(this._vendor=t.vendor),D.debug("[".concat(this._moderationId,"] updateConfig: ").concat(JSON.stringify(t))),this.connectionState===Xs.CONNECTED&&this.inspectImage()}async requestAP(t,n,r){const i=he("WEBCS_DOMAIN").map((c=>"https://".concat(c,"/api/v1"))),o=await(function(c,l,u,d){let{appId:f,areaCode:h,cname:p,sid:g,token:m,uid:y}=l;Zh++;const v="moderation_plugin",E={service_name:v,json_body:JSON.stringify({appId:f,areaCode:h,cname:p,command:"allocateEdge",requestId:Zh,seq:Zh,sid:g,appToken:m,ts:Date.now(),uid:y+""})};let b,S,w=c[0];return wc((async()=>{b=Date.now();const C=await Tc(w,{data:E,cancelToken:u,headers:{"X-Packet-Service-Type":"0","X-Packet-URI":"61"},params:{action:"wrtc_gateway"}});if(S=Date.now()-b,C.code!==0){const O=new xe(Q.UNEXPECTED_RESPONSE,"moderation plugin ap error, code"+C.code,{retry:!0,responseTime:S});throw D.error(O.toString()),O}const _=JSON.parse(C.json_body);if(_.code!==200){const O=new xe(Q.UNEXPECTED_RESPONSE,"moderation plugin ap error, code: ".concat(_.code,", reason: ").concat(_.reason),{code:_.code,responseTime:S});throw D.error(O.toString()),O}if(!_.servers||!Array.isArray(_.servers)||_.servers.length===0){const O=new xe(Q.UNEXPECTED_RESPONSE,"moderation plugin ap empty server",{code:_.code,responseTime:S});throw D.error(O.toString()),O}if(!_.servers.some((O=>!!O.wss))){const O=new xe(Q.UNEXPECTED_RESPONSE,"moderation plugin ap empty port",{code:_.code,responseTime:S});throw D.error(O.toString()),O}const I=he("IMAGE_MODERATION_WORKER_HOST");return{addressList:_.servers.map((O=>{let{address:L,wss:R}=O;if(L&&R)return"wss://".concat(L.replace(/\./g,"-"),".").concat(I,":").concat(R,"/moderation")})).filter((O=>!!O)),workerToken:_.workerToken,vid:_.vid,ticket:_.appTicket,responseTime:S}}),((C,_)=>(mt.apworkerEvent(g,{success:!0,sc:200,serviceName:v,responseDetail:JSON.stringify(C.addressList),firstSuccess:_===0,responseTime:S,serverIp:c[_%c.length]}),!1)),((C,_)=>(mt.apworkerEvent(g,{success:!1,sc:C.data&&C.data.code||200,serviceName:v,responseTime:S,serverIp:c[_%c.length]}),!!(C.code!==Q.OPERATION_ABORTED&&C.code!==Q.UNEXPECTED_RESPONSE||C.data&&C.data.retry)&&(w=c[(_+1)%c.length],!0))),d)})(i,t,n,r);this.emit(Ka.STATE_CHANGE,Xf.AP_CONNECTED);const{addressList:s,ticket:a}=o;return this._ticket=a,s}async connectWorker(t){this.emit(Ka.STATE_CHANGE,Xf.CONNECT_WORKER),await this._workerConnection.init(t,1e4)}handleWorkerEvents(){this._workerConnection.on(Bt.CONNECTED,(async()=>{this.emit(Ka.STATE_CHANGE,Xf.WORKER_CONNECTED,this._workerConnection.url),this.connectionState=Xs.CONNECTED})),this._workerConnection.on(Bt.CLOSED,(()=>{this.connectionState=Xs.CLOSED})),this._workerConnection.on(Bt.FAILED,(()=>{this.connectionState=Xs.CLOSED})),this._workerConnection.on(Bt.RECONNECTING,(()=>{this.connectionState=this.connectionState===Xs.CONNECTED?Xs.RECONNECTING:Xs.CONNECTING})),this._workerConnection.on(Bt.ON_MESSAGE,(async t=>{if(t.data instanceof ArrayBuffer){const n=EFe(new Uint8Array(t.data));he("SHOW_IMAGE_MODERATION_WORKER_MESSAGE")&&D.debug("[".concat(this._moderationId,"] Response message for worker of image moderation "),JSON.stringify(n)),this._uploadNum++,n.code===void 0||n.code===0||(this._uploadFailedNum++,D.error("[".concat(this._moderationId,"] Error response from worke, code is ").concat(n.code,", msg is ").concat(n.msg)),this._uploadTimer||(this._uploadTimer=window.setTimeout((()=>{mt.reportApiInvoke(this._connectInfo.sid||null,{name:Zr.IMAGE_MODERATION_UPLOAD,options:[this._uploadFailedNum,this._uploadNum,n.code],tag:vr.TRACER}).onError(new xe(Q.IMAGE_MODERATION_UPLOAD_FAILED,n.msg)),this._uploadTimer=null}),he("IMAGE_MODERATION_UPLOAD_REPORT_INTERVAL"))))}else D.error("[".concat(this._moderationId,"] Unexpected message type from worker"))})),this._workerConnection.on(Bt.WILL_RECONNECT,((t,n,r)=>{t==="recover"&&r(t),r("tryNext")})),this._workerConnection.on(Bt.REQUEST_NEW_URLS,((t,n)=>{this.requestAP(this._connectInfo,this._cancelTokenSource.token,this._retryConfig).then(t).catch(n)}))}static intToLong(t){return{low:t|=0,high:t>>31,unsigned:t>=0}}async requestToInspectImage(){const t=ia(this,Ka.CLIENT_LOCAL_VIDEO_TRACK),n={appId:this._connectInfo.appId,cname:this._connectInfo.cname,cid:this._connectInfo.cid,sid:this._connectInfo.sid,uid:this._connectInfo.uid,vid:this._connectInfo.vid};if(t){if(!t.isPlaying)return void(he("SHOW_IMAGE_MODERATION_WORKER_MESSAGE")&&D.debug("Only the track being played can be inspected"));this._sequence++;const r=await this.generateRequestData(t,n);this._workerConnection.sendMessage(r,!0,!0)}else he("SHOW_IMAGE_MODERATION_WORKER_MESSAGE")&&D.debug("Only the track being published can be inspected")}async generateRequestData(t,n){let{appId:r,cname:i,cid:o,vid:s,sid:a,uid:c}=n;const l=Date.now(),u=await t.getCurrentFrameImage("image/jpeg",this.quality),d=await e$(u,r,i),f=this._sequence+"-"+o+"-"+c+"-"+l+"-"+Wn(12,""),h={appId:r,cid:o,cname:i,deviceId:"",elapse:xI.intToLong(Number(l-this._moderationStartTime)),fileSize:u.buffer.byteLength,height:u.height,width:u.width,jpg:d,networkType:6,osType:7,requestId:f,sdkVersion:"4.22.0",sequence:this._sequence,sid:a,timestamp:PFe(l),uid:c,vid:s,service:this._moderationMode,ticket:this._ticket,callbackData:this._extraInfo,vendorConfigs:this._vendor};this._extraInfo===void 0&&delete h.callbackData;const p=yFe(h);if(p.byteLength<this._workerMessageLengthLimit){if(he("SHOW_IMAGE_MODERATION_WORKER_MESSAGE")){const g=(function(m){for(var y=1;y<arguments.length;y++){var v=arguments[y]!=null?arguments[y]:{};y%2?$U(Object(v),!0).forEach((function(E){H(m,E,v[E])})):Object.getOwnPropertyDescriptors?Object.defineProperties(m,Object.getOwnPropertyDescriptors(v)):$U(Object(v)).forEach((function(E){Object.defineProperty(m,E,Object.getOwnPropertyDescriptor(v,E))}))}return m})({},h);delete g.jpg,D.debug("[".concat(this._moderationId,"] Request message for worker of image moderation service: "),JSON.stringify(g))}return p}{const g=this.quality*this._qualityRatio;return this.quality=g,await this.generateRequestData(t,{appId:r,cname:i,cid:o,vid:s,sid:a,uid:c})}}close(){this._cancelTokenSource.cancel(),this._cancelTokenSource=Lo.CancelToken.source(),this._workerConnection&&this._workerConnection.close(),this._moderationTimer&&window.clearInterval(this._moderationTimer),this._moderationTimer=null,this._uploadTimer&&window.clearTimeout(this._uploadTimer),this._uploadTimer=null,this.connectionState=Xs.CLOSED,this.emit(Ka.STATE_CHANGE,Xf.CLOSED)}}function j$(e){if(Ln(e.interval,"interval",1e3,1/0),e&&e.extraInfo&&e.extraInfo.length>1024)throw new xe(Q.INVALID_PARAMS,"config.extraInfo length cannot exceed 1024 bytes");if(e&&e.vendor&&e.vendor.length>1024)throw new xe(Q.INVALID_PARAMS,"config.vendor length cannot exceed 1024 bytes")}const OFe={name:"ImageModeration",create:function(e){let{config:t}=e;return j$(t),new xI(t)}};var ej,tj,nj,rj,ij,oj,sj,aj,cj,lj,uj,dj,fj,hj,pj,mj,gj,vj,yj,Ej,bj,Sj,Aj,Cj,wj,Tj,Ij,Pj,Oj,_j,Rj,kj,xj,Dj,Lj,Nj,Mj,Bj,Fj,Uj,at;function jj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function $a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?jj(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jj(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}Hi.setLogger(D);let _Fe=(ej=Pt(),tj=Pt({argsMap:(e,t)=>{if(!Array.isArray(t)){if(!(t instanceof Rh))return[t];t=[t]}return t.map((n=>n?Object(n).toString():"null"))}}),nj=Pt({argsMap:(e,t)=>(t||(t=[]),Array.isArray(t)||t.trackMediaType!==qp.DATA?(Array.isArray(t)||(t=[t]),t.map((n=>n.getTrackId()))):[t.getChannelId()])}),rj=Pt({argsMap:(e,t,n,r)=>[typeof t=="object"?t.uid:t,n,r]}),ij=Pt({argsMap:(e,t,n)=>[t,n]}),oj=Pt({argsMap:(e,t)=>t.map((n=>{let{user:r,mediaType:i}=n;return[r==null?void 0:r.uid,i]}))}),sj=Pt({argsMap:(e,t,n,r)=>[typeof t=="object"?t.uid:t,n,r]}),aj=Pt({argsMap:(e,t)=>t.map((n=>{let{user:r,mediaType:i}=n;return{uid:r==null?void 0:r.uid,mediaType:i}}))}),cj=Pt(),lj=Pt(),uj=Pt(),dj=Pt(),fj=Pt(),hj=Pt(),pj=Pt(),mj=Pt(),gj=Pt(),vj=Pt(),yj=Pt(),Ej=Pt(),bj=Pt(),Sj=Pt(),Aj=Pt({argsMap:(e,t)=>[t]}),Cj=Pt(),wj=Pt(),Tj=Pt(),Ij=Pt(),Pj=Pt(),Oj=Pt(),_j=Pt(),Rj=Pt(),kj=Pt({argsMap:(e,t)=>(Array.isArray(t)||(t=[t]),[JSON.stringify(t)])}),xj=Pt(),Dj=Pt(),Lj=Pt(),Nj=Pt(),Mj=Pt(),Bj=Pt(),Fj=Pt({reportResult:!0}),Uj=Pt(),at=class extends fr{get connectionState(){return this._gateway.state}get remoteUsers(){return this._users}get localTracks(){return this._p2pChannel.getAllTracks(!0)}get uid(){return this._uid}get channelName(){return this._channelName}get localDataChannels(){return this._p2pChannel.getAllDataChannels()}get mode(){return this._config.mode}get role(){var e;return((e=this._config)===null||e===void 0?void 0:e.role)||"audience"}get codec(){return this._config.codec}get audioCodec(){return this._config.audioCodec||"opus"}get isStringUID(){return!!this._joinInfo&&!!this._joinInfo.stringUid}get __className__(){return"Client"}constructor(e){let t;if(super(),H(this,"store",void 0),H(this,"_uid",void 0),H(this,"_channelName",void 0),H(this,"_uintUid",void 0),H(this,"_users",[]),H(this,"_config",void 0),H(this,"_clientId",void 0),H(this,"_appId",void 0),H(this,"_sessionId",null),H(this,"_key",void 0),H(this,"_rtmConfig",{}),H(this,"_joinInfo",void 0),H(this,"_gateway",void 0),H(this,"_statsCollector",void 0),H(this,"_configDistribute",void 0),H(this,"_leaveMutex",new Hi("client-leave")),H(this,"_publishMutex",new Hi("client-publish")),H(this,"_renewTokenMutex",new Hi("client-renewtoken")),H(this,"_subscribeMutex",new Hi("client-subscribe")),H(this,"_encryptionMode","none"),H(this,"_encryptionSecret",null),H(this,"_encryptionSalt",null),H(this,"_encryptDataStream",!1),H(this,"_encryptDataStreamKey",null),H(this,"_encryptDataStreamIv",null),H(this,"_proxyServer",void 0),H(this,"_turnServer",{servers:[],mode:"auto"}),H(this,"_cloudProxyServerMode","disabled"),H(this,"_isDualStreamEnabled",!1),H(this,"_defaultStreamFallbackType",void 0),H(this,"_lowStreamParameter",void 0),H(this,"_streamFallbackTypeCacheMap",new Map),H(this,"_remoteStreamTypeCacheMap",new Map),H(this,"_axiosCancelSource",Lo.CancelToken.source()),H(this,"_audioVolumeIndicationInterval",void 0),H(this,"_networkQualityInterval",void 0),H(this,"_userOfflineTimeout",void 0),H(this,"_streamRemovedTimeout",void 0),H(this,"_liveTranscodeStreamingClient",void 0),H(this,"_liveRawStreamingClient",void 0),H(this,"_channelMediaRelayClient",void 0),H(this,"_networkQualitySensitivity","normal"),H(this,"_p2pChannel",void 0),H(this,"_useLocalAccessPoint",!1),H(this,"_setLocalAPVersion",void 0),H(this,"_joinAndNotLeaveYet",!1),H(this,"_numberOfJoinCount",0),H(this,"_remoteDefaultVideoStreamType",void 0),H(this,"_inspect",void 0),H(this,"_moderation",void 0),H(this,"_license",void 0),H(this,"_pendingPublishedUsers",[]),H(this,"ntpAlignErrorCount",0),H(this,"remoteInboundOffset",0),H(this,"_handleLocalTrackEnable",((n,r,i)=>{this.publish(n,!1).then(r).catch(i)})),H(this,"_handleLocalTrackDisable",((n,r,i)=>{this.unpublish(n).then(r).catch(i)})),H(this,"_handleUserOnline",(n=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(n.uid,this.channelName))return void D.debug("[".concat(n.uid,"] will be ignored in local"));this.isStringUID&&typeof n.uid!="string"&&D.error("[".concat(this._clientId,"] StringUID is Mixed with UintUID"));const r=this._users.find((i=>i.uid===n.uid));if(r)r._trust_in_room_=!0,r._is_pre_created&&(r._is_pre_created=!1,this.safeEmit($t.USER_JOINED,r));else{const i=new md(n.uid,n.uint_id||n.uid);this._users.push(i),D.debug("[".concat(this._clientId,"] user online"),n.uid),this.safeEmit($t.USER_JOINED,i)}})),H(this,"_handleUserOffline",(n=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(n.uid,this.channelName))return;const r=this._users.find((i=>i.uid===n.uid));r&&(this._handleRemoveStream(n),this._handleRemoveDataChannels(n),r._audio_pre_subscribed||r._video_pre_subscribed?r._is_pre_created=!0:T4(this._users,r),this._remoteStreamTypeCacheMap.delete(r.uid),this._streamFallbackTypeCacheMap.delete(r.uid),D.debug("[".concat(this._clientId,"] user offline"),n.uid,"reason:",n.reason),this.safeEmit($t.USER_LEAVED,r,n.reason))})),H(this,"_handleAddAudioOrVideoStream",((n,r,i,o,s,a,c)=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(r,this.channelName))return;const l=this._users.find((d=>d.uid===r));if(!l)return void D.error("[".concat(this._clientId,"] can not find target user!(on_add_stream)"));D.debug("[".concat(this._clientId,"] stream added with uid ").concat(r,", type ").concat(n)),this.store.subscribe(l.uid,n,void 0,void 0,void 0,Date.now());const u=n==="audio"?l.hasAudio:l.hasVideo;l._uintid||(l._uintid=s||r),n==="audio"?l._trust_audio_stream_added_state_=!0:l._trust_video_stream_added_state_=!0,n==="audio"?(l._audio_added_=!0,i!==void 0&&(l._audioSSRC=i),o!==void 0&&(l._cname=o),a&&(l._audioOrtc=a)):(l._video_added_=!0,i!==void 0&&(l._videoSSRC=i),o!==void 0&&(l._cname=o),c!==void 0&&(l._rtxSsrcId=c),a&&(l._videoOrtc=a)),(n==="audio"?l.hasAudio:l.hasVideo)&&!u&&(D.info("[".concat(this._clientId,"] remote user ").concat(l.uid," published ").concat(n)),this.safeEmit($t.USER_PUBLISHED,l,n)),n==="video"?mt.onGatewayStream(this._sessionId,hi.ON_ADD_VIDEO_STREAM,dr.ON_ADD_VIDEO_STREAM,{peer:s||r,ssrc:l._videoSSRC}):mt.onGatewayStream(this._sessionId,hi.ON_ADD_AUDIO_STREAM,dr.ON_ADD_AUDIO_STREAM,{peer:s||r,ssrc:l._audioSSRC}),this._p2pChannel.remoteMediaSsrcChanged(l,n,i).then((d=>{if(d&&(D.debug("[".concat(this._clientId,"] resubscribe ").concat(n," for user ").concat(l.uid," after rejoin because SSRC id changed.")),this._p2pChannel instanceof w5))return this._p2pChannel.unsubscribe(l,n,!0).then((()=>this._subscribe(l,n,!0).catch((f=>{D.error("[".concat(this._clientId,"] resubscribe error"),f.toString())}))))})),this._p2pChannel.hasPendingRemoteMedia(l,n)&&(D.debug("[".concat(this._clientId,"] resubscribe ").concat(n," for user ").concat(l.uid," after reconnect.")),this._subscribe(l,n,!0).catch((d=>{D.error("[".concat(this._clientId,"] resubscribe error"),d.toString())})))})),H(this,"_handleRemoveStream",(n=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(n.uid,this.channelName))return;const r=this._users.find((o=>o.uid===n.uid));if(!r)return void D.warning("[".concat(this._clientId,"] can not find target user!(on_remove_stream)"));D.debug("[".concat(this._clientId,"] stream removed with uid ").concat(n.uid));let i=()=>{};r.hasAudio&&r.hasVideo?i=()=>{D.info("[".concat(this._clientId,"] remote user ").concat(r.uid," unpublished audio track")),this.safeEmit($t.USER_UNPUBLISHED,r,"audio"),D.info("[".concat(this._clientId,"] remote user ").concat(r.uid," unpublished video track")),this.safeEmit($t.USER_UNPUBLISHED,r,"video")}:r.hasVideo?i=()=>{D.info("[".concat(this._clientId,"] remote user ").concat(r.uid," unpublished video track")),this.safeEmit($t.USER_UNPUBLISHED,r,"video")}:r.hasAudio&&(i=()=>{D.info("[".concat(this._clientId,"] remote user ").concat(r.uid," unpublished audio track")),this.safeEmit($t.USER_UNPUBLISHED,r,"audio")}),r._video_pre_subscribed||r._audio_pre_subscribed||(r._trust_audio_stream_added_state_=!0,r._trust_video_stream_added_state_=!0,r._audio_added_=!1,r._video_added_=!1,this._p2pChannel instanceof w5&&this._p2pChannel.unsubscribe(r).then((o=>{if(o)return this._gateway.unsubscribe(o,r.uid)})),r._audioSSRC=void 0,r._videoSSRC=void 0,r._audioOrtc=void 0,r._videoOrtc=void 0,r._rtxSsrcId=void 0),mt.onGatewayStream(this._sessionId,hi.ON_REMOVE_STREAM,dr.ON_REMOVE_STREAM,{peer:n.uint_id||n.uid}),i()})),H(this,"_handleSetStreamLocalEnable",((n,r,i)=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(r,this.channelName))return;const o=this._users.find((c=>c.uid===r));if(!o)return void D.error("[".concat(this._clientId,"] can not find target user!(disable_local)"));D.debug("[".concat(this._clientId,"] local ").concat(n," ").concat(i?"enabled":"disabled"," with uid ").concat(r));const s=n==="audio"?o.hasAudio:o.hasVideo;if(n==="audio"){o._trust_audio_enabled_state_=!0;const c=o._audio_enabled_;if(o._audio_enabled_=i,o._audio_enabled_===c)return;{const l=o._audio_enabled_?"enable-local-audio":"disable-local-audio";D.debug("[".concat(this._clientId,"] user-info-updated, uid: ").concat(r,", msg: ").concat(l)),this.safeEmit($t.USER_INFO_UPDATED,r,l)}}else{o._trust_video_enabled_state_=!0;const c=o._video_enabled_;if(o._video_enabled_=i,o._video_enabled_===c)return;{const l=o._video_enabled_?"enable-local-video":"disable-local-video";D.debug("[".concat(this._clientId,"] user-info-update, uid: ").concat(r,", msg: ").concat(l)),this.safeEmit($t.USER_INFO_UPDATED,r,l)}}const a=n==="audio"?o.hasAudio:o.hasVideo;return s!==a?!s&&a?(D.info("[".concat(this._clientId,"] remote user ").concat(r," published ").concat(n)),void this.safeEmit($t.USER_PUBLISHED,o,n)):(n==="video"&&o._videoTrack&&o._videoTrack._destroy(),n==="audio"&&o._audioTrack,this._p2pChannel.muteRemote(o,n),D.info("[".concat(this._clientId,"] remote user ").concat(r," unpublished ").concat(n)),void this.safeEmit($t.USER_UNPUBLISHED,o,n)):void 0})),H(this,"_handleMuteStream",((n,r,i)=>{if(he("BLOCK_LOCAL_CLIENT")&&f0(n,this.channelName))return;D.debug("[".concat(this._clientId,"] receive mute message"),n,r,i);const o=this._users.find((c=>c.uid===n));if(!o)return void D.warning("[".concat(this._clientId,"] can not find remote user, ignore mute event, uid: ").concat(n));const s=r==="audio"?o.hasAudio:o.hasVideo;if(r==="audio"){o._trust_audio_mute_state_=!0;const c=o._audio_muted_;if(o._audio_muted_=i,o._audio_muted_===c)return;{const l=o._audio_muted_?"mute-audio":"unmute-audio";D.debug("[".concat(this._clientId,"] user-info-update, uid: ").concat(n,", msg: ").concat(l)),this.safeEmit($t.USER_INFO_UPDATED,n,l)}}else{o._trust_video_mute_state_=!0;const c=o._video_muted_;if(o._video_muted_=i,o._video_muted_===c)return;{const l=o._video_muted_?"mute-video":"unmute-video";D.debug("[".concat(this._clientId,"] user-info-update, uid: ").concat(n,", msg: ").concat(l)),this.safeEmit($t.USER_INFO_UPDATED,n,l)}}const a=r==="audio"?o.hasAudio:o.hasVideo;if(s!==a){if(!s&&a)return(r==="audio"?o._audioSSRC:o._videoSSRC)?(D.info("[".concat(this._clientId,"] remote user ").concat(n," published ").concat(r)),void this.safeEmit($t.USER_PUBLISHED,o,r)):void D.warning("[".concat(this._clientId,"] remote user ").concat(n," receive ").concat(r," unmute message before add stream message, ").concat(r," SSRC doesn't exist yet."));r==="video"&&o._videoTrack&&!o._video_pre_subscribed&&o._videoTrack._destroy(),r==="audio"&&o._audioTrack,this._p2pChannel.muteRemote(o,r),D.info("[".concat(this._clientId,"] remote user ").concat(n," unpublished ").concat(r)),this.safeEmit($t.USER_UNPUBLISHED,o,r)}})),H(this,"_handleP2PLost",(async n=>{D.debug("[".concat(this._clientId,"] receive p2p lost"),n),parseInt(n.p2pid,10)===this.store.p2pId?await this._p2pChannel.requestReconnect():D.warning("[".concat(this._clientId,"] P2PLost stream not found"),n)})),H(this,"_handleTokenWillExpire",(()=>{D.debug("[".concat(this._clientId,"] received message onTokenPrivilegeWillExpire")),this.safeEmit($t.ON_TOKEN_PRIVILEGE_WILL_EXPIRE)})),H(this,"_handleBeforeUnload",(n=>{n.type==="beforeunload"&&n.returnValue!==void 0&&n.returnValue!==""||(this.leave(),D.info("[".concat(this._clientId,"] auto leave onbeforeunload or pagehide")))})),H(this,"_handleUpdateNetworkQuality",(()=>{if(this._networkQualitySensitivity==="normal")return;if(navigator&&navigator.onLine!==void 0&&!navigator.onLine)return void this.safeEmit($t.NETWORK_QUALITY,{downlinkNetworkQuality:6,uplinkNetworkQuality:6});const n={downlinkNetworkQuality:0,uplinkNetworkQuality:0};n.uplinkNetworkQuality=this._p2pChannel.getUplinkNetworkQuality(),n.downlinkNetworkQuality=this._p2pChannel.getDownlinkNetworkQuality(),this.safeEmit($t.NETWORK_QUALITY,n)})),H(this,"_handleP2PAddAudioOrVideoStream",((n,r,i,o)=>{const s=this._users.find((c=>c.uid===r));if(!s)return void D.error("[".concat(this._clientId,"] can not find target user!(on_add_stream)"));D.debug("[".concat(this._clientId,"] stream added with uid ").concat(r,", type ").concat(n)),this.store.subscribe(s.uid,n,void 0,void 0,void 0,Date.now());const a=n==="audio"?s.hasAudio:s.hasVideo;n==="audio"?s._trust_audio_stream_added_state_=!0:s._trust_video_stream_added_state_=!0,n==="audio"?(s._audio_added_=!0,i!==void 0&&(s._audioSSRC=i),o!==void 0&&(s._audioMid=o)):(s._video_added_=!0,i!==void 0&&(s._videoSSRC=i),o!==void 0&&(s._videoMid=o)),(n==="audio"?s.hasAudio:s.hasVideo)&&!a&&(D.info("[".concat(this._clientId,"] remote user ").concat(s.uid," published ").concat(n)),this.safeEmit($t.USER_PUBLISHED,s,n)),this._p2pChannel.hasPendingRemoteMedia(s,n)&&(D.debug("[".concat(this._clientId,"] resubscribe ").concat(n," for user ").concat(s.uid," after reconnect.")),this._subscribe(s,n,!0).catch((c=>{D.error("[".concat(this._clientId,"] resubscribe error"),c.toString())})))})),this._config=e,this._clientId=Wn(5,"client-"),this.store=new tNe(e.codec,e.audioCodec,e.mode,this._clientId),this.store.clientCreated(),e.proxyServer&&this.setProxyServer(e.proxyServer,!0),e.turnServer&&this.setTurnServer(e.turnServer,!0),D.info("[".concat(this._clientId,"] Initializing AgoraRTC client v").concat(oa," build: ").concat(fI,", mode: ").concat(this.mode,", codec: ").concat(this.codec)),e.clientRoleOptions)try{aM(e.clientRoleOptions),t=Object.assign({},e.clientRoleOptions)}catch(n){D.warning("[".concat(this._clientId,"] ").concat(n.toString()))}this._statsCollector=new vg(this.store),this._statsCollector.onStatsException=(n,r,i)=>{D.debug("[".concat(this._clientId,"] receive exception msg, code: ").concat(n,", msg: ").concat(r,", uid: ").concat(i)),this.safeEmit($t.EXCEPTION,{code:n,msg:r,uid:i})},this._statsCollector.onUploadPublishDuration=(n,r,i,o)=>{const s=this._users.find((a=>a.uid===n));s&&mt.peerPublishStatus(this._sessionId,{subscribeElapse:o,audioPublishDuration:r,videoPublishDuration:i,peer:s._uintid})},this.store.useP2P=e.mode==="p2p",this._gateway=new kBe(this.store,{clientId:this._clientId,mode:this.mode,codec:this.codec,websocketRetryConfig:e.websocketRetryConfig||jr,httpRetryConfig:e.httpRetryConfig||jr,forceWaitGatewayResponse:e.forceWaitGatewayResponse===void 0||e.forceWaitGatewayResponse,statsCollector:this._statsCollector,role:e.role,clientRoleOptions:t}),this._configDistribute=new HBe,this.store.useP2P?(this._p2pChannel=new rs(this.store,this._statsCollector),this._handleP2PEvents()):this._p2pChannel=new w5(this.store,this._statsCollector),this._handleP2PChannelEvents(),this._handleGatewayEvents(),this._handleGatewaySignalEvents()}async joinMeta(e,t,n,r,i){let o=!(arguments.length>5&&arguments[5]!==void 0)||arguments[5],s=arguments.length>6&&arguments[6]!==void 0&&arguments[6];Dn("JOIN_GATEWAY_USE_443PORT_ONLY",o),Dn("JOIN_GATEWAY_USE_DUAL_DOMAIN",s);const a=this._gateway.signal.websocket;return a instanceof hI&&(a.use443PortOnly=o,a.tryDoubleDomain=s),(async function(c,l,u){n5.get(c)||n5.set(c,[]),r5.get(c)||r5.set(c,l),Rc.get(c)||Rc.set(c,0);const d=n5.get(c),f=r5.get(c);if(!d||!f)throw new Error("concurrent: deferQueue or maxConcurrency is null");if(Rc.get(c)===f){const y=sg();d.push(y),await y.promise}Rc.set(c,Rc.get(c)+1);for(var h=arguments.length,p=new Array(h>3?h-3:0),g=3;g<h;g++)p[g-3]=arguments[g];const m=await u(...p);return Rc.set(c,Rc.get(c)-1),Rc.get(c)===f-1&&d.length>0&&(d[0].resolve(),d.shift()),Rc.get(c)===0&&(n5.set(c,[]),r5.set(c,0),Rc.set(c,0)),m})("client.join",he("JOIN_MAX_CONCURRENCY"),this.join.bind(this),e,t,n,r,i)}async join(e,t,n,r,i){const o=++this._numberOfJoinCount;this.store.joinStart(),r&&(this.store.uid=r);const s=(o5||o5||(o5=(window.location.protocol.split(":")[0]||"").toUpperCase(),o5))==="HTTPS",a=pM()?window.isSecureContext:"Browser Not Support";(!pM()&&!s||!window.isSecureContext)&&D.warning("The website must be running in a secure context (About secure context: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts ), otherwise the media collection will be restricted by the browser"),this.connectionState==="DISCONNECTED"&&(this.store.avoidJoinStart=Math.round(Date.now()),D.debug("[".concat(this._clientId,"] set avoidJoinStart to ").concat(this.store.avoidJoinStart))),mt.setAppId(e);try{if(!n&&n!==null)throw new xe(Q.INVALID_PARAMS,"Invalid token: ".concat(n,". If you don not use token, set it to null"));n&&pi(n,"token",1,2047),pi(e,"appid",1,2047),h6(t),r&&p6(r),i&&pi(i,"optionalInfo",1,2047)}catch(g){throw mt.reportApiInvoke(Ph(),{name:Zr.JOIN,options:[e,t,n,r],states:{isHttps:s,isSecureContext:a},tag:vr.TRACER}).onError(g),g}if(this._leaveMutex.isLocked&&(D.debug("[".concat(this._clientId,"] join: waiting leave operation")),(await this._leaveMutex.lock())(),D.debug("[".concat(this._clientId,"] join: continue"))),this._joinAndNotLeaveYet=!0,this.connectionState!=="DISCONNECTED"){const g=new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Client already in connecting/connected state"));throw mt.reportApiInvoke(Ph(),{name:Zr.JOIN,options:[e,t,n,r],states:{isHttps:s,isSecureContext:a},tag:vr.TRACER}).onError(g),g}this._gateway.state="CONNECTING";const c=await VU({appId:e,cname:t,uid:r,stringUid:typeof r=="string"?r:void 0,token:n||e,cloudProxyServer:this._cloudProxyServerMode});if(!this._joinAndNotLeaveYet)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Client already left"));const l=(c==null?void 0:c.sid)||Ph();D.info("[".concat(this._clientId,"] start join channel ").concat(t,", join number: ").concat(o)),this._sessionId||(this._sessionId=l,this.store.sessionId=this._sessionId);const u=mt.reportApiInvoke(l,{name:Zr.JOIN,options:[e,t,n,r],states:{isHttps:s,isSecureContext:a},tag:vr.TRACER}),d=$a($a({},this._rtmConfig),{},{clientId:this._clientId,appId:e,sid:this._sessionId,cname:t,uid:typeof r!="string"?r:null,turnServer:this._turnServer,proxyServer:this._proxyServer,token:n||e,cloudProxyServer:this._cloudProxyServerMode,optionalInfo:i,license:this._license,useLocalAccessPoint:this._useLocalAccessPoint,preload:!!c},this._remoteDefaultVideoStreamType!==void 0&&{defaultVideoStream:this._remoteDefaultVideoStreamType});if(this._useLocalAccessPoint&&(d.setLocalAPVersion=this._setLocalAPVersion),typeof r=="string"&&(d.stringUid=r,this._uintUid?(d.uid=this._uintUid,this._uintUid=void 0):d.uid=0),this._encryptionMode!=="none"&&this._encryptionSecret){if(d.aesmode=this._encryptionMode,d.aespassword=await(async g=>{const m=(function(b){const S=window.atob(`MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCMnXAHkKIGAM+x4N22gCI+Wyu
STM9ztkT3uYslTT2PuKmZfPzhH6kVdO7PTjGCOZnAsyb3oTtWat0KcxQ4jxvqQV+
HvYl3iI1Yd4vl2c3qRMJPLtRDfNxa2Mcxgq7e9aEUibzdd0st+OJAy3tOj/Y0aVy
xQiYDz3vqa6bP29adwIDAQAB`),w=new Uint8Array(new ArrayBuffer(S.length));for(let C=0;C<S.length;C+=1)w[C]=S.charCodeAt(C);return w})(),y=await window.crypto.subtle.importKey("spki",m,{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"]),v=cI(g),E=await window.crypto.subtle.encrypt({name:"RSA-OAEP"},y,v);return(function(b){let S="";for(let w=0;w<b.length;w+=1)S+=String.fromCharCode(b[w]);return window.btoa(S)})(new Uint8Array(E))})(this._encryptionSecret),!this._joinAndNotLeaveYet)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Client already left"));this._encryptionSalt&&(d.aessalt=this._encryptionSalt)}if(this._encryptDataStream&&(this._encryptionMode==="aes-128-gcm2"||this._encryptionMode==="aes-256-gcm2"))if(this._encryptionSalt&&this._encryptionSecret)if(window.crypto.subtle){const g=new TextEncoder,m=he("USE_PURE_ENCRYPTION_MASTER_KEY")?g.encode(d.appId+this._encryptionSecret+this._encryptionSecret):g.encode(d.appId+d.cname+this._encryptionSecret);this._encryptDataStreamIv=await(async function(y,v,E){const b=await window.crypto.subtle.importKey("raw",v,"PBKDF2",!1,["deriveBits","deriveKey"]),S=y==="aes-128-gcm2"?128:256,w=await window.crypto.subtle.deriveBits({name:"PBKDF2",iterations:gM,hash:"SHA-256",salt:E},b,S+nNe);return new Uint8Array(w).subarray(S/8)})(this._encryptionMode,m,H0(this._encryptionSalt)),this._encryptDataStreamKey=await(async function(y,v,E){const b=await window.crypto.subtle.importKey("raw",v,"PBKDF2",!1,["deriveBits","deriveKey"]),S=y==="aes-128-gcm2"?128:256;return await window.crypto.subtle.deriveKey({name:"PBKDF2",iterations:gM,hash:"SHA-256",salt:E},b,{name:"AES-GCM",length:S},!0,["encrypt","decrypt"])})(this._encryptionMode,m,H0(this._encryptionSalt))}else a?D.warning("[".concat(this._clientId,"] encrypt datastream must be running in a secure context, fallback to plain data stream")):D.warning("[".concat(this._clientId,"] current browser do not support WebCrypto ,fallback to plain data stream")),this._encryptDataStream=!1;else this._encryptDataStream=!1,D.debug("[".concat(this._clientId,"] no salt / secret, cannot support encrypt data stream, fallback to plain data stream"));this._startSession(this._sessionId,{channel:t,appId:e,stringUid:d.stringUid});const f=this._sessionId;setTimeout((()=>{this.connectionState==="CONNECTING"&&f===this._sessionId&&mt.joinChannelTimeout(this._sessionId,5)}),5e3);try{var h;let g;const m=d.cloudProxyServer;if(lt(h=["proxy3","proxy4","proxy5"]).call(h,m)){const S=he("PROXY_SERVER_TYPE3");Array.isArray(S)?d.proxyServer=S[0]:d.proxyServer=S}if(mt.setProxyServer(d.proxyServer),D.setProxyServer(d.proxyServer),this.store.requestAPStart(),c){if(D.debug("[".concat(this._clientId,"] get serverInfo Success from Preload Cache ").concat(d.stringUid?", ".concat(d.stringUid," => ").concat(c.intUid):""," ")),d.stringUid&&!d.uid&&(d.uid=c.intUid),g={gatewayInfo:c.ap.gatewayInfo},he("JOIN_WITH_FALLBACK_MEDIA_PROXY")&&d.turnServer.mode==="auto")if(c.ap.proxyInfo.addresses.length===0)D.warning("no edge services in ap response of proxy fallback, will not set proxy in iceServers");else{const S=(await Oq(c.ap.proxyInfo,c.ap.gatewayInfo.uid)).map((w=>({turnServerURL:w.address,tcpport:w.tcpport||Ti.tcpport,udpport:w.udpport||Ti.udpport,username:w.username||Ti.username,password:w.password||Ti.password,forceturn:!1,security:!0})));d.turnServer={mode:"manual",servers:S}}GU(c,d.stringUid)}else{if(d.stringUid&&!d.uid){let S;[S,g]=await ot.all([y$(d.stringUid,d,this._axiosCancelSource.token,this._config.httpRetryConfig||jr,this.store),ZF(d,this._axiosCancelSource.token,this._config.httpRetryConfig||jr,!0,this.store)]),D.debug("[".concat(this._clientId,"] getUserAccount Success ").concat(d.stringUid," => ").concat(S)),d.uid=S,g.gatewayInfo.uid=S,g.gatewayInfo.res.uid=S}else g=await ZF(d,this._axiosCancelSource.token,this._config.httpRetryConfig||jr,!0,this.store);if(!this._joinAndNotLeaveYet)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Client already left"))}this.store.requestAPEnd(),setTimeout((()=>{this._configDistribute.startGetConfigDistribute(d,this._axiosCancelSource.token),this._configDistribute.on(QA.UPDATE_BITRATE_LIMIT,(S=>{this._p2pChannel.updateBitrateLimit(S)}))}),0),this._key=n||e;const y=g.gatewayInfo,v=d.uid?d.uid:y.uid;this._joinInfo=$a($a({},d),{},{cid:y.cid,uid:v,vid:y.vid,apResponse:y.res,apGatewayAddress:y.apGatewayAddress,uni_lbs_ip:y.uni_lbs_ip,gatewayAddrs:y.gatewayAddrs}),this.store.intUid=v;const E=await this._joinGateway();if(!this._joinAndNotLeaveYet)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Client already left"));u.onSuccess(E),this._appId=e,this._channelName=d.cname,this._uid=E,this.store.uid=E,setTimeout((()=>{this._networkQualityInterval&&window.clearInterval(this._networkQualityInterval),this._networkQualityInterval=window.setInterval(this._handleUpdateNetworkQuality,2e3),window.addEventListener(Ri()?"beforeunload":"pagehide",this._handleBeforeUnload),this._statsCollector.startUpdateStats()}),0);const b=d.stringUid?"string uid: ".concat(d.stringUid,",uid: ").concat(d.uid):"uid: ".concat(this._uid);return D.info("[".concat(this._clientId,"] Joining channel success: channel: ").concat(t,",").concat(b)),setTimeout((()=>{D.startUpload()}),5e3),this.store.joinEnd(),p=this,lt(hd).call(hd,p)||hd.push(p),this._cloudProxyServerMode==="disabled"&&fn().supportWebCrypto&&he("ENABLE_PRELOAD")&&kI(this._joinInfo),E}catch(g){const m=Array.isArray(g)?g[0]:g;throw m&&m.code===Q.OPERATION_ABORTED?D.warning("[".concat(this._clientId,"] join number: ").concat(o,", Joining channel failed, rollback"),m):D.error("[".concat(this._clientId,"] join number: ").concat(o,", Joining channel failed, rollback"),m),m.code!==Q.OPERATION_ABORTED&&this._numberOfJoinCount===o&&(this._gateway.state="DISCONNECTED",this._reset()),u.onError(m),m}var p}_joinGateway(){if(!this._joinInfo||!this._key)throw new xe(Q.INVALID_OPERATION);return this._gateway.join(this._joinInfo,this._key,!(this._joinInfo.cloudProxyServer!=="disabled"||this._joinInfo.proxyServer||!he("JOIN_WITH_FALLBACK_SIGNAL_PROXY")))}async leave(){D.info("[".concat(this._clientId,"] Leaving channel")),window.removeEventListener(Ri()?"beforeunload":"pagehide",this._handleBeforeUnload),this._reset(),(function(t){const n=hd.indexOf(t);n!==-1&&hd.splice(n,1)})(this),this._statsCollector.stopUpdateStats();const e=await this._leaveMutex.lock();if(this.connectionState==="DISCONNECTED")return D.info("[".concat(this._clientId,"] Leaving channel repeated, success")),void e();await this._gateway.leave(this.connectionState!=="CONNECTED"),D.info("[".concat(this._clientId,"] Leaving channel success")),this._joinAndNotLeaveYet=!1,this.store.resetJoinChannelServiceRecords(),e()}async publish(e){let t=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(!Array.isArray(e)){if(!(e instanceof Rh))return this._publishDataChannel(e);e=[e]}if(e.length===0)throw new xe(Q.INVALID_PARAMS,"param list is empty");const n=e;if(this._gateway.role==="audience")throw new xe(Q.INVALID_OPERATION,"audience can not publish stream");for(const i of n){if(!(i instanceof Rh))throw new xe(Q.INVALID_PARAMS,"parameter is not local track");if(!i._enabled&&t)throw new xe(Q.TRACK_IS_DISABLED,"can not publish a disabled track: ".concat(i.getTrackId()))}D.info("[".concat(this._clientId,"] Publishing tracks, id ").concat(n.map((i=>"".concat(i.getTrackId()," ")))));const r=await this._publishMutex.lock();await this._configDistribute.awaitConfigDistributeComplete(),t&&n.forEach((i=>{const o=this._configDistribute.getBitrateLimit();i instanceof Kn&&o&&i.setBitrateLimit(o.uplink)}));try{await this._publishHighStream(n),D.info("[".concat(this._clientId,"] Publish success, id ").concat(n.map((i=>"".concat(i.getTrackId()," ")))))}catch(i){throw D.error("[".concat(this._clientId,"] publish error"),i.toString()),i}finally{r()}}async _publishDataChannel(e){Ln(e.id,"id",0,65535,!0),nu(e.ordered,"ordered"),pi(e.metadata,"metadata",0,512),D.info("[".concat(this._clientId,"] Publishing datachannels, id ").concat(e.id));const t=await this._publishMutex.lock();try{if(this._p2pChannel.getAllDataChannels().findIndex((i=>i.id===e.id))!==-1)throw new xe(Q.INVALID_PARAMS,"Invalid id: ".concat(e.id,". If you want to republish the datachannel, unpublish first"));if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't publish datachannel, haven't joined yet!");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish datachannel in ".concat(this.connectionState," state"));if(this._turnServer.mode==="auto"&&he("FORCE_TURN")&&!he("TURN_ENABLE_TCP")&&!he("TURN_ENABLE_UDP"))throw new xe(Q.UNEXPECTED_ERROR,"force TURN With No TURN Configuration");const n=(function(i){return UU(i,!1)})(e),r=await this._p2pChannel.publishDataChannel([n]);if(r.length>0){if(typeof n._originDataChannelId!="number")throw D.error("[".concat(this._clientId,"] can not publish with mediaType datachannel, cannot get RTCDatachannel id")),new xe(Q.CREATE_DATACHANNEL_ERROR);try{await ot.all(r.map((i=>this._uid&&this._gateway.publishDataChannel(this._uid,i,!0)))),await n._waitTillOpen()}catch(i){if(i.code!==Q.DISCONNECT_P2P)throw i}}return D.info("[".concat(this._clientId,"] Publish dataChannels success, id ").concat(n.id)),n}catch(n){throw D.error("[".concat(this._clientId,"] publish datachannels error"),n.toString()),n}finally{t()}}async unpublish(e){if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't unpublish stream, haven't joined yet!");let t=[];if(e)if(Array.isArray(e))t=e;else{if(!(e instanceof Rh))return this._unpublishDataChannel([e]);t=[e]}else this.store.useP2P||await this._unpublishDataChannel(),t=this._p2pChannel.getAllTracks(!0);D.info("[".concat(this._clientId,"] Unpublish tracks, tracks ").concat(t.map((r=>"".concat(r.getTrackId()," ")))," "));const n=await this._publishMutex.lock();try{if(this._p2pChannel instanceof rs){const r=await this._p2pChannel.unpublish(t);r&&await this._gateway.sendExtensionMessage(Cr.UNPUBLISH,{unpubMsg:r},!0)}else{const r=await this._p2pChannel.unpublish(t);r&&await this._gateway.unpublish(r,this._uid),D.info("[".concat(this._clientId,"] Unpublish success,tracks ").concat(t.map((i=>"".concat(i.getTrackId())))))}}catch(r){throw D.error("[".concat(this._clientId,"] unpublish error"),r.toString()),r}finally{n&&n()}}async _unpublishDataChannel(e){e!==void 0&&e.length!==0||(e=this._p2pChannel.getAllDataChannels()),D.info("[".concat(this._clientId,"] Unpublish datachannels, datachannels ").concat(e.map((n=>"".concat(n.id," ")))," "));const t=await this._publishMutex.lock();try{const n=await this._p2pChannel.unpublishDataChannel(e);n&&await this._gateway.unpublishDataChannel(n),D.info("[".concat(this._clientId,"] Unpublish dataChannel success,dataChannel ").concat(e.map((r=>"".concat(r.id)))))}catch(n){throw D.error("[".concat(this._clientId,"] unpublish dataChannel error"),n.toString()),n}finally{t&&t()}}async subscribe(e,t,n){if(!(e instanceof md)){const r=this.remoteUsers.find((i=>i.uid===e));if(!r)throw new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");e=r}return t==="datachannel"?this._subscribeDataChannel(e,n):this._subscribe(e,t)}async presubscribe(e,t){if(Kr(t,"mediaType",["audio","video"]),this._p2pChannel instanceof rs)throw new xe(Q.INVALID_OPERATION,"can't presub at p2p mode");if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can't presub when not join");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can't presub in ".concat(this.connectionState," state"));const n=t===vt.AUDIO,r=t===vt.VIDEO,i=await this._subscribeMutex.lock();try{const{ssrcId:o,ortc:s,rtxSsrcId:a,cname:c,uint_id:l}=await this._gateway.presubscribe(e,t,!0);if(o==null)throw new xe(Q.UNEXPECTED_RESPONSE,"no ssrc id");let u=this._users.find((f=>f.uid===e));u||(u=new md(e,l||e),u._is_pre_created=!0,this._users.push(u)),c&&(u._cname=c),u._uintid||(u._uintid=l||e),n&&(u._audioSSRC=o,u._audio_pre_subscribed=!0,s&&(u._audioOrtc=s)),r&&(u._videoSSRC=o,u._video_pre_subscribed=!0,s&&(u._videoOrtc=s),a!=null&&(u._rtxSsrcId=a)),D.info("[".concat(this._clientId,"] presub succeed ssrc: ").concat(o)),await this._p2pChannel.subscribe(u,t,o,a,s);const d=n?u._audioTrack:u._videoTrack;if(!d)throw new xe(Q.UNEXPECTED_ERROR,"can not find remote track in user");return n&&(u._trust_audio_stream_added_state_=!0,u._audio_added_=!0),r&&(u._trust_video_stream_added_state_=!0,u._video_added_=!0),d}catch(o){throw D.error("[".concat(this._clientId,"] presub user ").concat(e," error"),o),o}finally{i()}}async _subscribeDataChannel(e,t){var n;if(Ln(t,"channelId",0,65535,!0),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't subscribe datachannel, not joined");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"Can't subscribe datachannel in ".concat(this.connectionState," state"));if(!this._users.find((a=>a===e)))throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", this user is not in the channel")),new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");if(!e.hasAudio&&!e.hasVideo&&e._dataChannels.length===0)throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", user is not published")),new xe(Q.INVALID_REMOTE_USER,"user is not published");const i=(n=e._dataChannels)===null||n===void 0?void 0:n.find((a=>a.id===t));if(!i)throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid," with mediaType datachannel, remote datachannel is not published")),new xe(Q.REMOTE_USER_IS_NOT_PUBLISHED);const o=await this._subscribeMutex.lock();D.info("[".concat(this._clientId,"] subscribe user ").concat(e.uid,", mediaType: datachannel"));try{const a=await this._p2pChannel.subscribeDataChannel(e,[i]);if(a&&lt(a).call(a,i.id))try{var s;if(typeof i._originDataChannelId!="number")throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid," with mediaType datachannel, cannot get RTCDatachannel")),new xe(Q.CREATE_DATACHANNEL_ERROR);const c={id:i.id,datachannelId:i._originDataChannelId,ordered:i.ordered,maxRetransmits:i.maxRetransmits,metadata:(s=i.metadata)!==null&&s!==void 0?s:""};await this._gateway.subscribeDataChannel(e.uid,c,!0),await i._waitTillOpen()}catch(c){if((c==null?void 0:c.code)!==Q.WS_ABORT)throw await this._p2pChannel.unsubscribeDataChannel(e,[i]),c;await this._p2pChannel.unsubscribeDataChannel(e,[i]),this._p2pChannel.setPendingRemoteDataChannel(e,i.id)}return D.info("[".concat(this._clientId,"] subscribe success user ").concat(e.uid,", mediaType: datachannel")),i}finally{o()}}async _p2pSubscribe(e,t,n){if(Kr(t,"mediaType",["audio","video"]),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream, not joined");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream in ".concat(this.connectionState," state"));if(!this._users.find((o=>o===e))){const o=new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", this user is not in the channel")),o}if(!e.hasAudio&&!e.hasVideo){const o=new xe(Q.INVALID_REMOTE_USER,"user is not published");throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", user is not published")),o}if(!n&&(t==="audio"&&!e.hasAudio||t==="video"&&!e.hasVideo)){const o=new xe(Q.REMOTE_USER_IS_NOT_PUBLISHED);throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid," with mediaType ").concat(t,", remote track is not published")),o}const i=await this._subscribeMutex.lock();D.info("[".concat(this._clientId,"] subscribe user ").concat(e.uid,", mediaType: ").concat(t));try{if(await this._p2pChannel.hasRemoteMediaWithLock(e,t))await this._p2pChannel.unmuteRemote(e,t);else try{const s=t==="audio"?e._audioSSRC:e._videoSSRC,a=t==="audio"?e._audioMid:e._videoMid;this.store.subscribe(e.uid,t,Date.now()),this._p2pChannel instanceof rs&&await this._p2pChannel.subscribe(e,t,s,a)}catch(s){throw s}D.info("[".concat(this._clientId,"] subscribe success user ").concat(e.uid,", mediaType: ").concat(t)),this._defaultStreamFallbackType&&this.setStreamFallbackOption(e.uid,this._defaultStreamFallbackType).catch((s=>{D.warning("[".concat(this._clientId,"] auto set fallback failed"),s)}));const o=t==="audio"?e._audioTrack:e._videoTrack;if(!o)throw new xe(Q.UNEXPECTED_ERROR,"can not find remote track in user object");return o}catch(o){throw D.error("[".concat(this._clientId,"] subscribe user ").concat(e.uid," error"),o),o}finally{i()}}async _subscribe(e,t,n){if(this._p2pChannel instanceof rs)return this._p2pSubscribe(e,t);if(Kr(t,"mediaType",["audio","video"]),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream, not joined");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream in ".concat(this.connectionState," state"));if(!this._users.find((l=>l===e))){const l=new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", this user is not in the channel")),l}if(!e.hasAudio&&!e.hasVideo){const l=new xe(Q.INVALID_REMOTE_USER,"user is not published");throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid,", user is not published")),l}if(!(n||(t!=="audio"||e.hasAudio&&e._audioSSRC!==void 0)&&(t!=="video"||e.hasVideo&&e._videoSSRC!==void 0))){const l=new xe(Q.REMOTE_USER_IS_NOT_PUBLISHED);throw D.error("[".concat(this._clientId,"] can not subscribe ").concat(e.uid," with mediaType ").concat(t,", remote track is not published")),l}let i=t==="audio"?e._audioSSRC:e._videoSSRC,o=t==="audio"?e._audioOrtc:e._videoOrtc,s=t==="video"?e._rtxSsrcId:void 0,a={stream_type:t==="audio"?vt.AUDIO:vt.VIDEO,ssrcId:i};const c=await this._subscribeMutex.lock();D.info("[".concat(this._clientId,"] subscribe user ").concat(e.uid,", mediaType: ").concat(t));try{if(await this._p2pChannel.hasRemoteMediaWithLock(e,t))await this._p2pChannel.unmuteRemote(e,t);else try{const u=t==="audio"?e._audioSSRC:e._videoSSRC;u!==void 0&&u!==i&&(i=u,o=t==="audio"?e._audioOrtc:e._videoOrtc,s=t==="video"?e._rtxSsrcId:void 0,a={stream_type:t==="audio"?vt.AUDIO:vt.VIDEO,ssrcId:i}),ji.markSubscribeStart(this.store.clientId,i),this.store.subscribe(e.uid,t,Date.now()),await this._p2pChannel.subscribe(e,t,i,s,o);try{this._p2pChannel.isPreSubScribe(i)||await this._gateway.subscribe(e.uid,a,!0)}catch(d){if((d==null?void 0:d.code)!==Q.WS_ABORT)throw await this._p2pChannel.unsubscribe(e,t),d;await this._p2pChannel.unsubscribe(e,t,!0),this._p2pChannel.setPendingRemoteMedia(e,t)}this.store.subscribe(e.uid,t,void 0,Date.now()),this._p2pChannel.reportSubscribeEvent(!0,null,e,t)}catch(u){throw this._p2pChannel.reportSubscribeEvent(!1,u==null?void 0:u.code,e,t),u}D.info("[".concat(this._clientId,"] subscribe success user ").concat(e.uid,", mediaType: ").concat(t)),this._defaultStreamFallbackType&&this.setStreamFallbackOption(e.uid,this._defaultStreamFallbackType).catch((u=>{D.warning("[".concat(this._clientId,"] auto set fallback failed"),u)}));const l=t==="audio"?e._audioTrack:e._videoTrack;if(!l)throw new xe(Q.UNEXPECTED_ERROR,"can not find remote track in user object");return l}catch(l){throw D.error("[".concat(this._clientId,"] subscribe user ").concat(e.uid," error"),l),l}finally{c()}}async massSubscribe(e){if(Zl(e,"subscribeList"),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream, not joined");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"Can't subscribe stream in ".concat(this.connectionState," state"));const t=Date.now(),n=new Map,r=await this._subscribeMutex.lock();D.info("[".concat(this._clientId,"]start massSubscribe user ").concat(e.map((a=>{let{user:c,mediaType:l}=a;return"user: ".concat(c==null?void 0:c.uid,", mediaType: ").concat(l)})).join("; ")));const i=(e=[...e]).map((a=>{let{user:c,mediaType:l}=a;return{user:c,mediaType:l}})),o=await this._p2pChannel.globalLock();try{var s;for(let c=e.length-1;c>=0;c--){const l=e[c],{user:u,mediaType:d}=l;if(Kr(d,"mediaType",["audio","video"]),!u){const g=new xe(Q.INVALID_PARAMS,"user property does not exist in subscribeList item");throw D.error("[".concat(this._clientId,"] user property does not exist in subscribeList item")),g}if(!this._users.find((g=>g===u))){const g=new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");D.error("[".concat(this._clientId,"] can not massSubscribe ").concat(u.uid,", this user is not in the channel")),i[c].error=g,e.splice(c,1);continue}if(d==="audio"&&(!u.hasAudio||u._audioSSRC===void 0)||d==="video"&&(!u.hasVideo||u._videoSSRC===void 0)){const g=new xe(Q.REMOTE_USER_IS_NOT_PUBLISHED);D.error("[".concat(this._clientId,"] can not subscribe ").concat(u.uid," with mediaType ").concat(d,", remote user is not published")),i[c].error=g,e.splice(c,1);continue}const h=ti.Video|ti.LwoVideo,p=n.get(u);if(p){if(d==="video"?p&h:p&ti.Audio){e.splice(c,1),D.warning("[".concat(this._clientId,"] repeat massSubscribe user:").concat(u.uid,", mediaType:").concat(d," twice"));continue}n.set(u,p|(d==="video"?h:ti.Audio))}else n.set(u,d==="video"?h:ti.Audio)}for(let c=e.length-1;c>=0;c--){const l=e[c],{user:u,mediaType:d}=l,f=ti.Video|ti.LwoVideo;if(this._p2pChannel.hasRemoteMedia(u,d)){await this._p2pChannel.unmuteRemoteNoLock(u,d);const h=n.get(u);n.set(u,d==="video"?h^f:h^ti.Audio),e.splice(c,1)}}this.store.massSubscribe(e.map((c=>({userId:c.user.uid,type:c.mediaType}))),t);let a=vc(s=Array.from(n.entries())).call(s,((c,l)=>{let[u,d]=l;if(d===0)return c;const f={stream_id:u.uid,stream_type:d};return d&ti.Audio&&(f.audio_ssrc=u._audioSSRC),d&ti.Video&&(f.video_ssrc=u._videoSSRC),c.push(f),c}),[]);try{e.length>0&&await this._p2pChannel.massSubscribeNoLock(e.map((l=>{let{user:u,mediaType:d}=l;return{user:u,mediaType:d,ssrcId:d===vt.VIDEO?u._videoSSRC:u._audioSSRC,rtxSsrcId:d===vt.VIDEO?u._rtxSsrcId:void 0}})));const c=new Map;if(a=a.filter((l=>l.video_ssrc&&!this._p2pChannel.isPreSubScribe(l.video_ssrc)||l.audio_ssrc&&!this._p2pChannel.isPreSubScribe(l.audio_ssrc)||!l.video_ssrc&&!l.audio_ssrc)),a.length>0){const l=await this._gateway.subscribeAll(a,!0);((l==null?void 0:l.users)||[]).forEach((u=>{let{stream_id:d,video_error_code:f,audio_error_code:h,error_code:p}=u;(f||h||p)&&c.set(d,{video_error_code:f,audio_error_code:h,error_code:p})}))}if(Array.from(c.entries()).length>0){const l=[];Array.from(c.entries()).forEach((u=>{let[d,f]=u;const h=this.remoteUsers.find((p=>p.uid===d));if(h){let p;f.error_code||f.video_error_code&&f.audio_error_code?p=void 0:f.video_error_code?p=vt.VIDEO:f.audio_error_code&&(p=vt.AUDIO),l.push({user:h,mediaType:p})}})),l.length>0&&await this._p2pChannel.massUnsubscribeNoLock(l)}for(const l of i){const u=c.get(l.user.uid);if(u){const d=u.error_code||l.mediaType==="audio"&&u.audio_error_code||l.mediaType==="video"&&u.video_error_code;if(d){const f=ug(d);D.error("user:".concat(l.user.uid," mediaType:").concat(l.mediaType," has massSubscribe error ").concat(f.desc)),l.error=new xe(Q.SUBSCRIBE_FAILED,"code ".concat(d,": ").concat(f.desc))}}l.error||(l.mediaType==="video"?l.track=l.user.videoTrack:l.track=l.user.audioTrack)}return this.store.massSubscribe(i.filter((l=>!l.error)).map((l=>({userId:l.user.uid,type:l.mediaType}))),void 0,Date.now()),i.forEach((l=>{var u;mt.subscribe(this.store.sessionId,{succ:!!l.error,ec:((u=l.error)===null||u===void 0?void 0:u.code)||null,video:l.mediaType===vt.VIDEO,audio:l.mediaType===vt.AUDIO,peerid:l.user.uid,subscribeRequestid:l.mediaType===vt.VIDEO?l.user._videoSSRC:l.user._audioSSRC,p2pid:this.store.p2pId,eventElapse:Math.floor(performance.now()-t),preSsrc:this._p2pChannel.isPreSubScribe(l.user._videoSSRC)},!0)})),D.info("[".concat(this._clientId,"] massSubscribe success ").concat(e.map((l=>{let{user:u,mediaType:d}=l;return"user: ".concat(u==null?void 0:u.uid,", mediaType: ").concat(d)})).join("; "))),i}catch(c){throw await this._p2pChannel.massUnsubscribeNoLock(e),c}}finally{o(),r()}}async unsubscribe(e,t,n){if(!(e instanceof md)){const o=this.remoteUsers.find((s=>s.uid===e));if(!o)throw new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");e=o}if(t||this.store.useP2P){if(t==="datachannel")return this._unsubscribeDataChannel(e,n)}else await this._unsubscribeDataChannel(e,n);if(t&&Kr(t,"mediaType",["audio","video"]),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't unsubscribe stream, haven't joined yet!");if(!this._users.find((o=>o===e))){const o=new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");throw D.error("[".concat(this._clientId,"] can not unsubscribe ").concat(e.uid,", user is not in the channel")),o}D.info("[".concat(this._clientId,"] unsubscribe uid: ").concat(e.uid,", mediaType: ").concat(t));const i=await this._subscribeMutex.lock();try{if(this._p2pChannel instanceof rs)await this._p2pChannel.unsubscribe(e,t);else{const o=await this._p2pChannel.unsubscribe(e,t);o&&await this._gateway.unsubscribe(o,e.uid),t&&t!=="audio"||(e._audio_pre_subscribed=!1),t&&t!=="video"||(e._video_pre_subscribed=!1),e._is_pre_created&&T4(this._users,e),D.info("[".concat(this._clientId,"] unsubscribe success uid: ").concat(e.uid,", mediaType: ").concat(t))}}catch(o){if(o.code===Q.DISCONNECT_P2P)return void D.warning("disconnecting p2p, abort unsubscribe request.");throw D.error("[".concat(this._clientId,"] unsubscribe user ").concat(e.uid," error"),o.toString()),o}finally{i()}}async _unsubscribeDataChannel(e,t){if(t&&Ln(t,"id",0,65535,!0),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't unsubscribe datachannel, haven't joined yet!");if(!this._users.find((i=>i===e))){const i=new xe(Q.INVALID_REMOTE_USER,"user is not in the channel");throw D.error("[".concat(this._clientId,"] can not unsubscribe ").concat(e.uid,", user is not in the channel")),i}let r;if(typeof t=="number"){const i=e._dataChannels.find((o=>o.id===t));i&&(r=[i])}else r=e._dataChannels;if(r===void 0){const i=new xe(Q.REMOTE_USER_IS_NOT_PUBLISHED);throw D.error("[".concat(this._clientId,"] can not unsubscribe ").concat(e.uid," with channelId ").concat(t,", remote datachannel is not published")),i}D.info("[".concat(this._clientId,"] unsubscribe uid: ").concat(e.uid,", mediaType: datachannel, ids: ").concat(r.map((i=>i.id))));try{const i=await this._p2pChannel.unsubscribeDataChannel(e,r);i&&await this._gateway.unsubscribeDataChannel(i,e.uid),D.info("[".concat(this._clientId,"] unsubscribe datachannel success uid: ").concat(e.uid,", mediaType: datachannel, ids: ").concat(i))}catch(i){if(i.code===Q.DISCONNECT_P2P)return void D.warning("disconnecting p2p, abort unsubscribe request.");throw D.error("[".concat(this._clientId,"] unsubscribe user ").concat(e.uid," error"),i.toString()),i}}async massUnsubscribe(e){if(Zl(e,"unsubscribeList"),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't unsubscribeAll stream, haven't joined yet!");D.info("[".concat(this._clientId,"] start massUnsubscribe ").concat(e.map((n=>{let{user:r,mediaType:i}=n;return"user: ".concat(r==null?void 0:r.uid,", mediaType: ").concat(i,";")})).join())),e=[...e];const t=new Map;for(let n=e.length-1;n>=0;n--){const{user:r,mediaType:i}=e[n];if(!r){const a=new xe(Q.INVALID_PARAMS,"user property does not exist in unsubscribeList item");throw D.error("[".concat(this._clientId,"] user property does not exist in unsubscribeList item")),a}if(Kr(i,"mediaType",["video","audio",void 0]),!this._users.find((a=>a===r))){D.warning("[".concat(this._clientId,"] can not unsubscribe ").concat(r.uid,", user is not in the channel")),e.splice(n,1);continue}const s=ti.Video|ti.LwoVideo;if(t.has(r)){const a=t.get(r);let c;switch(i){case"video":c=a&s;break;case"audio":c=a&ti.Audio;break;default:c=a&(ti.Audio|s)}if(c){D.warning("[".concat(this._clientId,"] repeat massUnsubscribe user:").concat(r.uid,",mediaType:").concat(i," twice.")),e.splice(n,1);continue}i?i==="audio"?t.set(r,a|ti.Audio):i==="video"&&t.set(r,a|s):t.set(r,a|ti.Audio|s)}else i?i==="audio"?t.set(r,ti.Audio):i==="video"&&t.set(r,s):t.set(r,ti.Audio|s)}try{const n=await this._p2pChannel.massUnsubscribe(e);n&&await this._gateway.massUnsubscribe(n),D.info("[".concat(this._clientId,"] massUnsubscribe success ").concat(e.map((r=>{let{user:i,mediaType:o}=r;return"user: ".concat(i==null?void 0:i.uid,", mediaType: ").concat(o,";")})).join()))}catch(n){if(n.code===Q.DISCONNECT_P2P)return void D.warning("[".concat(this._clientId,"] disconnecting p2p, abort unsubscribe request."));throw D.error("[".concat(this._clientId,"] massUnsubscribe error"),n.toString()),n}}async setLowStreamParameter(e){(function(n){if(!n)throw new Be(Q.INVALID_PARAMS);ur(n.width)||x9(n.width,"streamParameter.width"),ur(n.height)||x9(n.height,"streamParameter.height"),ur(n.framerate)||x9(n.framerate,"streamParameter.framerate"),ur(n.bitrate)||Ln(n.bitrate,"streamParameter.bitrate")})(e),(!e.width&&e.height||e.width&&!e.height)&&D.warning("[".concat(this._clientId,"] The width and height parameters take effect only when both are set")),D.info("[".concat(this._clientId,"] set low stream parameter to"),JSON.stringify(e));const t=this._configDistribute.getLowStreamConfigDistribute();if(t&&t.bitrate&&e.bitrate&&t.bitrate<e.bitrate&&(e.bitrate=t.bitrate),this._lowStreamParameter=e,this._isDualStreamEnabled)return this._p2pChannel.updateVideoStreamParameter(e,ze.LocalVideoLowTrack)}async enableDualStream(){if(!fn().supportDualStream)throw mt.streamSwitch(this._sessionId,{lts:Date.now(),isdual:!0,succ:!1}),new xe(Q.NOT_SUPPORTED,"Your browser is not support dual stream");if(this._isDualStreamEnabled)throw new xe(Q.INVALID_OPERATION,"Dual stream is already enabled");if(this._p2pChannel.canPublishLowStream())try{await this._publishLowStream()}catch(e){throw mt.streamSwitch(this._sessionId,{lts:Date.now(),isdual:!0,succ:!1}),e}this._isDualStreamEnabled=!0,mt.streamSwitch(this._sessionId,{lts:Date.now(),isdual:!0,succ:!0}),D.info("[".concat(this._clientId,"] enable dual stream"))}async disableDualStream(){if(this._isDualStreamEnabled){if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"Can't publish stream, haven't joined yet!");if(this._p2pChannel.getLocalMedia(ze.LocalVideoLowTrack))try{const e=await this._p2pChannel.unpublishLowStream();e&&await this._gateway.unpublish(e,this._joinInfo.stringUid||this._joinInfo.uid)}catch(e){throw mt.streamSwitch(this._sessionId,{lts:Date.now(),isdual:!1,succ:!1}),e}this._isDualStreamEnabled=!1,mt.streamSwitch(this._sessionId,{lts:Date.now(),isdual:!1,succ:!0}),D.info("[".concat(this._clientId,"] disable dual stream"))}}async setClientRole(e,t){if((function(n){Kr(n,"role",["audience","host"])})(e),t&&aM(t),this.mode==="rtc"||this.mode==="p2p")throw D.warning("[".concat(this._clientId,"]").concat(this.mode," mode can not use setClientRole")),new xe(Q.INVALID_OPERATION,"".concat(this.mode," mode can not use setClientRole"));if(t&&t.level&&e==="host")throw new xe(Q.INVALID_OPERATION,"host mode can not set audience latency level");if(e==="audience"&&this._p2pChannel.hasLocalMedia())throw new xe(Q.INVALID_OPERATION,"can not set client role to audience when publishing stream");await this._gateway.setClientRole(e,t),this._config.role=e,D.info("[".concat(this._clientId,"] set client role to ").concat(e,", level: ").concat(t&&t.level))}getRemoteInboundOffset(){var e;const t=(e=this._p2pChannel.getStats())===null||e===void 0?void 0:e.audioSend[0];if(!t||!t.timestamp)return 0;const n=t.timestamp-Date.now();return Math.abs(n)>1e3+t.rttMs+100?this.ntpAlignErrorCount+=1:this.ntpAlignErrorCount=0,this.ntpAlignErrorCount>=3?n:0}getNtpWallTimeInMs(){return document.visibilityState==="visible"&&(this.remoteInboundOffset=this.getRemoteInboundOffset()),this.remoteInboundOffset+Date.now()+this._gateway.ntpOffset}setProxyServer(e,t){if(pi(e,"proxyServer"),!t){if(this.connectionState!=="DISCONNECTED")throw new xe(Q.INVALID_OPERATION,"Set proxy server before join channel");if(this._cloudProxyServerMode!=="disabled"||this._useLocalAccessPoint)throw new xe(Q.INVALID_OPERATION,"You have already set the proxy")}this._proxyServer=e,mt.setProxyServer(this._proxyServer),D.setProxyServer(this._proxyServer),D.info("[".concat(this._clientId,"] Set proxy server ").concat(t?"by initialize call":""," success."))}setTurnServer(e,t){if(Array.isArray(e)||(e=[e]),!t){if(this.connectionState!=="DISCONNECTED")throw new xe(Q.INVALID_OPERATION,"Set turn server before join channel");if(this._cloudProxyServerMode!=="disabled"||this._useLocalAccessPoint)throw new xe(Q.INVALID_OPERATION,"You have already set the proxy")}if(l6(e))return this._turnServer={servers:e,mode:"original-manual"},void D.info("[".concat(this._clientId,"] Set original turnserver ").concat(t?"by initialize call":""," success: ").concat(e.map((n=>n.urls)).join(","),"."));e.forEach((n=>mq(n))),this._turnServer={servers:e,mode:"manual"},D.info("[".concat(this._clientId,"] Set turnserver ").concat(t?"by initialize call":""," success."))}setLicense(e){if(this.connectionState!=="DISCONNECTED")throw new xe(Q.INVALID_OPERATION,"you should set license before join channel");if(pi(e,"license",32,32),!/^[A-Za-z\d]+$/.test(e))throw new xe(Q.INVALID_PARAMS,"license should only contains characters from A-Z a-z 0-9");this._license=e,D.info("[".concat(this._clientId,"] set license success"),e)}startProxyServer(e){if(this.connectionState!=="DISCONNECTED")throw new xe(Q.INVALID_OPERATION,"Start proxy server before join channel");if(this._proxyServer||this._turnServer.mode==="manual"||this._useLocalAccessPoint)throw new xe(Q.INVALID_OPERATION,"You have already set the proxy");const t=[3,4,5];let n;switch(e===void 0&&(e=3),e){case 1:case 2:throw new xe(Q.NOT_SUPPORTED,"proxy mode 1/2 has been deprecated and not supported.");case 3:n="proxy3";break;case 4:n="proxy4";break;case 5:n="proxy5";break;default:throw new xe(Q.INVALID_PARAMS,"proxy server mode must be ".concat(t.join("|")))}this._cloudProxyServerMode=n,this.store.cloudProxyServerMode=n,D.info("[".concat(this._clientId,"] set cloud proxy server mode to"),this._cloudProxyServerMode)}stopProxyServer(){if(this.connectionState!=="DISCONNECTED")throw new xe(Q.INVALID_OPERATION,"Stop proxy server after leave channel");mt.setProxyServer(),D.setProxyServer(),this._cloudProxyServerMode="disabled",this.store.cloudProxyServerMode="disabled",D.info("[".concat(this._clientId,"] set cloud proxy server mode to"),this._cloudProxyServerMode),this._proxyServer=void 0,this._turnServer={mode:"auto",servers:[]}}setLocalAccessPointsV2(e){if(!e.accessPoints)throw new xe(Q.INVALID_PARAMS,"accessPoints is required.");Zl(e.accessPoints.serverList,"accessPoints.serverList"),pi(e.accessPoints.domain,"accessPoints.domain");const t=(f,h)=>{Ln(f,h,0,65535,!0)};let n=443;if(e.accessPoints.port&&(t(e.accessPoints.port,"accessPoints.port"),n=e.accessPoints.port),this._proxyServer||this._cloudProxyServerMode!=="disabled")throw new xe(Q.INVALID_OPERATION,"set local access point failed, You have already set the cloud proxy");he("CLOSE_AFB_FOR_LOCAL_AP")&&(Dn("JOIN_WITH_FALLBACK_SIGNAL_PROXY",!1),Dn("JOIN_WITH_FALLBACK_MEDIA_PROXY",!1));const r=/^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,i=e.accessPoints.domain,o=e.accessPoints.serverList.map((f=>r.test(f)?"".concat(f.replace(/\./g,"-"),".").concat(i):f)),s=o.map((f=>"".concat(f,":").concat(n)));this._useLocalAccessPoint=!0,this._setLocalAPVersion=2,Dn("WEBCS_DOMAIN",s),Dn("WEBCS_DOMAIN_BACKUP_LIST",s),Dn("GATEWAY_DOMAINS",[i]),e.report&&e.report.hostname&&Array.isArray(e.report.hostname)&&e.report.hostname.length?(Zl(e.report.hostname,"report.hostname"),Dn("EVENT_REPORT_DOMAIN",e.report.hostname[0]),Dn("EVENT_REPORT_BACKUP_DOMAIN",e.report.hostname[1]||e.report.hostname[0])):(Dn("EVENT_REPORT_DOMAIN",o[0]),Dn("EVENT_REPORT_BACKUP_DOMAIN",o[1]||o[0]));let a=6443;e.report&&e.report.port&&(t(e.report.port,"report.port"),a=e.report.port),Dn("STATS_COLLECTOR_PORT",a),e.report?Dn("ENABLE_EVENT_REPORT",!0):Dn("ENABLE_EVENT_REPORT",!1);let c="";e.log&&e.log.hostname&&Array.isArray(e.log.hostname)&&e.log.hostname.length?(Zl(e.log.hostname,"log.hostname"),c=e.log.hostname[0]):c=o[0];let l=6444;e.log&&e.log.port&&(t(e.log.port,"log.port"),l=e.log.port),Dn("LOG_UPLOAD_SERVER","".concat(c,":").concat(l));let u=[];e.cds&&e.cds.hostname&&Array.isArray(e.cds.hostname)&&e.cds.hostname.length?(Zl(e.cds.hostname,"cds.hostname"),u=e.cds.hostname):u=o;let d=443;e.cds&&e.cds.port&&(t(e.cds.port,"cds.port"),d=e.cds.port),Dn("CDS_AP",u.map((f=>"".concat(f,":").concat(d)))),e.cds?Dn("ENABLE_CONFIG_DISTRIBUTE",!0):Dn("ENABLE_CONFIG_DISTRIBUTE",!1),D.info("set local access point v2 success")}setLocalAccessPoints(e,t){if(Zl(e,"serverList"),pi(t,"domain"),this._proxyServer||this._cloudProxyServerMode!=="disabled")throw new xe(Q.INVALID_OPERATION,"set local access point failed, You have already set the cloud proxy");const n=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;e=e.map((r=>n.test(r)?"".concat(r.replace(/\./g,"-"),".").concat(t):r)),this._useLocalAccessPoint=!0,this._setLocalAPVersion=1,Dn("WEBCS_DOMAIN",e),Dn("WEBCS_DOMAIN_BACKUP_LIST",e),Dn("GATEWAY_DOMAINS",[t]),Dn("EVENT_REPORT_DOMAIN",e[0]),Dn("EVENT_REPORT_BACKUP_DOMAIN",e[1]||e[0]),Dn("LOG_UPLOAD_SERVER","".concat(e[0],":6444")),D.info("[".concat(this._clientId,"] set local access point success"))}async setRemoteDefaultVideoStreamType(e){if(Kr(e,"streamType",[0,1]),this._remoteDefaultVideoStreamType=e,this._joinInfo)try{await this._gateway.setDefaultRemoteVideoStreamType(e),this._joinInfo.defaultVideoStream=this._remoteDefaultVideoStreamType}catch(t){throw D.error("[".concat(this._clientId,"] set default remote video stream type error"),t.toString()),t}else D.debug("[".concat(this._clientId,"] haven't joined yet, cache remoteDefaultVideoStreamType ").concat(e))}async setRemoteVideoStreamType(e,t){Kr(t,"streamType",[0,1]);try{await this._gateway.setRemoteVideoStreamType(e,t),setTimeout((()=>{const n=this._users.find((r=>r.uid===e));n&&n.videoTrack&&n.videoTrack.updateMediaStreamTrackResolution()}),2e3)}catch(n){throw D.error("[".concat(this._clientId,"] set remote video stream type error"),n.toString()),n}D.info("[".concat(this._clientId,"] set remote ").concat(e," video stream type to ").concat(t)),this._remoteStreamTypeCacheMap.set(e,t)}async setStreamFallbackOption(e,t){Kr(t,"fallbackType",[0,1,2]);try{await this._gateway.setStreamFallbackOption(e,t)}catch(n){throw D.error("[".concat(this._clientId,"] set stream fallback option"),n.toString()),n}D.info("[".concat(this._clientId,"] set remote ").concat(e," stream fallback type to ").concat(t)),this._streamFallbackTypeCacheMap.set(e,t)}setEncryptionConfig(e,t,n,r){(function(o){Kr(o,"encryptionMode",["aes-128-xts","aes-256-xts","aes-128-ecb","sm4-128-ecb","aes-128-gcm","aes-256-gcm","aes-128-gcm2","aes-256-gcm2","none"])})(e),pi(t,"secret");const i=["aes-128-gcm2","aes-256-gcm2"];if(lt(i).call(i,e)){if(!n||!(n instanceof Uint8Array&&n.length===32))throw new xe(Q.INVALID_PARAMS,"salt must be an Uint8Array and exactly equal to 32 bytes")}else if(n)throw new xe(Q.INVALID_PARAMS,"current encrypt mode does not need salt");if(r){if(nu(r,"encryptDataStream"),!lt(i).call(i,e))throw new xe(Q.INVALID_PARAMS,"current encrypt mode does not support data stream");this._encryptDataStream=!0}new RegExp(`^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*,.<>?/:;'"|{}\\[\\]])(?=.{8,})`).test(t)||D.warning(`The secret is not strong:
The secret must contain at least 1 lowercase alphabetical character,
The secret must contain at least 1 uppercase alphabetical character,
The secret must contain at least 1 numeric character,
The secret must contain at least one special character,
The secret must be eight characters or longer.
`),this._encryptionMode=e,this._encryptionSecret=t,n&&(this._encryptionSalt=_d(n))}async renewToken(e){if(pi(e,"token",1,2047),!this._key||!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"renewToken should not be called before user join");const t=this._key;this._key=e,this._joinInfo&&(this._joinInfo.token=e);const n=await this._renewTokenMutex.lock();try{if(he("USE_NEW_TOKEN")){D.debug("[".concat(this._clientId,"] start renew token with ticket from unilbs"));const r=await jBe(this._joinInfo,this._axiosCancelSource.token,this._config.httpRetryConfig||jr);D.debug("[".concat(this._clientId,"] get ticket from unilbs success")),await this._gateway.renewToken({token:e,ticket:r})}else D.debug("[".concat(this._clientId,"] start renew token without ticket")),await this._gateway.renewToken({token:e});D.debug("[".concat(this._clientId,"] renewToken success"))}catch(r){throw this._key=t,this._joinInfo.token=t,D.error("[".concat(this._clientId,"] renewToken failed"),r.toString()),r}finally{n()}}enableAudioVolumeIndicator(){this._audioVolumeIndicationInterval?D.warning("you have already enabled audio volume indicator!"):this._audioVolumeIndicationInterval=window.setInterval((()=>{const e=this._p2pChannel.getAudioLevels();this.safeEmit($t.VOLUME_INDICATOR,e)}),he("AUDIO_VOLUME_INDICATION_INTERVAL")||2e3)}getRTCStats(){const e=this._statsCollector.getRTCStats(),t=this._gateway.getInChannelInfo();return e.Duration=Math.round(t.duration/1e3),e}async startLiveStreaming(e,t){if(!t){if(this.codec!=="h264")throw new xe(Q.LIVE_STREAMING_INVALID_RAW_STREAM,"raw streaming is only support h264");if(!this._p2pChannel.hasLocalMedia())throw new xe(Q.LIVE_STREAMING_INVALID_RAW_STREAM,"can not find stream to raw streaming")}if(this._liveRawStreamingClient&&this._liveRawStreamingClient.hasUrl(e)||this._liveTranscodeStreamingClient&&this._liveTranscodeStreamingClient.hasUrl(e))throw new xe(Q.LIVE_STREAMING_TASK_CONFLICT);const n=t?au.TRANSCODE:au.RAW;return this._createLiveStreamingClient(n).startLiveStreamingTask(e,n)}setLiveTranscoding(e){return this._createLiveStreamingClient(au.TRANSCODE).setTranscodingConfig(e)}async stopLiveStreaming(e){const t=[this._liveRawStreamingClient,this._liveTranscodeStreamingClient].filter((n=>n&&n.hasUrl(e)));if(!t.length)throw new xe(Q.INVALID_PARAMS,"can not find live streaming url to stop");await ot.all(t.map((n=>n&&n.stopLiveStreamingTask(e))))}async startChannelMediaRelay(e){IU(e),await this._createChannelMediaRelayClient().startChannelMediaRelay(e)}async updateChannelMediaRelay(e){IU(e),await this._createChannelMediaRelayClient().updateChannelMediaRelay(e)}async stopChannelMediaRelay(){await this._createChannelMediaRelayClient().stopChannelMediaRelay(),this._statsCollector.onStatsChanged&&(this._statsCollector.onStatsChanged=void 0)}async sendStreamMessage(e){var t;let n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send data stream, not joined");if((typeof e=="string"||e instanceof Uint8Array)&&(e={payload:e}),typeof e.payload=="string"){const i=new TextEncoder;e.payload=i.encode(e.payload)}let r=!1;if(this._encryptDataStream&&this._encryptDataStreamIv&&this._encryptDataStreamKey&&window.crypto.subtle&&lt(t=["aes-128-gcm2","aes-256-gcm2"]).call(t,this._encryptionMode)&&(r=!0,e.payload=await(async function(i,o,s){var a;const c=vc(a=Array.from(s)).call(a,((g,m)=>g+m),0),l={serverTs:0,seq:rNe++,length:s.length,checkSum:c},u=new Uint8Array(hM(c,2)),d=new ArrayBuffer(Yf),f=new DataView(d);f.setUint32(0,l.serverTs),f.setUint16(4,l.seq),f.setUint16(6,l.length),f.setUint16(8,l.checkSum);const h=16-s.length%16;s=lM(s,new Uint8Array(h));const p=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i,tagLength:mM,additionalData:u},o,s);return lM(new Uint8Array(d),new Uint8Array(p))})(this._encryptDataStreamIv,this._encryptDataStreamKey,e.payload)),new Blob([e.payload]).size>1024)throw new xe(Q.INVALID_PARAMS,r?"encrypted stream message out of range.":"stream message out of range.");return this._gateway.signal.request(Dt.DATA_STREAM,{payload:_d(e.payload),syncWithAudio:e.syncWithAudio,sendTs:Date.now()-dFe},!n)}sendMetadata(e){if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send metadata, not joined");if(new Blob([e]).size>1024)throw new xe(Q.METADATA_OUT_OF_RANGE);return this._gateway.signal.request(Dt.SEND_METADATA,{session_id:this._joinInfo.sid,metadata:_d(e)})}async sendCustomReportMessage(e){if(Array.isArray(e)||(e=[e]),e.forEach(oNe),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send custom report, not joined");await mt.sendCustomReportMessage(this._joinInfo.sid,e)}getLocalAudioStats(){return this._statsCollector.getLocalAudioTrackStats()}getRemoteAudioStats(){return this._statsCollector.getRemoteAudioTrackStats()}getLocalVideoStats(){return this._statsCollector.getLocalVideoTrackStats()}getRemoteVideoStats(){return this._statsCollector.getRemoteVideoTrackStats()}getRemoteNetworkQuality(){return this._statsCollector.getRemoteNetworkQualityStats()}async pickSVCLayer(e,t){Kr(t.spatialLayer,"spatialLayer",[0,1,2,3]),Kr(t.temporalLayer,"temporalLayer",[0,1,2,3]);try{await this._gateway.pickSVCLayer(e,t)}catch(n){throw D.error("[".concat(this._clientId,"] pick SVC layer failed"),n.toString()),n}}async setRTMConfig(e){const{apRTM:t=!1,rtmFlag:n}=e;if(nu(t,"apRTM"),Ln(n,"rtmFlag",0),this._rtmConfig.apRTM=t,this._rtmConfig.rtmFlag=n,D.debug("[".concat(this._clientId,"] setRTMconfig ").concat(JSON.stringify(e)," in ").concat(this.connectionState," state")),(this.connectionState==="CONNECTED"||this.connectionState==="RECONNECTING")&&this._joinInfo)return this._joinInfo.apRTM=t,this._joinInfo.rtmFlag=n,this._gateway.setRTM2Flag(n)}_reset(){if(D.debug("[".concat(this._clientId,"] reset client")),this._axiosCancelSource.cancel(),this._axiosCancelSource=Lo.CancelToken.source(),this._streamFallbackTypeCacheMap=new Map,this._remoteStreamTypeCacheMap=new Map,this._configDistribute.stopGetConfigDistribute(),this._joinInfo&&N$(this._joinInfo),this._joinInfo=void 0,this._proxyServer=void 0,this._defaultStreamFallbackType=void 0,this._sessionId=null,this.store.sessionId=null,this._statsCollector.reset(),this._key=void 0,this._appId=void 0,this._uid=void 0,this.store.uid=void 0,this._channelName=void 0,this._encryptionMode="none",this._encryptionSecret=null,this._encryptionSalt=null,this._encryptDataStreamKey=null,this._encryptDataStreamIv=null,this._pendingPublishedUsers=[],this._users.forEach((e=>{e._audioTrack&&e._audioTrack._destroy(),e._videoTrack&&e._videoTrack._destroy(),e._dataChannels&&(e._dataChannels.forEach((t=>t._close())),e._dataChannels.length=0)})),this._users=[],this._audioVolumeIndicationInterval&&(window.clearInterval(this._audioVolumeIndicationInterval),this._audioVolumeIndicationInterval=void 0),this._cloudProxyServerMode==="fallback"&&(this._cloudProxyServerMode="disabled",this.store.cloudProxyServerMode="disabled"),this._p2pChannel.reset(),this._publishMutex=new Hi("client-publish"),this._subscribeMutex=new Hi("client-subscribe"),this._networkQualityInterval&&(window.clearInterval(this._networkQualityInterval),this._networkQualityInterval=void 0),this._liveRawStreamingClient&&(this._liveRawStreamingClient.terminate(),this._liveRawStreamingClient.removeAllListeners(),this._liveRawStreamingClient=void 0),this._liveTranscodeStreamingClient&&(this._liveTranscodeStreamingClient.terminate(),this._liveTranscodeStreamingClient.removeAllListeners(),this._liveTranscodeStreamingClient=void 0),this._channelMediaRelayClient&&(this._channelMediaRelayClient.dispose(),this._channelMediaRelayClient=void 0),this._inspect)try{this._inspect.close(),this._inspect=void 0}catch{}if(this._moderation)try{this.setImageModeration(!1)}catch{}}_startSession(e,t){var n;const r=e||Ph();e?D.debug("[".concat(this._clientId,"] new Session ").concat(r)):D.debug("[".concat(this._clientId,"] renewSession ").concat(this._sessionId," => ").concat(r));const i=e?"":this._sessionId||"";this._sessionId=r,this.store.sessionId=r;const o={lts:new Date().getTime(),mode:this.mode,buildFormat:2,stringUid:(t==null?void 0:t.stringUid)||((n=this._joinInfo)===null||n===void 0?void 0:n.stringUid),channelProfile:this.mode==="live"?1:0,channelMode:0,isABTestSuccess:Number(this._configDistribute.isSuccess),lsid:i,clientRole:this.role==="audience"?2:1};mt.sessionInit(this._sessionId,$a({cname:t.channel,appid:t.appId},o)),this._joinInfo&&(this._joinInfo.sid=r),this._gateway.joinInfo&&(this._gateway.joinInfo.sid=r)}async _publishHighStream(e){if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't publish stream, haven't joined yet!");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish stream in ".concat(this.connectionState," state"));if(this._turnServer.mode==="auto"&&he("FORCE_TURN")&&!he("TURN_ENABLE_TCP")&&!he("TURN_ENABLE_UDP"))throw new xe(Q.UNEXPECTED_ERROR,"force TURN With No TURN Configuration");D.debug("[".concat(this._clientId,"] publish high stream"));try{const n=await this._p2pChannel.publish(e,this._isDualStreamEnabled,this._lowStreamParameter);if(this._p2pChannel instanceof rs){const r=(await n.next()).value;if(r){try{await this._gateway.sendExtensionMessage(Cr.PUBLISH,r,!0)}catch(i){throw n.throw(i),i}await n.next()}this._p2pChannel.reportPublishEvent(!0,null)}else{const r=(await n.next()).value;if(r){var t;let i;try{i=await this._gateway.publish(this._uid,r,!0)}catch(o){if(o.code!==Q.DISCONNECT_P2P)throw n.throw(o),o}await n.next(((t=i)===null||t===void 0?void 0:t.ortc)||[])}this._p2pChannel.reportPublishEvent(!0,null);for(const i of e)i instanceof Kn&&i._encoderConfig&&this._gateway.setVideoProfile(i._encoderConfig),!i.muted&&i.enabled||await this._p2pChannel.muteLocalTrack(i)}}catch(n){if(this._p2pChannel.reportPublishEvent(!1,n==null?void 0:n.code,e),(n==null?void 0:n.code)===Q.WS_ABORT)return;throw n}}async _publishLowStream(){if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't publish stream, haven't joined yet!");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish stream in ".concat(this.connectionState," state"));D.debug("[".concat(this._clientId,"] publish low stream"));const e=this._configDistribute.getLowStreamConfigDistribute();e&&e.bitrate&&(this._lowStreamParameter||(this._lowStreamParameter={width:160,height:120,framerate:15,bitrate:50}),this._lowStreamParameter&&this._lowStreamParameter.bitrate&&e.bitrate<this._lowStreamParameter.bitrate&&(this._lowStreamParameter.bitrate=e.bitrate));try{const n=await this._p2pChannel.publishLowStream(this._lowStreamParameter),r=(await n.next()).value;if(r){var t;let i;try{i=await this._gateway.publish(this._uid,r,!0)}catch(o){if(o.code!==Q.DISCONNECT_P2P)throw n.throw(o),o}n.next(((t=i)===null||t===void 0?void 0:t.ortc)||[]),this._p2pChannel.reportPublishEvent(!0,null,void 0,!0)}}catch(n){if(this._p2pChannel.reportPublishEvent(!1,n==null?void 0:n.code,void 0,!0),(n==null?void 0:n.code)===Q.WS_ABORT)return;throw n}}_createLiveStreamingClient(e){const t=()=>{if(!this._joinInfo||!this._appId)return new xe(Q.INVALID_OPERATION,"can not create live streaming client, please join channel first").throw();const n=(r={joinInfo:this._joinInfo,appId:this._appId,websocketRetryConfig:this._config.websocketRetryConfig,httpRetryConfig:this._config.httpRetryConfig},G1("LiveStreaming").create(r));var r;return n.onLiveStreamError=(i,o)=>{mt.reportApiInvoke(this._sessionId,{name:Zr.ON_LIVE_STREAM_ERROR,options:[i,o],tag:vr.TRACER}).onSuccess(),this.safeEmit($t.LIVE_STREAMING_ERROR,i,o)},n.onLiveStreamWarning=(i,o)=>{mt.reportApiInvoke(this._sessionId,{name:Zr.ON_LIVE_STREAM_WARNING,options:[i,o],tag:vr.TRACER}).onSuccess(),this.safeEmit($t.LIVE_STREAMING_WARNING,i,o)},n.on(XA.REQUEST_WORKER_MANAGER_LIST,((i,o,s)=>{if(!this._joinInfo)return s(new xe(Q.INVALID_OPERATION,"can not find join info to get worker manager"));(async function(a,c,l,u){const d=he("UAP_AP").slice(0,he("AJAX_REQUEST_CONCURRENT")).map((f=>c.proxyServer?"https://".concat(c.proxyServer,"/ap/?url=").concat(f+"/api/v1?action=uap"):"https://".concat(f,"/api/v1?action=uap")));return await LBe(d,a,c,l,u)})(i,this._joinInfo,this._axiosCancelSource.token,jr).then(o).catch(s)})),n};return e===au.RAW?(this._liveRawStreamingClient=this._liveRawStreamingClient||t(),this._liveRawStreamingClient):(this._liveTranscodeStreamingClient=this._liveTranscodeStreamingClient||t(),this._liveTranscodeStreamingClient)}_createChannelMediaRelayClient(){if(!this._joinInfo)return new xe(Q.INVALID_OPERATION,"can not create channel media relay client, please join channel first").throw();if(!this._channelMediaRelayClient){const{sendResolutionWidth:t,sendResolutionHeight:n}=this.getLocalVideoStats(),r=(e={joinInfo:this._joinInfo,clientId:this._clientId,websocketRetryConfig:this._config.websocketRetryConfig,httpRetryConfig:this._config.httpRetryConfig,resolution:{width:t,height:n}},G1("ChannelMediaRelay").create(e));r.on("state",(i=>{i===zo.RELAY_STATE_FAILURE&&r&&r.dispose(),this.safeEmit($t.CHANNEL_MEDIA_RELAY_STATE,i)})),r.on("event",(i=>{this.safeEmit($t.CHANNEL_MEDIA_RELAY_EVENT,i)})),this._channelMediaRelayClient=r,this._statsCollector.onStatsChanged=(i,o)=>{var s;i==="resolution"&&((s=this._channelMediaRelayClient)===null||s===void 0||s.setVideoProfile(o))}}var e;return this._channelMediaRelayClient}_handleUpdateDataChannel(e,t){const{added:n,deleted:r}=e,i=[];if(t){const o=[];this._users.forEach((s=>{s._dataChannels.forEach((a=>{n.every((c=>c.uid!==s._uintid||c.stream_id!==a.id))&&o.push({uid:s._uintid,stream_id:a.id,ordered:a.ordered,max_retrans_times:a.maxRetransmits,metadata:a.metadata})}))})),o.length>0&&this._handleUpdateDataChannel({added:[],deleted:o})}Array.isArray(n)&&n.length>0&&n.forEach((o=>{const{uid:s,stream_id:a,ordered:c,max_retrans_times:l,metadata:u}=o,d=this._users.find((f=>f._uintid===s));if(!d)return void D.error("[".concat(this._clientId,"] can not find target user!(on_add_data_channel)"));if(D.debug("[".concat(this._clientId,"] data_channel added with uid ").concat(s)),lt(i).call(i,d)||i.push(d),d._uintid||(d._uintid=s),d._dataChannels.findIndex((f=>f.id===o.stream_id))===-1){const f={id:a,ordered:!!c,maxRetransmits:l,metadata:u},h=(function(p){return UU(p,!0)})(f);d._dataChannels.push(h),D.info("[".concat(this._clientId,"] remote user ").concat(d.uid," published datachannel")),t||this.safeEmit($t.USER_PUBLISHED,d,"datachannel",f)}this._p2pChannel.hasPendingRemoteDataChannel(d,o.stream_id)&&(D.debug("[".concat(this._clientId,"] resubscribe datachannel for user ").concat(d.uid," after reconnect.")),this._subscribeDataChannel(d,o.stream_id).catch((f=>{D.error("[".concat(this._clientId,"] resubscribe datachannel error"),f.toString())})))})),t&&(this.safeEmit($t.PUBLISHED_USER_LIST,this._pendingPublishedUsers),this._pendingPublishedUsers=[]),Array.isArray(r)&&r.length>0&&r.forEach((o=>{const{uid:s,stream_id:a}=o,c=this._users.find((u=>u._uintid===s));if(!c)return void D.error("[".concat(this._clientId,"] can not find target user!(on_delete_data_channel)"));const l=c._dataChannels.find((u=>u.id===o.stream_id));l&&(D.debug("[".concat(this._clientId,"] data_stream delete with uid ").concat(s)),this._p2pChannel.unsubscribeDataChannel(c,[l]).then((u=>{if(c._dataChannels=c._dataChannels.filter((d=>d!==l)),u)return this._gateway.unsubscribeDataChannel(u,c.uid)})),D.info("[".concat(this._clientId,"] remote user ").concat(s," unpublished datachannel ,id:").concat(l.id)),this.safeEmit($t.USER_UNPUBLISHED,c,"datachannel",l._config))}))}_handleRemoveDataChannels(e){const t=this._users.find((n=>n.uid===e.uid));if(t){if(t._dataChannels!==void 0&&t._dataChannels.length>0){D.debug("[".concat(this._clientId,"] datachannel removed with uid ").concat(e.uid));const n=()=>{D.info("[".concat(this._clientId,"] remote user ").concat(t.uid," unpublished datachannel")),t._dataChannels.forEach((r=>{this.safeEmit($t.USER_UNPUBLISHED,t,"datachannel",r._config)}))};this._p2pChannel.unsubscribeDataChannel(t,t._dataChannels).then((r=>{if(r)return this._gateway.unsubscribeDataChannel(r,t.uid)})),n()}}else D.warning("[".concat(this._clientId,"] can not find target user!(on_remove_datachannel)"))}_handleGatewayEvents(){this._gateway.on(Ci.DISCONNECT_P2P,(async()=>{await this._p2pChannel.disconnectForReconnect()})),this._gateway.on(Ci.CONNECTION_STATE_CHANGE,((e,t,n)=>{var r;if(n===Tn.FALLBACK)return;const i=()=>{this.safeEmit($t.CONNECTION_STATE_CHANGE,e,t,n)};if(mt.reportApiInvoke(this._sessionId||((r=this._gateway.joinInfo)===null||r===void 0?void 0:r.sid)||null,{name:Zr.CONNECTION_STATE_CHANGE,options:[e,t,n],tag:vr.TRACER}).onSuccess(JSON.stringify({cur:e,prev:t,reason:n})),D.info("[".concat(this._clientId,"] connection state change: ").concat(t," -> ").concat(e)),e==="DISCONNECTED")return this._reset(),void i();if(e==="RECONNECTING")this._users.forEach((s=>{s._trust_in_room_=!1,s._trust_audio_enabled_state_=!1,s._trust_video_enabled_state_=!1,s._trust_audio_mute_state_=!1,s._trust_video_mute_state_=!1,s._trust_audio_stream_added_state_=!1,s._trust_video_stream_added_state_=!1,s._is_pre_created||(s._audio_pre_subscribed||(s._audioSSRC=void 0,s._audioOrtc=void 0),s._video_pre_subscribed||(s._videoSSRC=void 0,s._videoOrtc=void 0,s._rtxSsrcId=void 0),s._cname=void 0)})),this._userOfflineTimeout&&window.clearTimeout(this._userOfflineTimeout),this._streamRemovedTimeout&&window.clearTimeout(this._streamRemovedTimeout),this._userOfflineTimeout=void 0,this._streamRemovedTimeout=void 0;else if(e==="CONNECTED"){var o;this._streamFallbackTypeCacheMap.forEach(((s,a)=>{this._gateway.setStreamFallbackOption(a,s).catch((c=>{D.warning("[".concat(this._clientId,"] auto set stream fallback option failed"),c)}))})),this._remoteStreamTypeCacheMap.forEach(((s,a)=>{this._gateway.setRemoteVideoStreamType(a,s).catch((c=>{D.warning("[".concat(this._clientId,"] auto set remote stream type failed"),c)}))})),this._remoteDefaultVideoStreamType!==void 0&&((o=this._joinInfo)===null||o===void 0?void 0:o.defaultVideoStream)===void 0&&this.setRemoteDefaultVideoStreamType(this._remoteDefaultVideoStreamType).then((()=>{D.debug("[".concat(this._clientId,"] setRemoteDefaultVideoStreamType after gateway connected"))})).catch((s=>{D.error("[".concat(this._clientId,"] setRemoteDefaultVideoStreamType after gateway failed, ").concat(s))})),this.store.useP2P||(this._p2pChannel.republish(),this._userOfflineTimeout=window.setTimeout((()=>{this.connectionState==="CONNECTED"&&(this._userOfflineTimeout=void 0,this._users.filter((s=>!s._trust_in_room_)).forEach((s=>{D.debug("[".concat(this._clientId,"] user offline timeout, emit user offline ").concat(s.uid)),this._handleUserOffline({uid:s.uid})})))}),3e3),this._streamRemovedTimeout=window.setTimeout((()=>{this.connectionState==="CONNECTED"&&(this._streamRemovedTimeout=void 0,this._users.forEach((s=>{s._trust_audio_mute_state_||(D.debug("[".concat(this._clientId,"] auto dispatch audio unmute event ").concat(s.uid)),this._handleMuteStream(s.uid,vt.AUDIO,!1)),s._trust_video_mute_state_||(D.debug("[".concat(this._clientId,"] auto dispatch video unmute event ").concat(s.uid)),this._handleMuteStream(s.uid,vt.VIDEO,!1)),s._trust_audio_enabled_state_||(D.debug("[".concat(this._clientId,"] auto dispatch enable local audio ").concat(s.uid)),this._handleSetStreamLocalEnable("audio",s.uid,!0)),s._trust_video_enabled_state_||(D.debug("[".concat(this._clientId,"] auto dispatch enable local video ").concat(s.uid)),this._handleSetStreamLocalEnable("video",s.uid,!0)),s._trust_video_stream_added_state_||(D.debug("[".concat(this._clientId,"] auto dispatch reset video stream added ").concat(s.uid)),this._handleResetAddStream(s,"video")),s._trust_audio_stream_added_state_||(D.debug("[".concat(this._clientId,"] auto dispatch reset audio stream added ").concat(s.uid)),this._handleResetAddStream(s,"audio")),s._video_added_||s._audio_added_||(D.debug("[".concat(this._clientId,"] auto dispatch stream remove ").concat(s.uid)),this._handleRemoveStream({uid:s.uid,uint_id:s._uintid}))})))}),1e3))}i()})),this._gateway.on(Ci.REQUEST_NEW_GATEWAY_LIST,(async(e,t)=>{if(!this._joinInfo)return t(new xe(Q.UNEXPECTED_ERROR,"can not recover, no join info"));try{let n;const r=await VU($a($a({},this._joinInfo),{},{uid:this._joinInfo.uid,stringUid:void 0}));r?(n=r.ap,GU(r),this._joinInfo.preload=!0):(n=await aC(this._joinInfo,this._axiosCancelSource.token,this._config.httpRetryConfig||jr,this.store),this._joinInfo.preload=!1),this._joinInfo&&(this._joinInfo.apResponse=n.gatewayInfo.res,this._joinInfo.gatewayAddrs=n.gatewayInfo.gatewayAddrs,this._joinInfo.uni_lbs_ip=n.gatewayInfo.uni_lbs_ip);const i=[];n.gatewayInfo.gatewayAddrs.forEach((o=>{let{address:s}=o;const[a,c]=s.split(":");this._joinInfo&&this._joinInfo.proxyServer?i.push({proxy:this._joinInfo.proxyServer,host:a,port:c}):i.push({host:a,port:c})})),e(i)}catch(n){t(n)}})),this._gateway.on(Ci.NETWORK_QUALITY,(e=>{this._networkQualitySensitivity==="normal"&&this.safeEmit($t.NETWORK_QUALITY,e)})),this._gateway.on(Ci.STREAM_TYPE_CHANGE,((e,t)=>{this.safeEmit($t.STREAM_TYPE_CHANGED,e,t),mt.reportApiInvoke(this._sessionId,{name:Zr.STREAM_TYPE_CHANGE,options:[e,t],tag:vr.TRACER}).onSuccess(JSON.stringify({uid:e,streamType:t}))})),this._gateway.on(Ci.IS_P2P_DISCONNECTED,(e=>{this._p2pChannel.isP2PDisconnected()?e(!0):this._p2pChannel.hasLocalMedia()||this._p2pChannel.hasRemoteMedia()?e(!1):e(!0)})),this._gateway.on(Ci.REQUEST_P2P_CONNECTION_PARAMS,(async(e,t,n)=>{try{let r=await this._p2pChannel.getEstablishParams();he("ENABLE_PREALLOC_PC")&&r||(r=await this._p2pChannel.startP2PConnection(e)),t(r)}catch(r){n(r)}})),this._gateway.on(Ci.JOIN_RESPONSE,((e,t)=>{if(this.store.useP2P)return;const n=jF(e.ortc,t,e.attributes.userAttributes.preSubSsrcs);this._p2pChannel.connect(n)})),this._gateway.on(Ci.PRE_CONNECT_PC,(async e=>{const{candidates:t,fingerprint:n}=e;if(this._joinInfo&&t.length>0&&!this._p2pChannel.isPlanB){var r;await this._p2pChannel.startP2PConnection({turnServer:this._joinInfo.turnServer});const{cert:i,cid:o}=this._joinInfo.apResponse;await this._p2pChannel.connect({iceParameters:{iceUfrag:"".concat(o,"_").concat(i),icePwd:"".concat(o,"_").concat(i)},dtlsParameters:{fingerprints:[{hashFunction:"sha-256",fingerprint:(r=he("FINGERPRINT"))!==null&&r!==void 0?r:n}]},candidates:t,rtpCapabilities:{send:{audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]},recv:{audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]}},setup:"active",cname:"o/i14u9pJrxRKAsu",preallocation:!0})}}))}_handleGatewaySignalEvents(){this._gateway.signal.on(Kt.ON_USER_ONLINE,this._handleUserOnline),this._gateway.signal.on(Kt.ON_USER_OFFLINE,this._handleUserOffline),this._gateway.signal.on(Kt.ON_ADD_AUDIO_STREAM,(e=>this._handleAddAudioOrVideoStream("audio",e.uid,e.ssrcId,e.cname,e.uint_id,e.ortc))),this._gateway.signal.on(Kt.ON_ADD_VIDEO_STREAM,(e=>this._handleAddAudioOrVideoStream("video",e.uid,e.ssrcId,e.cname,e.uint_id,e.ortc,e.rtxSsrcId))),this._gateway.signal.on(Kt.ON_REMOTE_DATASTREAM_UPDATE,(e=>{this._handleUpdateDataChannel(e)})),this._gateway.signal.on(Kt.ON_REMOTE_FULL_DATASTREAM_INFO,(e=>{this._handleUpdateDataChannel({added:e.datastreams||[],deleted:[]},!0)})),this._gateway.signal.on(Kt.ON_REMOVE_STREAM,this._handleRemoveStream),this._gateway.signal.on(Kt.ON_P2P_LOST,this._handleP2PLost),this._gateway.signal.on(Kt.MUTE_AUDIO,(e=>this._handleMuteStream(e.uid,vt.AUDIO,!0))),this._gateway.signal.on(Kt.UNMUTE_AUDIO,(e=>this._handleMuteStream(e.uid,vt.AUDIO,!1))),this._gateway.signal.on(Kt.MUTE_VIDEO,(e=>this._handleMuteStream(e.uid,vt.VIDEO,!0))),this._gateway.signal.on(Kt.UNMUTE_VIDEO,(e=>this._handleMuteStream(e.uid,vt.VIDEO,!1))),this._gateway.signal.on(Kt.RECEIVE_METADATA,(e=>{const t=H0(e.metadata);this.safeEmit($t.RECEIVE_METADATA,e.uid,t)})),this._gateway.signal.on(Kt.ON_DATA_STREAM,(async e=>{var t;if(!e)return;let n=H0(e.payload);if(this._encryptDataStream&&this._encryptDataStreamIv&&this._encryptDataStreamKey&&window.crypto.subtle&&lt(t=["aes-128-gcm2","aes-256-gcm2"]).call(t,this._encryptionMode)){if(e.payload.length<Yf)throw new xe(Q.UNEXPECTED_RESPONSE,"payload length ".concat(e.payload.length," is less than header length ").concat(Yf));n=await(async function(o,s,a){const c=a.subarray(0,Yf),l=c.slice(8,Yf),u=(l[0]<<8)+l[1],d=(c[6]<<8)+c[7],f=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:o,tagLength:mM,additionalData:new Uint8Array(hM(u,2))},s,a.subarray(Yf));return new Uint8Array(f).subarray(0,d)})(this._encryptDataStreamIv,this._encryptDataStreamKey,n)}let r=0;if(e.ordered||e.syncWithAudio){const i=this._p2pChannel.getStats(),o=this.remoteUsers.find((a=>a.uid===e.uid)),s=i==null?void 0:i.audioRecv.find((a=>a.ssrc===(o==null?void 0:o._audioSSRC)));r=s==null?void 0:s.jitterBufferMs}r==null&&(r=0),hFe($a($a({},e),{},{payload:n}),r,{id:this._clientId,onStreamMessage:typeof this.onStreamMessage=="function"?this.onStreamMessage.bind(this):void 0,safeEmit:this.safeEmit.bind(this)})})),this._gateway.signal.on(Kt.ON_CRYPT_ERROR,(()=>{Fd((()=>{D.warning("[".concat(this._clientId,"] on crypt error")),this.safeEmit($t.CRYPT_ERROR)}),this._sessionId)})),this._gateway.signal.on(Kt.ON_TOKEN_PRIVILEGE_WILL_EXPIRE,this._handleTokenWillExpire),this._gateway.signal.on(Kt.ON_TOKEN_PRIVILEGE_DID_EXPIRE,(()=>{D.warning("[".concat(this._clientId,"] received message onTokenPrivilegeDidExpire, please get new token and join again")),this._gateway.leave(!0,Tn.TOKEN_EXPIRE),this.safeEmit($t.ON_TOKEN_PRIVILEGE_DID_EXPIRE),this._reset()})),this._gateway.signal.on(Kt.ON_STREAM_FALLBACK_UPDATE,(e=>{D.debug("[".concat(this._clientId,"] stream fallback peerId: ").concat(e.stream_id,", attr: ").concat(e.stream_type)),this.safeEmit($t.STREAM_FALLBACK,e.stream_id,e.stream_type===1?"fallback":"recover")})),this._gateway.signal.on(Kt.ON_PUBLISH_STREAM,(e=>{this.uid===this._uid&&(this._p2pChannel.reportPublishEvent(!0,null,void 0,!1,JSON.stringify({proxy:e.proxy})),D.info("[".concat(this._clientId,"] on publish stream, ").concat(JSON.stringify(e))))})),this._gateway.signal.on(Kt.ENABLE_LOCAL_VIDEO,(e=>{this._handleSetStreamLocalEnable("video",e.uid,!0)})),this._gateway.signal.on(Kt.DISABLE_LOCAL_VIDEO,(e=>{this._handleSetStreamLocalEnable("video",e.uid,!1)})),this._gateway.signal.on(Nt.REQUEST_TIMEOUT,((e,t)=>{if(this._joinInfo)switch(e){case Dt.PUBLISH:{if(!t)return;const i=t.ortc;if(i){var n,r;const o=i.some((c=>{let{stream_type:l}=c;return l===Sn.Audio})),s=i.some((c=>{let{stream_type:l}=c;return l!==Sn.Audio})),a=i.some((c=>{let{stream_type:l}=c;return l===Sn.Screen||l===Sn.ScreenLow}));t.state==="offer"&&mt.publish(this._joinInfo.sid,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:!1,ec:Q.TIMEOUT,audio:o,video:s,p2pid:t.p2p_id,publishRequestid:this.store.pubId,screenshare:a,audioName:o?(n=i.find((c=>{let{stream_type:l}=c;return l===Sn.Audio})))===null||n===void 0||(n=n.ssrcs[0])===null||n===void 0?void 0:n.ssrcId.toString():void 0,videoName:s?(r=i.find((c=>{let{stream_type:l}=c;return l!==Sn.Audio})))===null||r===void 0||(r=r.ssrcs[0])===null||r===void 0?void 0:r.ssrcId.toString():void 0})}break}case Dt.SUBSCRIBE:t&&mt.subscribe(this._joinInfo.sid,{succ:!1,ec:Q.TIMEOUT,audio:t.stream_type===vt.AUDIO,video:t.stream_type===vt.VIDEO,peerid:t.stream_id,subscribeRequestid:t.ssrcId,p2pid:this.store.p2pId,eventElapse:ji.measureFromSubscribeStart(this.store.clientId,t.ssrcId),preSsrc:this._p2pChannel.isPreSubScribe(t.ssrcId)})}})),this._gateway.signal.on(Kt.ON_P2P_OK,(e=>{this.uid,this._uid})),this._gateway.signal.on(Kt.ON_PUBLISHED_USER_LIST,(e=>{if(e==null||!e.users)return;he("BLOCK_LOCAL_CLIENT")&&(e.users=e.users.filter((r=>!f0(r.string_id||r.stream_id,this.channelName))));const t=[],n=[];for(const r of e.users){let i=this._users.find((u=>u._uintid===r.stream_id));i?i._trust_in_room_=!0:(i=new md(r.string_id||r.stream_id,r.stream_id),this._users.push(i),this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.debug("[".concat(this._clientId,"] user online"),r.stream_id),this.safeEmit($t.USER_JOINED,i)));const o=ti.Audio&r.stream_type,s=(ti.Video|ti.LwoVideo)&r.stream_type,a=(65280&r.stream_type)!=0,c=o&&i.hasAudio,l=s&&i.hasVideo;s&&(i._trust_video_stream_added_state_=!0,i._video_added_=!0,i._videoSSRC=r.video_ssrc,i._rtxSsrcId=r.video_rtx),o&&(i._trust_audio_stream_added_state_=!0,i._audio_added_=!0,i._audioSSRC=r.audio_ssrc),o&&!c&&this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.info("[".concat(this._clientId,"] remote user ").concat(i.uid," published audio")),this.safeEmit($t.USER_PUBLISHED,i,"audio")),s&&!l&&this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.info("[".concat(this._clientId,"] remote user ").concat(i.uid," published video")),this.safeEmit($t.USER_PUBLISHED,i,"video")),(o&&!c||s&&!l||a)&&t.push(i),s&&this._p2pChannel.hasPendingRemoteMedia(i,"video")&&n.push({user:i,mediaType:"video"}),o&&this._p2pChannel.hasPendingRemoteMedia(i,"audio")&&n.push({user:i,mediaType:"audio"})}n.length>0&&(D.debug("[".concat(this._clientId,"] RE massSubscribe after reconnect ").concat(n.map((r=>"user: ".concat(r.user.uid,", mediaType: ").concat(r.mediaType))).join("; ")," ")),this.massSubscribe(n).catch((r=>{D.error("[".concat(this._clientId,"] mass resubscribe error"),r.toString())}))),this.getListeners($t.PUBLISHED_USER_LIST).length>0?he("ENABLE_DATASTREAM_2")?this._pendingPublishedUsers=t:(D.info("[".concat(this._clientId,"] client emit user-list event, users: ").concat(t.map((r=>r.uid)).join(", "))),this.safeEmit($t.PUBLISHED_USER_LIST,t)):D.info("[".concat(this._clientId,"] client not emit user-list event case there is no user-list listener, users: ").concat(t.map((r=>r.uid)).join(", ")))})),this._gateway.signal.on(Kt.ON_RTP_CAPABILITY_CHANGE,(e=>{const{video_codec:t}=e;this._p2pChannel instanceof w5&&this._p2pChannel.updateRemoteRTPCapabilities(t.map((n=>n.toLowerCase())).filter((n=>{var r;return lt(r=Object.keys(f6)).call(r,n)})))}))}_handleP2PEvents(){this._gateway.signal.on(Kt.ON_USER_OFFLINE,(()=>{this._p2pChannel.disconnectForReconnect()})),this._gateway.signal.on(Cr.PUBLISH,((e,t,n)=>{const{uid:r}=e;e.forEach((i=>{const{kind:o,ssrcs:s,mid:a,isMuted:c}=i;this._handleP2PAddAudioOrVideoStream(o,r,s[0].ssrcId,a);const l=this._users.find((u=>u.uid===r));return l&&this._p2pChannel instanceof rs?this._p2pChannel.mockSubscribe(l,o,s[0].ssrcId,a).then((()=>{t()})).catch(n):t(),this._handleMuteStream(r,o,!!c)}))})),this._gateway.signal.on(Cr.CALL,(async(e,t,n)=>{if(this._p2pChannel instanceof rs)try{var r;t(await this._p2pChannel.startP2P({turnServer:(r=this._joinInfo)===null||r===void 0?void 0:r.turnServer},e))}catch(i){n(i)}})),this._gateway.signal.on(Nt.P2P_CONNECTION,(async e=>{this._p2pChannel instanceof rs&&await this._p2pChannel.p2pConnect(e)})),this._gateway.signal.on(Cr.UNPUBLISH,(async(e,t,n)=>{if(this._p2pChannel instanceof rs){const{unpubMsg:r,uid:i}=e,o=this._users.find((s=>s.uid===i));if(!o)return D.warning("[".concat(this._clientId,"] can not find remote user, ignore mute event, uid: ").concat(i)),void t();try{r.forEach((async s=>{let{stream_type:a}=s;const c=a===Sn.Audio?vt.AUDIO:vt.VIDEO;await this._p2pChannel.unsubscribe(o,c),this._handleMuteStream(i,c,!0)})),t()}catch(s){n(s)}}})),this._gateway.signal.on(Cr.CONTROL,(async(e,t)=>{const{action:n}=e;switch(n){case Sd.MUTE_LOCAL_VIDEO:this._handleMuteStream(t,vt.VIDEO,!0);break;case Sd.MUTE_LOCAL_AUDIO:this._handleMuteStream(t,vt.AUDIO,!0);break;case Sd.UNMUTE_LOCAL_VIDEO:this._handleP2PAddAudioOrVideoStream("video",t),this._handleMuteStream(t,vt.VIDEO,!1);break;case Sd.UNMUTE_LOCAL_AUDIO:this._handleP2PAddAudioOrVideoStream("audio",t),this._handleMuteStream(t,vt.AUDIO,!1)}})),this._gateway.signal.on(Cr.RESTART_ICE,(async(e,t,n)=>{if(this._p2pChannel instanceof rs)try{const{direction:r,iceParameter:i}=e;r!==po.SEND_ONLY||i?t(await this._p2pChannel.restartICE(r,i)):(this._p2pChannel.handleDisconnect(r),t())}catch(r){n(r)}})),this._gateway.signal.on(Cr.CANDIDATE,(e=>{if(this._p2pChannel instanceof rs){const{candidate:t,direction:n}=e;this._p2pChannel.addRemoteCandidate(t,n)}})),this._p2pChannel.on(Ot.RequestP2PRestartICE,(async(e,t,n)=>{try{const{direction:r}=e;t(await this._gateway.sendExtensionMessage(Cr.RESTART_ICE,e,r===po.SEND_ONLY))}catch(r){n(r)}})),this._p2pChannel.on(Ot.LocalCandidate,(e=>{this._gateway.sendExtensionMessage(Cr.CANDIDATE,JSON.stringify(e),!0)})),this._p2pChannel.on(Ot.RequestP2PMuteLocal,(async(e,t,n)=>{try{await this._gateway.sendExtensionMessage(Cr.CONTROL,e,!0),t()}catch(r){n(r)}})),this._p2pChannel.on(Ot.RequestP2PUnmuteRemote,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.unmuteRemote(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestP2PMuteRemote,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.muteRemote(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.StateChange,((e,t)=>{t===bn.Connected&&this._p2pChannel.republish()}))}_handleP2PChannelEvents(){this._p2pChannel.on(Ot.RequestMuteLocal,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.muteLocal(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestUnmuteLocal,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.unmuteLocal(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestRePublish,((e,t,n)=>{this.publish(e,!1).then(t).catch(n)})),this._p2pChannel.on(Ot.RequestRePublishDataChannel,((e,t,n)=>{ot.all(e.map((async r=>{const i=await this._p2pChannel.publishDataChannel([r]);try{i.forEach((o=>{this._uid&&this._gateway.publishDataChannel(this._uid,o,!0)}))}catch(o){if(o.code!==Q.DISCONNECT_P2P)throw o}}))).then(t).catch(n)})),this._p2pChannel.on(Ot.RequestReSubscribe,(async(e,t,n)=>{try{for(const{user:r,kind:i}of e)i===vt.VIDEO?await this.subscribe(r,"video"):await this.subscribe(r,"audio");t()}catch(r){n(r)}})),this._p2pChannel.on(Ot.RequestUpload,((e,t)=>{this._gateway.upload(e,t)})),this._p2pChannel.on(Ot.RequestUploadStats,(e=>{this._gateway.uploadWRTCStats(e)})),this._p2pChannel.on(Ot.MediaReconnectStart,(e=>{this.safeEmit($t.MEDIA_RECONNECT_START,e)})),this._p2pChannel.on(Ot.MediaReconnectEnd,(e=>{this.safeEmit($t.MEDIA_RECONNECT_END,e)})),this._p2pChannel.on(Ot.NeedSignalRTT,(e=>{e(this._gateway.getSignalRTT())})),this._p2pChannel.on(Ot.RequestRestartICE,(async e=>{if(this._p2pChannel instanceof rs)return;const t=await this._p2pChannel.restartICE(e),n=await t.next();if(n.done)return;const r=n.value;let i;try{i=await this._gateway.restartICE({iceParameters:r})}catch(s){return void t.throw(s)}const{iceParameters:o}=(function(s){const a=s.iceParameters;return{iceParameters:{iceUfrag:a.iceUfrag,icePwd:a.icePwd}}})(i);await t.next({remoteIceParameters:o})})),this._p2pChannel.on(Ot.RequestReconnect,(async()=>{this._gateway.reconnect()})),this._p2pChannel.on(Ot.RequestReconnectPC,(async()=>{var e;const{iceParameters:t,dtlsParameters:n,rtpCapabilities:r}=await this._p2pChannel.startP2PConnection({turnServer:(e=this._joinInfo)===null||e===void 0?void 0:e.turnServer}),{gatewayEstablishParams:i,gatewayAddress:o}=await this._gateway.reconnectPC({iceParameters:t,dtlsParameters:n,rtpCapabilities:r}),s=jF(i,o);await this._p2pChannel.connect(s),await this._p2pChannel.republish(),await this._p2pChannel.reSubscribe()})),this._p2pChannel.on(Ot.RequestUnpublishForReconnectPC,(async(e,t,n)=>{this._joinInfo&&this._uid!==void 0?(await this._gateway.unpublish(e,this._uid),t()):n()})),this._p2pChannel.on(Ot.P2PLost,(()=>{this.safeEmit($t.P2P_LOST,this.store.uid)})),this._p2pChannel.on(Ot.UpdateVideoEncoder,(e=>{e._encoderConfig&&this._gateway.setVideoProfile(e._encoderConfig)})),this._p2pChannel.on(Ot.ConnectionTypeChange,(e=>{this.safeEmit($t.IS_USING_CLOUD_PROXY,e)})),this._p2pChannel.on(Ot.RequestLowStreamParameter,(e=>{e(this._lowStreamParameter||{width:160,height:120,framerate:15,bitrate:50})})),this._p2pChannel.on(Ot.QueryClientConnectionState,(e=>{e(this.connectionState)}))}getKeyMetrics(){return this.store.keyMetrics}async enableContentInspect(e){if(!this._joinInfo||this.connectionState!=="CONNECTED")throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] can not create content inspect, please join channel first"));if(this._inspect)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Inspect content service already in connecting/connected state"));try{const n=(t={config:e},G1("ContentInspect").create(t));this._inspect=n,this.handleVideoInspectEvents(n);const{appId:r,cname:i,sid:o,token:s,uid:a,cid:c,vid:l}=this._joinInfo;await n.init({appId:r,areaCode:"",cname:i,sid:o,token:s,uid:a,cid:c,vid:l?Number(l):0},jr)}catch(n){throw Array.isArray(n)?n[0]:n}var t}handleVideoInspectEvents(e){e.on(ci.CONNECTION_STATE_CHANGE,((t,n)=>{if(this.safeEmit($t.CONTENT_INSPECT_CONNECTION_STATE_CHANGE,t,n),n===ba.CONNECTED){if(this.connectionState!=="CONNECTED")return void this.safeEmit($t.CONTENT_INSPECT_ERROR,new xe(Q.OPERATION_ABORTED,"Content inspect was cancelled because it left the channel"));e.inspectImage()}})),e.on(ci.INSPECT_RESULT,((t,n)=>{var r;if((n==null?void 0:n.code)===Q.INVALID_OPERATION&&this.connectionState==="DISCONNECTED")return D.debug("Stop inspect content because that has left channel"),this==null||(r=this._inspect)===null||r===void 0||r.close(),void(this._inspect=void 0);this.safeEmit($t.CONTENT_INSPECT_RESULT,t,n)})),e.on(ci.CLIENT_LOCAL_VIDEO_TRACK,(t=>{t(this.localTracks.filter((n=>n.trackMediaType==="video"))[0])}))}async disableContentInspect(){if(!this._inspect)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] inspectVideoContent not started"));try{this._inspect.close(),this._inspect=void 0}catch(e){throw Array.isArray(e)?e[0]:e}}async setImageModeration(e,t){if(nu(e,"enabled"),e){if(!t)throw new xe(Q.INVALID_PARAMS,"config is required");if(j$(t),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not create image moderation, please join channel first");try{if(this._moderation)this._moderation.updateConfig(t);else{const r=(n={config:t},G1("ImageModeration").create(n));this._moderation=r,this.handleImageModerationEvents(r);const{appId:i,cname:o,sid:s,token:a,uid:c,cid:l,vid:u}=this._joinInfo;await r.init({appId:i,areaCode:"",cname:o,sid:s,token:a,uid:c,cid:l,vid:u?Number(u):0},jr)}}catch(r){throw Array.isArray(r)?r[0]:r}}else{var n;if(!this._moderation)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] image moderation not started"));try{this._moderation.close(),this._moderation.removeAllListeners(),this._moderation=void 0}catch(r){throw Array.isArray(r)?r[0]:r}}}handleImageModerationEvents(e){e.on(Ka.CONNECTION_STATE_CHANGE,((t,n)=>{if(this.safeEmit($t.IMAGE_MODERATION_CONNECTION_STATE_CHANGE,t,n),t===Xs.CONNECTED){if(this.connectionState!=="CONNECTED")throw this.setImageModeration(!1),new xe(Q.OPERATION_ABORTED,"Image moderation was cancelled because it left the channel");e.inspectImage()}})),e.on(Ka.CLIENT_LOCAL_VIDEO_TRACK,(t=>{t(this.localTracks.filter((n=>n.trackMediaType==="video"))[0])}))}setP2PTransport(e){if((function(t){Kr(t,"transport",["default","auto","relay","sd-rtn"])})(e),this.mode!=="p2p")throw new xe(Q.INVALID_OPERATION,"only p2p mode can set p2pTransport");this.store.p2pTransport=e,D.info("[".concat(this._clientId,"] set client p2pTransport to ").concat(e))}getJoinChannelServiceRecords(){return D.debug("getJoinChannelServiceRecords"),this.store.joinChannelServiceRecords}async setPublishAudioFilterEnabled(e){nu(e,"enabled"),Dn("ENABLE_PUBLISH_AUDIO_FILTER",e),this._joinInfo&&await this._gateway.setPublishAudioFilterEnabled(e)}_handleResetAddStream(e,t){switch(t){case"audio":e._audio_added_=!1,e._trust_audio_stream_added_state_=!0;break;case"video":e._video_added_=!1,e._trust_video_stream_added_state_=!0}}},ft(at.prototype,"leave",[ej],Object.getOwnPropertyDescriptor(at.prototype,"leave"),at.prototype),ft(at.prototype,"publish",[tj],Object.getOwnPropertyDescriptor(at.prototype,"publish"),at.prototype),ft(at.prototype,"unpublish",[nj],Object.getOwnPropertyDescriptor(at.prototype,"unpublish"),at.prototype),ft(at.prototype,"subscribe",[rj],Object.getOwnPropertyDescriptor(at.prototype,"subscribe"),at.prototype),ft(at.prototype,"presubscribe",[ij],Object.getOwnPropertyDescriptor(at.prototype,"presubscribe"),at.prototype),ft(at.prototype,"massSubscribe",[oj],Object.getOwnPropertyDescriptor(at.prototype,"massSubscribe"),at.prototype),ft(at.prototype,"unsubscribe",[sj],Object.getOwnPropertyDescriptor(at.prototype,"unsubscribe"),at.prototype),ft(at.prototype,"massUnsubscribe",[aj],Object.getOwnPropertyDescriptor(at.prototype,"massUnsubscribe"),at.prototype),ft(at.prototype,"setLowStreamParameter",[cj],Object.getOwnPropertyDescriptor(at.prototype,"setLowStreamParameter"),at.prototype),ft(at.prototype,"enableDualStream",[lj],Object.getOwnPropertyDescriptor(at.prototype,"enableDualStream"),at.prototype),ft(at.prototype,"disableDualStream",[uj],Object.getOwnPropertyDescriptor(at.prototype,"disableDualStream"),at.prototype),ft(at.prototype,"setClientRole",[dj],Object.getOwnPropertyDescriptor(at.prototype,"setClientRole"),at.prototype),ft(at.prototype,"setProxyServer",[fj],Object.getOwnPropertyDescriptor(at.prototype,"setProxyServer"),at.prototype),ft(at.prototype,"setTurnServer",[hj],Object.getOwnPropertyDescriptor(at.prototype,"setTurnServer"),at.prototype),ft(at.prototype,"setLicense",[pj],Object.getOwnPropertyDescriptor(at.prototype,"setLicense"),at.prototype),ft(at.prototype,"startProxyServer",[mj],Object.getOwnPropertyDescriptor(at.prototype,"startProxyServer"),at.prototype),ft(at.prototype,"stopProxyServer",[gj],Object.getOwnPropertyDescriptor(at.prototype,"stopProxyServer"),at.prototype),ft(at.prototype,"setLocalAccessPointsV2",[vj],Object.getOwnPropertyDescriptor(at.prototype,"setLocalAccessPointsV2"),at.prototype),ft(at.prototype,"setLocalAccessPoints",[yj],Object.getOwnPropertyDescriptor(at.prototype,"setLocalAccessPoints"),at.prototype),ft(at.prototype,"setRemoteDefaultVideoStreamType",[Ej],Object.getOwnPropertyDescriptor(at.prototype,"setRemoteDefaultVideoStreamType"),at.prototype),ft(at.prototype,"setRemoteVideoStreamType",[bj],Object.getOwnPropertyDescriptor(at.prototype,"setRemoteVideoStreamType"),at.prototype),ft(at.prototype,"setStreamFallbackOption",[Sj],Object.getOwnPropertyDescriptor(at.prototype,"setStreamFallbackOption"),at.prototype),ft(at.prototype,"setEncryptionConfig",[Aj],Object.getOwnPropertyDescriptor(at.prototype,"setEncryptionConfig"),at.prototype),ft(at.prototype,"renewToken",[Cj],Object.getOwnPropertyDescriptor(at.prototype,"renewToken"),at.prototype),ft(at.prototype,"enableAudioVolumeIndicator",[wj],Object.getOwnPropertyDescriptor(at.prototype,"enableAudioVolumeIndicator"),at.prototype),ft(at.prototype,"startLiveStreaming",[Tj],Object.getOwnPropertyDescriptor(at.prototype,"startLiveStreaming"),at.prototype),ft(at.prototype,"setLiveTranscoding",[Ij],Object.getOwnPropertyDescriptor(at.prototype,"setLiveTranscoding"),at.prototype),ft(at.prototype,"stopLiveStreaming",[Pj],Object.getOwnPropertyDescriptor(at.prototype,"stopLiveStreaming"),at.prototype),ft(at.prototype,"startChannelMediaRelay",[Oj],Object.getOwnPropertyDescriptor(at.prototype,"startChannelMediaRelay"),at.prototype),ft(at.prototype,"updateChannelMediaRelay",[_j],Object.getOwnPropertyDescriptor(at.prototype,"updateChannelMediaRelay"),at.prototype),ft(at.prototype,"stopChannelMediaRelay",[Rj],Object.getOwnPropertyDescriptor(at.prototype,"stopChannelMediaRelay"),at.prototype),ft(at.prototype,"sendCustomReportMessage",[kj],Object.getOwnPropertyDescriptor(at.prototype,"sendCustomReportMessage"),at.prototype),ft(at.prototype,"pickSVCLayer",[xj],Object.getOwnPropertyDescriptor(at.prototype,"pickSVCLayer"),at.prototype),ft(at.prototype,"setRTMConfig",[Dj],Object.getOwnPropertyDescriptor(at.prototype,"setRTMConfig"),at.prototype),ft(at.prototype,"enableContentInspect",[Lj],Object.getOwnPropertyDescriptor(at.prototype,"enableContentInspect"),at.prototype),ft(at.prototype,"disableContentInspect",[Nj],Object.getOwnPropertyDescriptor(at.prototype,"disableContentInspect"),at.prototype),ft(at.prototype,"setImageModeration",[Mj],Object.getOwnPropertyDescriptor(at.prototype,"setImageModeration"),at.prototype),ft(at.prototype,"setP2PTransport",[Bj],Object.getOwnPropertyDescriptor(at.prototype,"setP2PTransport"),at.prototype),ft(at.prototype,"getJoinChannelServiceRecords",[Fj],Object.getOwnPropertyDescriptor(at.prototype,"getJoinChannelServiceRecords"),at.prototype),ft(at.prototype,"setPublishAudioFilterEnabled",[Uj],Object.getOwnPropertyDescriptor(at.prototype,"setPublishAudioFilterEnabled"),at.prototype),at);class Eg{constructor(t,n){H(this,"id",0),H(this,"element",void 0),H(this,"peerPair",void 0),H(this,"context",void 0),H(this,"audioPlayerElement",void 0),H(this,"audioTrack",void 0),Eg.count+=1,this.id=Eg.count,this.element=t,this.context=n}initPeers(){this.peerPair=[new RTCPeerConnection,new RTCPeerConnection],this.peerPair[1].ontrack=t=>{const n=document.createElement("audio");n.srcObject=new MediaStream([t.track]),n.play(),this.audioPlayerElement=n}}async switchSdp(){if(!this.peerPair)return;const t=async(r,i)=>{const o=i==="offer"?await r.createOffer():await r.createAnswer();return await r.setLocalDescription(o),r.iceGatheringState==="complete"?r.localDescription:new ot((s=>{r.onicegatheringstatechange=()=>{r.iceGatheringState==="complete"&&s(r.localDescription)}}))},n=async(r,i)=>await r.setRemoteDescription(i);try{const r=await t(this.peerPair[0],"offer");await n(this.peerPair[1],r);const i=await t(this.peerPair[1],"answer");await n(this.peerPair[0],i)}catch(r){throw new xe(Q.LOCAL_AEC_ERROR,r.toString()).print()}}async getTracksFromMediaElement(t){if(this.audioTrack)return this.audioTrack;let n;try{t instanceof HTMLVideoElement&&(t.captureStream?t.captureStream():t.mozCaptureStream()),n=this.context.createMediaStreamDestination(),this.context.createMediaElementSource(t).connect(n)}catch(i){throw new xe(Q.LOCAL_AEC_ERROR,i.toString()).print()}if(!n)throw new xe(Q.LOCAL_AEC_ERROR,"no dest node when local aec").print();const r=n.stream.getAudioTracks()[0];return this.audioTrack=r,r}getElement(){return this.element}async startEchoCancellation(){this.context.resume(),this.peerPair&&this.close(),this.initPeers();const t=this.element,n=await this.getTracksFromMediaElement(t);this.peerPair&&this.peerPair[0].addTrack(n),await this.switchSdp()}close(){D.debug("close echo cancellation unit, id is",this.id),this.audioPlayerElement&&this.audioPlayerElement.pause(),this.peerPair&&this.peerPair.forEach((t=>{t.close()})),this.peerPair=void 0,this.audioPlayerElement=void 0}}var Hj,I5;H(Eg,"count",0);const RFe=window.AudioContext||window.webkitAudioContext,kFe=new(Hj=Pt({report:mt}),ft((I5=class{constructor(){H(this,"units",[]),H(this,"context",void 0)}processExternalMediaAEC(e){if(!this._doesEnvironmentNeedAEC())return D.debug("the system does not need to process local aec"),-1;this.context||(this.context=new RFe);let t=this.units.find((n=>n&&n.getElement()===e));return t||(t=new Eg(e,this.context),this.units.push(t)),t.startEchoCancellation(),D.debug("start processing local audio echo cancellation, id is",t.id),t.id}_doesEnvironmentNeedAEC(){return an().name!==An.SAFARI}}).prototype,"processExternalMediaAEC",[Hj],Object.getOwnPropertyDescriptor(I5.prototype,"processExternalMediaAEC"),I5.prototype),I5);function zj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Wj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zj(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zj(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}const IE=window||document;function H$(e){let t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!IE)return;const n=Tr._cspEventHandlerPointer;if(n&&t)return void console.error(n,t);const r=i=>{if(!(i&&i.blockedURI&&(Tr.onSecurityPolicyViolation||Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0)))return;const o=i.blockedURI;he("CSP_DETECTED_HOSTNAME_LIST").some((s=>lt(o).call(o,s)))&&(Tr.onSecurityPolicyViolation&&typeof Tr.onSecurityPolicyViolation=="function"&&Tr.onSecurityPolicyViolation(i),Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0&&Tr.safeEmit(Jc.SECURITY_POLICY_VIOLATION,i))};n&&IE.removeEventListener("securitypolicyviolation",n),(t||e&&typeof e=="function"||Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0)&&IE.addEventListener("securitypolicyviolation",r),Tr._cspEventHandlerPointer=r}var xFe=Co,DFe=JK,Vj=RegExp.prototype,LFe=function(e){return e===Vj||xFe(Vj,e)?DFe(e):e.flags},io=kr(LFe);function t1(e){let t=e.length;for(;--t>=0;)e[t]=0}const DI=256,z$=286,Am=30,Cm=15,hC=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),R3=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),NFe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Gj=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ql=new Array(576);t1(ql);const wm=new Array(60);t1(wm);const bg=new Array(512);t1(bg);const Sg=new Array(256);t1(Sg);const LI=new Array(29);t1(LI);const M4=new Array(Am);function PE(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}let Jj,Zj,Yj;function OE(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t1(M4);const W$=e=>e<256?bg[e]:bg[256+(e>>>7)],Ag=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},_s=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,Ag(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},Zc=(e,t,n)=>{_s(e,n[2*t],n[2*t+1])},V$=(e,t)=>{let n=0;do n|=1&e,e>>>=1,n<<=1;while(--t>0);return n>>>1},G$=(e,t,n)=>{const r=new Array(16);let i,o,s=0;for(i=1;i<=Cm;i++)s=s+n[i-1]<<1,r[i]=s;for(o=0;o<=t;o++){let a=e[2*o+1];a!==0&&(e[2*o]=V$(r[a]++,a))}},J$=e=>{let t;for(t=0;t<z$;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Am;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Z$=e=>{e.bi_valid>8?Ag(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Xj=(e,t,n,r)=>{const i=2*t,o=2*n;return e[i]<e[o]||e[i]===e[o]&&r[t]<=r[n]},_E=(e,t,n)=>{const r=e.heap[n];let i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Xj(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Xj(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},Qj=(e,t,n)=>{let r,i,o,s,a=0;if(e.sym_next!==0)do r=255&e.pending_buf[e.sym_buf+a++],r+=(255&e.pending_buf[e.sym_buf+a++])<<8,i=e.pending_buf[e.sym_buf+a++],r===0?Zc(e,i,t):(o=Sg[i],Zc(e,o+DI+1,t),s=hC[o],s!==0&&(i-=LI[o],_s(e,i,s)),r--,o=W$(r),Zc(e,o,n),s=R3[o],s!==0&&(r-=M4[o],_s(e,r,s)));while(a<e.sym_next);Zc(e,256,t)},RE=(e,t)=>{const n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,o=t.stat_desc.elems;let s,a,c,l=-1;for(e.heap_len=0,e.heap_max=573,s=0;s<o;s++)n[2*s]!==0?(e.heap[++e.heap_len]=l=s,e.depth[s]=0):n[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=l<2?++l:0,n[2*c]=1,e.depth[c]=0,e.opt_len--,i&&(e.static_len-=r[2*c+1]);for(t.max_code=l,s=e.heap_len>>1;s>=1;s--)_E(e,n,s);c=o;do s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_E(e,n,1),a=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=a,n[2*c]=n[2*s]+n[2*a],e.depth[c]=(e.depth[s]>=e.depth[a]?e.depth[s]:e.depth[a])+1,n[2*s+1]=n[2*a+1]=c,e.heap[1]=c++,_E(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((u,d)=>{const f=d.dyn_tree,h=d.max_code,p=d.stat_desc.static_tree,g=d.stat_desc.has_stree,m=d.stat_desc.extra_bits,y=d.stat_desc.extra_base,v=d.stat_desc.max_length;let E,b,S,w,C,_,I=0;for(w=0;w<=Cm;w++)u.bl_count[w]=0;for(f[2*u.heap[u.heap_max]+1]=0,E=u.heap_max+1;E<573;E++)b=u.heap[E],w=f[2*f[2*b+1]+1]+1,w>v&&(w=v,I++),f[2*b+1]=w,b>h||(u.bl_count[w]++,C=0,b>=y&&(C=m[b-y]),_=f[2*b],u.opt_len+=_*(w+C),g&&(u.static_len+=_*(p[2*b+1]+C)));if(I!==0){do{for(w=v-1;u.bl_count[w]===0;)w--;u.bl_count[w]--,u.bl_count[w+1]+=2,u.bl_count[v]--,I-=2}while(I>0);for(w=v;w!==0;w--)for(b=u.bl_count[w];b!==0;)S=u.heap[--E],S>h||(f[2*S+1]!==w&&(u.opt_len+=(w-f[2*S+1])*f[2*S],f[2*S+1]=w),b--)}})(e,t),G$(n,l,e.bl_count)},Kj=(e,t,n)=>{let r,i,o=-1,s=t[1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++a<c&&i===s||(a<l?e.bl_tree[2*i]+=a:i!==0?(i!==o&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,o=i,s===0?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4))},qj=(e,t,n)=>{let r,i,o=-1,s=t[1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),r=0;r<=n;r++)if(i=s,s=t[2*(r+1)+1],!(++a<c&&i===s)){if(a<l)do Zc(e,i,e.bl_tree);while(--a!=0);else i!==0?(i!==o&&(Zc(e,i,e.bl_tree),a--),Zc(e,16,e.bl_tree),_s(e,a-3,2)):a<=10?(Zc(e,17,e.bl_tree),_s(e,a-3,3)):(Zc(e,18,e.bl_tree),_s(e,a-11,7));a=0,o=i,s===0?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4)}};let $j=!1;const Y$=(e,t,n,r)=>{_s(e,0+(r?1:0),3),Z$(e),Ag(e,n),Ag(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var MFe=e=>{$j||((()=>{let t,n,r,i,o;const s=new Array(16);for(r=0,i=0;i<28;i++)for(LI[i]=r,t=0;t<1<<hC[i];t++)Sg[r++]=i;for(Sg[r-1]=i,o=0,i=0;i<16;i++)for(M4[i]=o,t=0;t<1<<R3[i];t++)bg[o++]=i;for(o>>=7;i<Am;i++)for(M4[i]=o<<7,t=0;t<1<<R3[i]-7;t++)bg[256+o++]=i;for(n=0;n<=Cm;n++)s[n]=0;for(t=0;t<=143;)ql[2*t+1]=8,t++,s[8]++;for(;t<=255;)ql[2*t+1]=9,t++,s[9]++;for(;t<=279;)ql[2*t+1]=7,t++,s[7]++;for(;t<=287;)ql[2*t+1]=8,t++,s[8]++;for(G$(ql,287,s),t=0;t<Am;t++)wm[2*t+1]=5,wm[2*t]=V$(t,5);Jj=new PE(ql,hC,257,z$,Cm),Zj=new PE(wm,R3,0,Am,Cm),Yj=new PE(new Array(0),NFe,0,19,7)})(),$j=!0),e.l_desc=new OE(e.dyn_ltree,Jj),e.d_desc=new OE(e.dyn_dtree,Zj),e.bl_desc=new OE(e.bl_tree,Yj),e.bi_buf=0,e.bi_valid=0,J$(e)},BFe=(e,t,n,r)=>{let i,o,s=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=(a=>{let c,l=4093624447;for(c=0;c<=31;c++,l>>>=1)if(1&l&&a.dyn_ltree[2*c]!==0)return 0;if(a.dyn_ltree[18]!==0||a.dyn_ltree[20]!==0||a.dyn_ltree[26]!==0)return 1;for(c=32;c<DI;c++)if(a.dyn_ltree[2*c]!==0)return 1;return 0})(e)),RE(e,e.l_desc),RE(e,e.d_desc),s=(a=>{let c;for(Kj(a,a.dyn_ltree,a.l_desc.max_code),Kj(a,a.dyn_dtree,a.d_desc.max_code),RE(a,a.bl_desc),c=18;c>=3&&a.bl_tree[2*Gj[c]+1]===0;c--);return a.opt_len+=3*(c+1)+5+5+4,c})(e),i=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=i&&(i=o)):i=o=n+5,n+4<=i&&t!==-1?Y$(e,t,n,r):e.strategy===4||o===i?(_s(e,2+(r?1:0),3),Qj(e,ql,wm)):(_s(e,4+(r?1:0),3),((a,c,l,u)=>{let d;for(_s(a,c-257,5),_s(a,l-1,5),_s(a,u-4,4),d=0;d<u;d++)_s(a,a.bl_tree[2*Gj[d]+1],3);qj(a,a.dyn_ltree,c-1),qj(a,a.dyn_dtree,l-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),Qj(e,e.dyn_ltree,e.dyn_dtree)),J$(e),r&&Z$(e)},FFe=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(Sg[n]+DI+1)]++,e.dyn_dtree[2*W$(t)]++),e.sym_next===e.sym_end),UFe=e=>{_s(e,2,3),Zc(e,256,ql),(t=>{t.bi_valid===16?(Ag(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(e)},jFe={_tr_init:MFe,_tr_stored_block:Y$,_tr_flush_block:BFe,_tr_tally:FFe,_tr_align:UFe},Cg=(e,t,n,r)=>{let i=65535&e|0,o=e>>>16&65535|0,s=0;for(;n!==0;){s=n>2e3?2e3:n,n-=s;do i=i+t[r++]|0,o=o+i|0;while(--s);i%=65521,o%=65521}return i|o<<16|0};const HFe=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var ho=(e,t,n,r)=>{const i=HFe,o=r+n;e^=-1;for(let s=r;s<o;s++)e=e>>>8^i[255&(e^t[s])];return-1^e},gf={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},v6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:zFe,_tr_stored_block:pC,_tr_flush_block:WFe,_tr_tally:Rd,_tr_align:VFe}=jFe,{Z_NO_FLUSH:kd,Z_PARTIAL_FLUSH:GFe,Z_FULL_FLUSH:JFe,Z_FINISH:Pa,Z_BLOCK:eH,Z_OK:To,Z_STREAM_END:tH,Z_STREAM_ERROR:ol,Z_DATA_ERROR:ZFe,Z_BUF_ERROR:kE,Z_DEFAULT_COMPRESSION:YFe,Z_FILTERED:XFe,Z_HUFFMAN_ONLY:P5,Z_RLE:QFe,Z_FIXED:KFe,Z_DEFAULT_STRATEGY:qFe,Z_UNKNOWN:$Fe,Z_DEFLATED:y6}=v6,mC=286,eUe=30,tUe=19,nUe=2*mC+1,rUe=15,W0=258,sl=262,Ip=42,V0=113,Z1=666,G0=(e,t)=>(e.msg=gf[t],t),nH=e=>2*e-(e>4?9:0),gd=e=>{let t=e.length;for(;--t>=0;)e[t]=0},iUe=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)};let xd=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask;const Ks=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},$s=(e,t)=>{WFe(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ks(e.strm)},br=(e,t)=>{e.pending_buf[e.pending++]=t},I1=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},gC=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Cg(e.adler,t,i,n):e.state.wrap===2&&(e.adler=ho(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},X$=(e,t)=>{let n,r,i=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match;const c=e.strstart>e.w_size-sl?e.strstart-(e.w_size-sl):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+W0;let h=l[o+s-1],p=l[o+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do if(n=t,l[n+s]===p&&l[n+s-1]===h&&l[n]===l[o]&&l[++n]===l[o+1]){o+=2,n++;do;while(l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&o<f);if(r=W0-(f-o),o=f-W0,r>s){if(e.match_start=t,s=r,r>=a)break;h=l[o+s-1],p=l[o+s]}}while((t=d[t&u])>c&&--i!=0);return s<=e.lookahead?s:e.lookahead},Pp=e=>{const t=e.w_size;let n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-sl)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),iUe(e),r+=t),e.strm.avail_in===0)break;if(n=gC(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=xd(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=xd(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<sl&&e.strm.avail_in!==0)},Q$=(e,t)=>{let n,r,i,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,s=0,a=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_out<i||(i=e.strm.avail_out-i,r=e.strstart-e.block_start,n>r+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n<o&&(n===0&&t!==Pa||t===kd||n!==r+e.strm.avail_in)))break;s=t===Pa&&n===r+e.strm.avail_in?1:0,pC(e,0,0,s),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ks(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(gC(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(s===0);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),s?4:t!==kd&&t!==Pa&&e.strm.avail_in===0&&e.strstart===e.block_start?2:(i=e.window_size-e.strstart,e.strm.avail_in>i&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(gC(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water<e.strstart&&(e.high_water=e.strstart),i=e.bi_valid+42>>3,i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i,o=i>e.w_size?e.w_size:i,r=e.strstart-e.block_start,(r>=o||(r||t===Pa)&&t!==kd&&e.strm.avail_in===0&&r<=i)&&(n=r>i?i:r,s=t===Pa&&e.strm.avail_in===0&&n===r?1:0,pC(e,e.block_start,n,s),e.block_start+=n,Ks(e.strm)),s?3:1)},xE=(e,t)=>{let n,r;for(;;){if(e.lookahead<sl){if(Pp(e),e.lookahead<sl&&t===kd)return 1;if(e.lookahead===0)break}if(n=0,e.lookahead>=3&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-sl&&(e.match_length=X$(e,n)),e.match_length>=3)if(r=Rd(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!=0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=xd(e,e.ins_h,e.window[e.strstart+1]);else r=Rd(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&($s(e,!1),e.strm.avail_out===0))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Pa?($s(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&($s(e,!1),e.strm.avail_out===0)?1:2},ih=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<sl){if(Pp(e),e.lookahead<sl&&t===kd)return 1;if(e.lookahead===0)break}if(n=0,e.lookahead>=3&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-sl&&(e.match_length=X$(e,n),e.match_length<=5&&(e.strategy===XFe||e.match_length===3&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=Rd(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!=0);if(e.match_available=0,e.match_length=2,e.strstart++,r&&($s(e,!1),e.strm.avail_out===0))return 1}else if(e.match_available){if(r=Rd(e,0,e.window[e.strstart-1]),r&&$s(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Rd(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Pa?($s(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&($s(e,!1),e.strm.avail_out===0)?1:2};function Bc(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}const Y1=[new Bc(0,0,0,0,Q$),new Bc(4,4,8,4,xE),new Bc(4,5,16,8,xE),new Bc(4,6,32,32,xE),new Bc(4,4,16,16,ih),new Bc(8,16,32,32,ih),new Bc(8,16,128,128,ih),new Bc(8,32,128,256,ih),new Bc(32,128,258,1024,ih),new Bc(32,258,258,4096,ih)];function oUe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=y6,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(2*nUe),this.dyn_dtree=new Uint16Array(2*(2*eUe+1)),this.bl_tree=new Uint16Array(2*(2*tUe+1)),gd(this.dyn_ltree),gd(this.dyn_dtree),gd(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(rUe+1),this.heap=new Uint16Array(2*mC+1),gd(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*mC+1),gd(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const wg=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==Ip&&t.status!==57&&t.status!==69&&t.status!==73&&t.status!==91&&t.status!==103&&t.status!==V0&&t.status!==Z1?1:0},K$=e=>{if(wg(e))return G0(e,ol);e.total_in=e.total_out=0,e.data_type=$Fe;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?57:t.wrap?Ip:V0,e.adler=t.wrap===2?0:1,t.last_flush=-2,zFe(t),To},q$=e=>{const t=K$(e);return t===To&&(n=>{n.window_size=2*n.w_size,gd(n.head),n.max_lazy_match=Y1[n.level].max_lazy,n.good_match=Y1[n.level].good_length,n.nice_match=Y1[n.level].nice_length,n.max_chain_length=Y1[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0})(e.state),t},rH=(e,t,n,r,i,o)=>{if(!e)return ol;let s=1;if(t===YFe&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==y6||r<8||r>15||t<0||t>9||o<0||o>KFe||r===8&&s!==1)return G0(e,ol);r===8&&(r=9);const a=new oUe;return e.state=a,a.strm=e,a.status=Ip,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=t,a.strategy=o,a.method=n,q$(e)};var sUe=(e,t)=>{if(wg(e)||t>eH||t<0)return e?G0(e,ol):ol;const n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===Z1&&t!==Pa)return G0(e,e.avail_out===0?kE:ol);const r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(Ks(e),e.avail_out===0)return n.last_flush=-1,To}else if(e.avail_in===0&&nH(t)<=nH(r)&&t!==Pa)return G0(e,kE);if(n.status===Z1&&e.avail_in!==0)return G0(e,kE);if(n.status===Ip&&n.wrap===0&&(n.status=V0),n.status===Ip){let i=y6+(n.w_bits-8<<4)<<8,o=-1;if(o=n.strategy>=P5||n.level<2?0:n.level<6?1:n.level===6?2:3,i|=o<<6,n.strstart!==0&&(i|=32),i+=31-i%31,I1(n,i),n.strstart!==0&&(I1(n,e.adler>>>16),I1(n,65535&e.adler)),e.adler=1,n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(n.status===57){if(e.adler=0,br(n,31),br(n,139),br(n,8),n.gzhead)br(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),br(n,255&n.gzhead.time),br(n,n.gzhead.time>>8&255),br(n,n.gzhead.time>>16&255),br(n,n.gzhead.time>>24&255),br(n,n.level===9?2:n.strategy>=P5||n.level<2?4:0),br(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(br(n,255&n.gzhead.extra.length),br(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=ho(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(br(n,0),br(n,0),br(n,0),br(n,0),br(n,0),br(n,n.level===9?2:n.strategy>=P5||n.level<2?4:0),br(n,3),n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(n.status===69){if(n.gzhead.extra){let i=n.pending,o=(65535&n.gzhead.extra.length)-n.gzindex;for(;n.pending+o>n.pending_buf_size;){let a=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>i&&(e.adler=ho(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex+=a,Ks(e),n.pending!==0)return n.last_flush=-1,To;i=0,o-=a}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending+=o,n.gzhead.hcrc&&n.pending>i&&(e.adler=ho(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=73}if(n.status===73){if(n.gzhead.name){let i,o=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),Ks(e),n.pending!==0)return n.last_flush=-1,To;o=0}i=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,br(n,i)}while(i!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex=0}n.status=91}if(n.status===91){if(n.gzhead.comment){let i,o=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),Ks(e),n.pending!==0)return n.last_flush=-1,To;o=0}i=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,br(n,i)}while(i!==0);n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o))}n.status=103}if(n.status===103){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ks(e),n.pending!==0))return n.last_flush=-1,To;br(n,255&e.adler),br(n,e.adler>>8&255),e.adler=0}if(n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(e.avail_in!==0||n.lookahead!==0||t!==kd&&n.status!==Z1){let i=n.level===0?Q$(n,t):n.strategy===P5?((o,s)=>{let a;for(;;){if(o.lookahead===0&&(Pp(o),o.lookahead===0)){if(s===kd)return 1;break}if(o.match_length=0,a=Rd(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,a&&($s(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,s===Pa?($s(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&($s(o,!1),o.strm.avail_out===0)?1:2})(n,t):n.strategy===QFe?((o,s)=>{let a,c,l,u;const d=o.window;for(;;){if(o.lookahead<=W0){if(Pp(o),o.lookahead<=W0&&s===kd)return 1;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=3&&o.strstart>0&&(l=o.strstart-1,c=d[l],c===d[++l]&&c===d[++l]&&c===d[++l])){u=o.strstart+W0;do;while(c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&l<u);o.match_length=W0-(u-l),o.match_length>o.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=3?(a=Rd(o,1,o.match_length-3),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(a=Rd(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),a&&($s(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,s===Pa?($s(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&($s(o,!1),o.strm.avail_out===0)?1:2})(n,t):Y1[n.level].func(n,t);if(i!==3&&i!==4||(n.status=Z1),i===1||i===3)return e.avail_out===0&&(n.last_flush=-1),To;if(i===2&&(t===GFe?VFe(n):t!==eH&&(pC(n,0,0,!1),t===JFe&&(gd(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ks(e),e.avail_out===0))return n.last_flush=-1,To}return t!==Pa?To:n.wrap<=0?tH:(n.wrap===2?(br(n,255&e.adler),br(n,e.adler>>8&255),br(n,e.adler>>16&255),br(n,e.adler>>24&255),br(n,255&e.total_in),br(n,e.total_in>>8&255),br(n,e.total_in>>16&255),br(n,e.total_in>>24&255)):(I1(n,e.adler>>>16),I1(n,65535&e.adler)),Ks(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?To:tH)},aUe=(e,t)=>{let n=t.length;if(wg(e))return ol;const r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Ip||r.lookahead)return ol;if(i===1&&(e.adler=Cg(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(gd(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(t.subarray(n-r.w_size,n),0),t=c,n=r.w_size}const o=e.avail_in,s=e.next_in,a=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Pp(r);r.lookahead>=3;){let c=r.strstart,l=r.lookahead-2;do r.ins_h=xd(r,r.ins_h,r.window[c+3-1]),r.prev[c&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=c,c++;while(--l);r.strstart=c,r.lookahead=2,Pp(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=s,e.input=a,e.avail_in=o,r.wrap=i,To},Tm={deflateInit:(e,t)=>rH(e,t,y6,15,8,qFe),deflateInit2:rH,deflateReset:q$,deflateResetKeep:K$,deflateSetHeader:(e,t)=>wg(e)||e.state.wrap!==2?ol:(e.state.gzhead=t,To),deflate:sUe,deflateEnd:e=>{if(wg(e))return ol;const t=e.state.status;return e.state=null,t===V0?G0(e,ZFe):To},deflateSetDictionary:aUe,deflateInfo:"pako deflate (from Nodeca project)"};const cUe=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var E6={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)cUe(n,r)&&(e[r]=n[r])}}return e},flattenChunks:e=>{let t=0;for(let r=0,i=e.length;r<i;r++)t+=e[r].length;const n=new Uint8Array(t);for(let r=0,i=0,o=e.length;r<o;r++){let s=e[r];n.set(s,i),i+=s.length}return n}};let $$=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{$$=!1}const Tg=new Uint8Array(256);for(let e=0;e<256;e++)Tg[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Tg[254]=Tg[254]=1;var Ig={string2buf:e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,o,s=e.length,a=0;for(i=0;i<s;i++)n=e.charCodeAt(i),(64512&n)==55296&&i+1<s&&(r=e.charCodeAt(i+1),(64512&r)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),a+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(a),o=0,i=0;o<a;i++)n=e.charCodeAt(i),(64512&n)==55296&&i+1<s&&(r=e.charCodeAt(i+1),(64512&r)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?t[o++]=n:n<2048?(t[o++]=192|n>>>6,t[o++]=128|63&n):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|63&n):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|63&n);return t},buf2string:(e,t)=>{const n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i;const o=new Array(2*n);for(i=0,r=0;r<n;){let s=e[r++];if(s<128){o[i++]=s;continue}let a=Tg[s];if(a>4)o[i++]=65533,r+=a-1;else{for(s&=a===2?31:a===3?15:7;a>1&&r<n;)s=s<<6|63&e[r++],a--;a>1?o[i++]=65533:s<65536?o[i++]=s:(s-=65536,o[i++]=55296|s>>10&1023,o[i++]=56320|1023&s)}}return((s,a)=>{if(a<65534&&s.subarray&&$$)return String.fromCharCode.apply(null,s.length===a?s:s.subarray(0,a));let c="";for(let l=0;l<a;l++)c+=String.fromCharCode(s[l]);return c})(o,i)},utf8border:(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(192&e[n])==128;)n--;return n<0||n===0?t:n+Tg[e[n]]>t?n:t}},eee=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const tee=Object.prototype.toString,{Z_NO_FLUSH:lUe,Z_SYNC_FLUSH:uUe,Z_FULL_FLUSH:dUe,Z_FINISH:fUe,Z_OK:B4,Z_STREAM_END:hUe,Z_DEFAULT_COMPRESSION:pUe,Z_DEFAULT_STRATEGY:mUe,Z_DEFLATED:gUe}=v6;function k3(e){this.options=E6.assign({level:pUe,method:gUe,chunkSize:16384,windowBits:15,memLevel:8,strategy:mUe},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eee,this.strm.avail_out=0;let n=Tm.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==B4)throw new Error(gf[n]);if(t.header&&Tm.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(r=typeof t.dictionary=="string"?Ig.string2buf(t.dictionary):tee.call(t.dictionary)==="[object ArrayBuffer]"?new Uint8Array(t.dictionary):t.dictionary,n=Tm.deflateSetDictionary(this.strm,r),n!==B4)throw new Error(gf[n]);this._dict_set=!0}}function vUe(e,t){const n=new k3(t);if(n.push(e,!0),n.err)throw n.msg||gf[n.err];return n.result}k3.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=t===~~t?t:t===!0?fUe:lUe,typeof e=="string"?n.input=Ig.string2buf(e):tee.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===uUe||o===dUe)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(i=Tm.deflate(n,o),i===hUe)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Tm.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===B4;if(n.avail_out!==0){if(o>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(n.avail_in===0)break}else this.onData(n.output)}return!0},k3.prototype.onData=function(e){this.chunks.push(e)},k3.prototype.onEnd=function(e){e===B4&&(this.result=E6.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var yUe={deflate:vUe};const O5=16209;var EUe=function(e,t){let n,r,i,o,s,a,c,l,u,d,f,h,p,g,m,y,v,E,b,S,w,C,_,I;const O=e.state;n=e.next_in,_=e.input,r=n+(e.avail_in-5),i=e.next_out,I=e.output,o=i-(t-e.avail_out),s=i+(e.avail_out-257),a=O.dmax,c=O.wsize,l=O.whave,u=O.wnext,d=O.window,f=O.hold,h=O.bits,p=O.lencode,g=O.distcode,m=(1<<O.lenbits)-1,y=(1<<O.distbits)-1;e:do{h<15&&(f+=_[n++]<<h,h+=8,f+=_[n++]<<h,h+=8),v=p[f&m];t:for(;;){if(E=v>>>24,f>>>=E,h-=E,E=v>>>16&255,E===0)I[i++]=65535&v;else{if(!(16&E)){if((64&E)==0){v=p[(65535&v)+(f&(1<<E)-1)];continue t}if(32&E){O.mode=16191;break e}e.msg="invalid literal/length code",O.mode=O5;break e}b=65535&v,E&=15,E&&(h<E&&(f+=_[n++]<<h,h+=8),b+=f&(1<<E)-1,f>>>=E,h-=E),h<15&&(f+=_[n++]<<h,h+=8,f+=_[n++]<<h,h+=8),v=g[f&y];n:for(;;){if(E=v>>>24,f>>>=E,h-=E,E=v>>>16&255,!(16&E)){if((64&E)==0){v=g[(65535&v)+(f&(1<<E)-1)];continue n}e.msg="invalid distance code",O.mode=O5;break e}if(S=65535&v,E&=15,h<E&&(f+=_[n++]<<h,h+=8,h<E&&(f+=_[n++]<<h,h+=8)),S+=f&(1<<E)-1,S>a){e.msg="invalid distance too far back",O.mode=O5;break e}if(f>>>=E,h-=E,E=i-o,S>E){if(E=S-E,E>l&&O.sane){e.msg="invalid distance too far back",O.mode=O5;break e}if(w=0,C=d,u===0){if(w+=c-E,E<b){b-=E;do I[i++]=d[w++];while(--E);w=i-S,C=I}}else if(u<E){if(w+=c+u-E,E-=u,E<b){b-=E;do I[i++]=d[w++];while(--E);if(w=0,u<b){E=u,b-=E;do I[i++]=d[w++];while(--E);w=i-S,C=I}}}else if(w+=u-E,E<b){b-=E;do I[i++]=d[w++];while(--E);w=i-S,C=I}for(;b>2;)I[i++]=C[w++],I[i++]=C[w++],I[i++]=C[w++],b-=3;b&&(I[i++]=C[w++],b>1&&(I[i++]=C[w++]))}else{w=i-S;do I[i++]=I[w++],I[i++]=I[w++],I[i++]=I[w++],b-=3;while(b>2);b&&(I[i++]=I[w++],b>1&&(I[i++]=I[w++]))}break}}break}}while(n<r&&i<s);b=h>>3,n-=b,h-=b<<3,f&=(1<<h)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?r-n+5:5-(n-r),e.avail_out=i<s?s-i+257:257-(i-s),O.hold=f,O.bits=h};const _5=15,bUe=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),SUe=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),AUe=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),CUe=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Im=(e,t,n,r,i,o,s,a)=>{const c=a.bits;let l,u,d,f,h,p,g=0,m=0,y=0,v=0,E=0,b=0,S=0,w=0,C=0,_=0,I=null;const O=new Uint16Array(16),L=new Uint16Array(16);let R,F,W,J=null;for(g=0;g<=_5;g++)O[g]=0;for(m=0;m<r;m++)O[t[n+m]]++;for(E=c,v=_5;v>=1&&O[v]===0;v--);if(E>v&&(E=v),v===0)return i[o++]=20971520,i[o++]=20971520,a.bits=1,0;for(y=1;y<v&&O[y]===0;y++);for(E<y&&(E=y),w=1,g=1;g<=_5;g++)if(w<<=1,w-=O[g],w<0)return-1;if(w>0&&(e===0||v!==1))return-1;for(L[1]=0,g=1;g<_5;g++)L[g+1]=L[g]+O[g];for(m=0;m<r;m++)t[n+m]!==0&&(s[L[t[n+m]]++]=m);if(e===0?(I=J=s,p=20):e===1?(I=bUe,J=SUe,p=257):(I=AUe,J=CUe,p=0),_=0,m=0,g=y,h=o,b=E,S=0,d=-1,C=1<<E,f=C-1,e===1&&C>852||e===2&&C>592)return 1;for(;;){R=g-S,s[m]+1<p?(F=0,W=s[m]):s[m]>=p?(F=J[s[m]-p],W=I[s[m]-p]):(F=96,W=0),l=1<<g-S,u=1<<b,y=u;do u-=l,i[h+(_>>S)+u]=R<<24|F<<16|W|0;while(u!==0);for(l=1<<g-1;_&l;)l>>=1;if(l!==0?(_&=l-1,_+=l):_=0,m++,--O[g]==0){if(g===v)break;g=t[n+s[m]]}if(g>E&&(_&f)!==d){for(S===0&&(S=E),h+=y,b=g-S,w=1<<b;b+S<v&&(w-=O[b+S],!(w<=0));)b++,w<<=1;if(C+=1<<b,e===1&&C>852||e===2&&C>592)return 1;d=_&f,i[d]=E<<24|b<<16|h-o|0}}return _!==0&&(i[h+_]=g-S<<24|64<<16|0),a.bits=E,0};const{Z_FINISH:iH,Z_BLOCK:wUe,Z_TREES:R5,Z_OK:rf,Z_STREAM_END:TUe,Z_NEED_DICT:IUe,Z_STREAM_ERROR:Oa,Z_DATA_ERROR:nee,Z_MEM_ERROR:ree,Z_BUF_ERROR:PUe,Z_DEFLATED:oH}=v6,b6=16180,F4=16190,Ml=16191,DE=16192,LE=16194,k5=16199,x5=16200,NE=16206,ai=16209,sH=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function OUe(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const of=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<b6||t.mode>16211?1:0},iee=e=>{if(of(e))return Oa;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=b6,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,rf},oee=e=>{if(of(e))return Oa;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,iee(e)},see=(e,t)=>{let n;if(of(e))return Oa;const r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Oa:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,oee(e))},aH=(e,t)=>{if(!e)return Oa;const n=new OUe;e.state=n,n.strm=e,n.window=null,n.mode=b6;const r=see(e,t);return r!==rf&&(e.state=null),r};let ME,BE,cH=!0;const _Ue=e=>{if(cH){ME=new Int32Array(512),BE=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Im(1,e.lens,0,288,ME,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Im(2,e.lens,0,32,BE,0,e.work,{bits:5}),cH=!1}e.lencode=ME,e.lenbits=9,e.distcode=BE,e.distbits=5},aee=(e,t,n,r)=>{let i;const o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(t.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),o.window.set(t.subarray(n-r,n-r+i),o.wnext),(r-=i)?(o.window.set(t.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0};var RUe=(e,t)=>{let n,r,i,o,s,a,c,l,u,d,f,h,p,g,m,y,v,E,b,S,w,C,_=0;const I=new Uint8Array(4);let O,L;const R=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(of(e)||!e.output||!e.input&&e.avail_in!==0)return Oa;n=e.state,n.mode===Ml&&(n.mode=DE),s=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,r=e.input,a=e.avail_in,l=n.hold,u=n.bits,d=a,f=c,C=rf;e:for(;;)switch(n.mode){case b6:if(n.wrap===0){n.mode=DE;break}for(;u<16;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(2&n.wrap&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0),l=0,u=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=ai;break}if((15&l)!==oH){e.msg="unknown compression method",n.mode=ai;break}if(l>>>=4,u-=4,w=8+(15&l),n.wbits===0&&(n.wbits=w),w>15||w>n.wbits){e.msg="invalid window size",n.mode=ai;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&l?16189:Ml,l=0,u=0;break;case 16181:for(;u<16;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(n.flags=l,(255&io(n))!==oH){e.msg="unknown compression method",n.mode=ai;break}if(57344&io(n)){e.msg="unknown header flags set",n.mode=ai;break}n.head&&(n.head.text=l>>8&1),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0,n.mode=16182;case 16182:for(;u<32;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.head&&(n.head.time=l),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,I[2]=l>>>16&255,I[3]=l>>>24&255,n.check=ho(n.check,I,4,0)),l=0,u=0,n.mode=16183;case 16183:for(;u<16;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0,n.mode=16184;case 16184:if(1024&io(n)){for(;u<16;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&io(n)&&(h=n.length,h>a&&(h=a),h&&(n.head&&(w=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+h),w)),512&io(n)&&4&n.wrap&&(n.check=ho(n.check,r,h,o)),a-=h,o+=h,n.length-=h),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&io(n)){if(a===0)break e;h=0;do w=r[o+h++],n.head&&w&&n.length<65536&&(n.head.name+=String.fromCharCode(w));while(w&&h<a);if(512&io(n)&&4&n.wrap&&(n.check=ho(n.check,r,h,o)),a-=h,o+=h,w)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&io(n)){if(a===0)break e;h=0;do w=r[o+h++],n.head&&w&&n.length<65536&&(n.head.comment+=String.fromCharCode(w));while(w&&h<a);if(512&io(n)&&4&n.wrap&&(n.check=ho(n.check,r,h,o)),a-=h,o+=h,w)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&io(n)){for(;u<16;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(4&n.wrap&&l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=ai;break}l=0,u=0}n.head&&(n.head.hcrc=io(n)>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Ml;break;case 16189:for(;u<32;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}e.adler=n.check=sH(l),l=0,u=0,n.mode=F4;case F4:if(n.havedict===0)return e.next_out=s,e.avail_out=c,e.next_in=o,e.avail_in=a,n.hold=l,n.bits=u,IUe;e.adler=n.check=1,n.mode=Ml;case Ml:if(t===wUe||t===R5)break e;case DE:if(n.last){l>>>=7&u,u-=7&u,n.mode=NE;break}for(;u<3;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}switch(n.last=1&l,l>>>=1,u-=1,3&l){case 0:n.mode=16193;break;case 1:if(_Ue(n),n.mode=k5,t===R5){l>>>=2,u-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=ai}l>>>=2,u-=2;break;case 16193:for(l>>>=7&u,u-=7&u;u<32;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ai;break}if(n.length=65535&l,l=0,u=0,n.mode=LE,t===R5)break e;case LE:n.mode=16195;case 16195:if(h=n.length,h){if(h>a&&(h=a),h>c&&(h=c),h===0)break e;i.set(r.subarray(o,o+h),s),a-=h,o+=h,c-=h,s+=h,n.length-=h;break}n.mode=Ml;break;case 16196:for(;u<14;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(n.nlen=257+(31&l),l>>>=5,u-=5,n.ndist=1+(31&l),l>>>=5,u-=5,n.ncode=4+(15&l),l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ai;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;u<3;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.lens[R[n.have++]]=7&l,l>>>=3,u-=3}for(;n.have<19;)n.lens[R[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},C=Im(0,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,C){e.msg="invalid code lengths set",n.mode=ai;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;_=n.lencode[l&(1<<n.lenbits)-1],m=_>>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(v<16)l>>>=m,u-=m,n.lens[n.have++]=v;else{if(v===16){for(L=m+2;u<L;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(l>>>=m,u-=m,n.have===0){e.msg="invalid bit length repeat",n.mode=ai;break}w=n.lens[n.have-1],h=3+(3&l),l>>>=2,u-=2}else if(v===17){for(L=m+3;u<L;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}l>>>=m,u-=m,w=0,h=3+(7&l),l>>>=3,u-=3}else{for(L=m+7;u<L;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}l>>>=m,u-=m,w=0,h=11+(127&l),l>>>=7,u-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ai;break}for(;h--;)n.lens[n.have++]=w}}if(n.mode===ai)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ai;break}if(n.lenbits=9,O={bits:n.lenbits},C=Im(1,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,C){e.msg="invalid literal/lengths set",n.mode=ai;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},C=Im(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,C){e.msg="invalid distances set",n.mode=ai;break}if(n.mode=k5,t===R5)break e;case k5:n.mode=x5;case x5:if(a>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=o,e.avail_in=a,n.hold=l,n.bits=u,EUe(e,f),s=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,r=e.input,a=e.avail_in,l=n.hold,u=n.bits,n.mode===Ml&&(n.back=-1);break}for(n.back=0;_=n.lencode[l&(1<<n.lenbits)-1],m=_>>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(y&&(240&y)==0){for(E=m,b=y,S=v;_=n.lencode[S+((l&(1<<E+b)-1)>>E)],m=_>>>24,y=_>>>16&255,v=65535&_,!(E+m<=u);){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}l>>>=E,u-=E,n.back+=E}if(l>>>=m,u-=m,n.back+=m,n.length=v,y===0){n.mode=16205;break}if(32&y){n.back=-1,n.mode=Ml;break}if(64&y){e.msg="invalid literal/length code",n.mode=ai;break}n.extra=15&y,n.mode=16201;case 16201:if(n.extra){for(L=n.extra;u<L;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;_=n.distcode[l&(1<<n.distbits)-1],m=_>>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if((240&y)==0){for(E=m,b=y,S=v;_=n.distcode[S+((l&(1<<E+b)-1)>>E)],m=_>>>24,y=_>>>16&255,v=65535&_,!(E+m<=u);){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}l>>>=E,u-=E,n.back+=E}if(l>>>=m,u-=m,n.back+=m,64&y){e.msg="invalid distance code",n.mode=ai;break}n.offset=v,n.extra=15&y,n.mode=16203;case 16203:if(n.extra){for(L=n.extra;u<L;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ai;break}n.mode=16204;case 16204:if(c===0)break e;if(h=f-c,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ai;break}h>n.wnext?(h-=n.wnext,p=n.wsize-h):p=n.wnext-h,h>n.length&&(h=n.length),g=n.window}else g=i,p=s-n.offset,h=n.length;h>c&&(h=c),c-=h,n.length-=h;do i[s++]=g[p++];while(--h);n.length===0&&(n.mode=x5);break;case 16205:if(c===0)break e;i[s++]=n.length,c--,n.mode=x5;break;case NE:if(n.wrap){for(;u<32;){if(a===0)break e;a--,l|=r[o++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,4&n.wrap&&f&&(e.adler=n.check=io(n)?ho(n.check,i,f,s-f):Cg(n.check,i,f,s-f)),f=c,4&n.wrap&&(io(n)?l:sH(l))!==n.check){e.msg="incorrect data check",n.mode=ai;break}l=0,u=0}n.mode=16207;case 16207:if(n.wrap&&io(n)){for(;u<32;){if(a===0)break e;a--,l+=r[o++]<<u,u+=8}if(4&n.wrap&&l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=ai;break}l=0,u=0}n.mode=16208;case 16208:C=TUe;break e;case ai:C=nee;break e;case 16210:return ree;default:return Oa}return e.next_out=s,e.avail_out=c,e.next_in=o,e.avail_in=a,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<ai&&(n.mode<NE||t!==iH))&&aee(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,4&n.wrap&&f&&(e.adler=n.check=io(n)?ho(n.check,i,f,e.next_out-f):Cg(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Ml?128:0)+(n.mode===k5||n.mode===LE?256:0),(d===0&&f===0||t===iH)&&C===rf&&(C=PUe),C},$l={inflateReset:oee,inflateReset2:see,inflateResetKeep:iee,inflateInit:e=>aH(e,15),inflateInit2:aH,inflate:RUe,inflateEnd:e=>{if(of(e))return Oa;let t=e.state;return t.window&&(t.window=null),e.state=null,rf},inflateGetHeader:(e,t)=>{if(of(e))return Oa;const n=e.state;return(2&n.wrap)==0?Oa:(n.head=t,t.done=!1,rf)},inflateSetDictionary:(e,t)=>{const n=t.length;let r,i,o;return of(e)?Oa:(r=e.state,r.wrap!==0&&r.mode!==F4?Oa:r.mode===F4&&(i=1,i=Cg(i,t,n,0),i!==r.check)?nee:(o=aee(e,t,n,n),o?(r.mode=16210,ree):(r.havedict=1,rf)))},inflateInfo:"pako inflate (from Nodeca project)"},kUe=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const cee=Object.prototype.toString,{Z_NO_FLUSH:xUe,Z_FINISH:DUe,Z_OK:Pm,Z_STREAM_END:FE,Z_NEED_DICT:UE,Z_STREAM_ERROR:LUe,Z_DATA_ERROR:lH,Z_MEM_ERROR:NUe}=v6;function x3(e){this.options=E6.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits)==0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eee,this.strm.avail_out=0;let n=$l.inflateInit2(this.strm,t.windowBits);if(n!==Pm)throw new Error(gf[n]);if(this.header=new kUe,$l.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ig.string2buf(t.dictionary):cee.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=$l.inflateSetDictionary(this.strm,t.dictionary),n!==Pm)))throw new Error(gf[n])}function MUe(e,t){const n=new x3(t);if(n.push(e),n.err)throw n.msg||gf[n.err];return n.result}x3.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=t===~~t?t:t===!0?DUe:xUe,cee.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=$l.inflate(n,s),o===UE&&i&&(o=$l.inflateSetDictionary(n,i),o===Pm?o=$l.inflate(n,s):o===lH&&(o=UE));n.avail_in>0&&o===FE&&n.state.wrap>0&&e[n.next_in]!==0;)$l.inflateReset(n),o=$l.inflate(n,s);switch(o){case LUe:case lH:case UE:case NUe:return this.onEnd(o),this.ended=!0,!1}if(a=n.avail_out,n.next_out&&(n.avail_out===0||o===FE))if(this.options.to==="string"){let c=Ig.utf8border(n.output,n.next_out),l=n.next_out-c,u=Ig.buf2string(n.output,c);n.next_out=l,n.avail_out=r-l,l&&n.output.set(n.output.subarray(c,c+l),0),this.onData(u)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(o!==Pm||a!==0){if(o===FE)return o=$l.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},x3.prototype.onData=function(e){this.chunks.push(e)},x3.prototype.onEnd=function(e){e===Pm&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=E6.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var BUe={inflate:MUe};const{deflate:FUe}=yUe,{inflate:UUe}=BUe;var jUe=FUe,HUe=UUe,lee=(function(e){return e[e.ONE_BYTE=0]="ONE_BYTE",e[e.TWO_BYTE=1]="TWO_BYTE",e})(lee||{});class zUe{constructor(){H(this,"_sequence",0),H(this,"_startTime",Date.now()),H(this,"isUseOneByte",!0)}get startTime(){const t=Date.now()-this._startTime;return t<Math.pow(2,16)?t:(this._startTime+=Math.pow(2,16),this.startTime)}get sequence(){return this._sequence<Math.pow(2,32)?this._sequence++:(this._sequence-=Math.pow(2,32),this.sequence)}serialize(t){const n={commonPacketHeader:{length:0,reserved:0,extension:0,sequence:this.sequence},commonStreamHeader:this.startTime,extension:void 0,payload:t};if(t.byteLength>128){const a=new Uint8Array(4);a.set([1,0,0,0]);const c={id:0,length:4,data:a.buffer},l={profile:this.isUseOneByte?0:1,length:this.isUseOneByte?5:6,datas:[c]};n.commonPacketHeader.extension=1,n.extension=l,n.payload=this.compress(t),n.commonPacketHeader.length=8+(n.extension.length+2)+n.payload.byteLength}else n.commonPacketHeader.length=8+n.payload.byteLength;he("SHOW_DATASTREAM2_LOG")&&D.debug("send data header: ".concat(JSON.stringify(n.commonPacketHeader)));const r=new ArrayBuffer(n.commonPacketHeader.length),i=new Uint8Array(r),o=new DataView(r);let s=0;if(o.setUint16(s,n.commonPacketHeader.extension<<15|n.commonPacketHeader.reserved<<14|n.commonPacketHeader.length,!0),s+=2,o.setUint32(s,n.commonPacketHeader.sequence,!0),s+=4,o.setUint16(s,n.commonStreamHeader,!0),s+=2,n.extension){const a=this.serializeExtension(n.extension);i.set(new Uint8Array(a),s),s+=a.byteLength}if(i.set(new Uint8Array(n.payload),s),s+=n.payload.byteLength,s!==n.commonPacketHeader.length)throw Error("serialize error!");return r}deserialize(t){if(t.byteLength<4)return new ArrayBuffer(0);const n=new DataView(t);let r=0;const i=n.getUint16(r,!0);r+=2;const o={length:16383&i,reserved:(16384&i)>>14,extension:(32768&i)>>15,sequence:n.getUint16(r+2,!0)<<16|n.getUint16(r,!0)};let s,a;if(r+=4,he("SHOW_DATASTREAM2_LOG")&&D.debug("receive data header: ".concat(JSON.stringify(o))),n.getUint16(r,!0),r+=2,o.extension){a=this.deserializeExtension(t.slice(r)),r+=2+a.length,s=t.slice(r);let c=!1;if(a.datas.length>0){const l=a.datas.find((u=>u.id===0));l&&(c=(1&new DataView(l.data).getUint32(0,!0))==1)}s=c?this.decompress(s):s}else s=t.slice(8);return s}serializeExtension(t){const{profile:n,length:r,datas:i}=t,o=new ArrayBuffer(r+2),s=new Uint8Array(o),a=new DataView(o);let c=0;if(a.setUint8(c++,n),a.setUint8(c++,r),i.forEach((l=>{n?(a.setUint8(c++,l.id),a.setUint8(c++,l.length),s.set(new Uint8Array(l.data),c),c+=l.data.byteLength):(a.setUint8(c++,l.id|l.length<<4),s.set(new Uint8Array(l.data),c),c+=l.data.byteLength)})),c!==r+2)throw Error("serialize extension error, is ".concat(c,"!==").concat(r+2));return o}deserializeExtension(t){const n=new DataView(t);let r=0;const i=n.getUint8(r);r++;const o=n.getUint8(r);r++;const s=i===lee.TWO_BYTE,a=[],c=new DataView(t,2);let l=0;for(;l<o;){let u=0,d=0,f=new ArrayBuffer(0);s?(u=c.getUint8(l),l++,d=c.getUint8(l),l++):(u=15&c.getUint8(l),d=c.getUint8(l)>>4,l++),d>0&&(f=c.buffer.slice(l+2,l+2+d),l+=f.byteLength),a.push({id:u,length:d,data:f})}if(l!==o)throw Error("parse error");return{profile:i,length:o,datas:a}}decompress(t){return HUe(new Uint8Array(t))}compress(t){return jUe(new Uint8Array(t))}}const WUe={name:"DataStream",create:(e,t)=>{const n=t?new PBe(e):new OBe(e);return n.useDataStream(new zUe),n}};class VUe extends fr{constructor(t,n,r){super(),H(this,"ws",void 0),H(this,"requestId",1),H(this,"heartBeatTimer",void 0),H(this,"joinInfo",void 0),H(this,"clientId",void 0),H(this,"onOpen",(()=>{this.emit("open"),this.startHeartBeatCheck()})),H(this,"onClose",(i=>{this.emit("close"),this.dispose()})),H(this,"onMessage",(i=>{const o=JSON.parse(i.data);if(!o||o.command!=="serverResponse"||!o.requestId)return o&&o.command==="serverStatus"&&o.serverStatus&&o.serverStatus.command?(this.emit("status",o.serverStatus),void this.emit(o.serverStatus.command,o.serverStatus)):void 0;this.emit("req_".concat(o.requestId),o)})),this.joinInfo=t,this.clientId=n,this.ws=new dg("cross-channel-".concat(this.clientId),r),this.ws.on(Bt.RECONNECTING,(()=>{this.ws.reconnectMode="retry",this.emit("reconnecting")})),this.ws.on(Bt.CONNECTED,this.onOpen),this.ws.on(Bt.ON_MESSAGE,this.onMessage),this.ws.on(Bt.CLOSED,this.onClose)}isConnect(){return this.ws.state==="connected"}sendMessage(t){const n=this.requestId++;return t.requestId=n,t.seq=n,this.ws.sendMessage(t),n}waitStatus(t){return new ot(((n,r)=>{const i=window.setTimeout((()=>{r(new xe(Q.TIMEOUT,"wait status timeout, status: ".concat(t)))}),5e3);this.once(t,(o=>{window.clearTimeout(i),o.state&&o.state!==0?r(new xe(Q.CROSS_CHANNEL_WAIT_STATUS_ERROR,"wait status error, status: ".concat(t))):n(void 0)})),this.once("dispose",(()=>{window.clearTimeout(i),r(new xe(Q.WS_ABORT))}))}))}async request(t){if(this.ws.state==="closed")throw new xe(Q.WS_DISCONNECT);const n=()=>new ot(((s,a)=>{this.ws.once(Bt.CLOSED,(()=>a(new xe(Q.WS_ABORT)))),this.ws.once(Bt.CONNECTED,s)}));this.ws.state!=="connected"&&await n();const r=this.sendMessage(t),i=new ot(((s,a)=>{const c=()=>{a(new xe(Q.WS_ABORT))};this.ws.once(Bt.RECONNECTING,c),this.ws.once(Bt.CLOSED,c),this.once("req_".concat(r),s),Ei(3e3).then((()=>{this.removeAllListeners("req_".concat(r)),this.ws.off(Bt.RECONNECTING,c),this.ws.off(Bt.CLOSED,c),a(new xe(Q.TIMEOUT,"cross channel ws request timeout"))}))})),o=await i;if(!o||o.code!==200)throw new xe(Q.CROSS_CHANNEL_SERVER_ERROR_RESPONSE,"response: ".concat(JSON.stringify(o)));return o}async connect(t){this.ws.removeAllListeners(Bt.REQUEST_NEW_URLS),this.ws.on(Bt.REQUEST_NEW_URLS,(n=>{n(t)})),await this.ws.init(t)}dispose(){this.clearHeartBeatCheck(),this.emit("dispose"),this.removeAllListeners(),this.ws.close()}sendPing(t){const n=this.requestId++;return t.requestId=n,this.ws.sendMessage(t),n}startHeartBeatCheck(){this.heartBeatTimer&&window.clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.sendPing({command:"ping",appId:this.joinInfo.appId,cname:this.joinInfo.cname,uid:this.joinInfo.uid.toString(),sid:this.joinInfo.sid,ts:+new Date,requestId:0})}),3e3)}clearHeartBeatCheck(){window.clearInterval(this.heartBeatTimer),this.heartBeatTimer=void 0}}class GUe extends fr{set state(t){t!==this._state&&(t!==zo.RELAY_STATE_FAILURE&&(this.errorCode=gh.RELAY_OK),this.emit("state",t,this.errorCode),this._state=t)}get state(){return this._state}constructor(t,n,r,i,o){super(),H(this,"joinInfo",void 0),H(this,"sid",void 0),H(this,"clientId",void 0),H(this,"cancelToken",Lo.CancelToken.source()),H(this,"workerToken",void 0),H(this,"requestId",0),H(this,"signal",void 0),H(this,"prevChannelMediaConfig",void 0),H(this,"httpRetryConfig",void 0),H(this,"_resolution",void 0),H(this,"_state",zo.RELAY_STATE_IDLE),H(this,"errorCode",gh.RELAY_OK),H(this,"onStatus",(s=>{D.debug("[".concat(this.clientId,"] ChannelMediaStatus: ").concat(JSON.stringify(s))),s&&s.command&&(s.command==="onAudioPacketReceived"&&this.emit("event",Ul.PACKET_RECEIVED_AUDIO_FROM_SRC),s.command==="onVideoPacketReceived"&&this.emit("event",Ul.PACKET_RECEIVED_VIDEO_FROM_SRC),s.command==="onSrcTokenPrivilegeDidExpire"&&(this.errorCode=gh.SRC_TOKEN_EXPIRED,this.state=zo.RELAY_STATE_FAILURE),s.command==="onDestTokenPrivilegeDidExpire"&&(this.errorCode=gh.DEST_TOKEN_EXPIRED,this.state=zo.RELAY_STATE_FAILURE))})),H(this,"onReconnect",(async()=>{D.debug("[".concat(this.clientId,"] ChannelMediaSocket disconnect, reconnecting")),this.emit("event",Ul.NETWORK_DISCONNECTED),this.state=zo.RELAY_STATE_IDLE,this.prevChannelMediaConfig&&this.sendStartRelayMessage(this.prevChannelMediaConfig).catch((s=>{this.state!==zo.RELAY_STATE_IDLE&&(D.error("auto restart channel media relay failed",s.toString()),this.errorCode=gh.SERVER_CONNECTION_LOST,this.state=zo.RELAY_STATE_FAILURE)}))})),this.joinInfo=t,this.clientId=n,this.sid=Ph(),this.signal=new VUe(this.joinInfo,this.clientId,r),this.httpRetryConfig=i,this._resolution=o}async startChannelMediaRelay(t){if(this.state!==zo.RELAY_STATE_IDLE)throw new xe(Q.INVALID_OPERATION);this.state=zo.RELAY_STATE_CONNECTING,await this.connect(),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: connect success"));try{await this.sendStartRelayMessage(t)}catch(n){throw n.data&&n.data.serverResponse&&n.data.serverResponse.command==="SetSourceChannel"?new xe(Q.CROSS_CHANNEL_FAILED_JOIN_SRC):n.data&&n.data.serverResponse&&n.serverResponse.command==="SetDestChannelStatus"?new xe(Q.CROSS_CHANNEL_FAILED_JOIN_DEST):n.data&&n.data.serverResponse&&n.serverResponse.command==="StartPacketTransfer"?new xe(Q.CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST):n}this.prevChannelMediaConfig=t}async updateChannelMediaRelay(t){if(this.state!==zo.RELAY_STATE_RUNNING)throw new xe(Q.INVALID_OPERATION);await this.sendUpdateMessage(t),this.prevChannelMediaConfig=t}async setVideoProfile(t){if(this._resolution=t,this.state!==zo.RELAY_STATE_RUNNING)throw new xe(Q.INVALID_OPERATION);const n=this.genMessage(fo.SetVideoProfile);await this.signal.request(n),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: setVideoProfile success"))}async stopChannelMediaRelay(){await this.sendStopRelayMessage(),D.debug("[".concat(this.clientId,"] stopChannelMediaRelay: send stop message success")),this.state=zo.RELAY_STATE_IDLE,this.dispose()}dispose(){D.debug("[".concat(this.clientId,"] disposeChannelMediaRelay")),this.cancelToken.cancel(),this.cancelToken=Lo.CancelToken.source(),this.state=zo.RELAY_STATE_IDLE,this.emit("dispose"),this.signal.dispose(),this.prevChannelMediaConfig=void 0}async connect(){const t=await UBe(this.joinInfo,this.cancelToken.token,this.httpRetryConfig);this.workerToken=t.workerToken,await this.signal.connect(t.addressList),this.emit("event",Ul.NETWORK_CONNECTED),this.signal.on("status",this.onStatus),this.signal.on("reconnecting",this.onReconnect)}async sendStartRelayMessage(t){const n=this.genMessage(fo.StopPacketTransfer);await this.signal.request(n),await this.signal.waitStatus("Normal Quit"),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: StopPacketTransfer success"));const r=this.genMessage(fo.SetSdkProfile,t);await this.signal.request(r),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSdkProfile success"));const i=this.genMessage(fo.SetSourceChannel,t);await this.signal.request(i),await this.signal.waitStatus("SetSourceChannelStatus"),this.emit("event",Ul.PACKET_JOINED_SRC_CHANNEL),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSourceChannel success"));const o=this.genMessage(fo.SetSourceUserId,t);await this.signal.request(o),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSourceUserId success"));const s=this.genMessage(fo.SetDestChannel,t);await this.signal.request(s),await this.signal.waitStatus("SetDestChannelStatus"),this.emit("event",Ul.PACKET_JOINED_DEST_CHANNEL),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetDestChannel success"));const a=this.genMessage(fo.StartPacketTransfer,t);await this.signal.request(a),this.emit("event",Ul.PACKET_SENT_TO_DEST_CHANNEL),this.state=zo.RELAY_STATE_RUNNING,D.debug("[".concat(this.clientId,"] startChannelMediaRelay: StartPacketTransfer success")),this.setVideoProfile(this._resolution)}async sendUpdateMessage(t){const n=this.genMessage(fo.UpdateDestChannel,t);await this.signal.request(n),this.emit("event",Ul.PACKET_UPDATE_DEST_CHANNEL),D.debug("[".concat(this.clientId,"] sendUpdateMessage: UpdateDestChannel success"))}async sendStopRelayMessage(){const t=this.genMessage(fo.StopPacketTransfer);await this.signal.request(t),D.debug("[".concat(this.clientId,"] sendStopRelayMessage: StopPacketTransfer success"))}genMessage(t,n){const r=[],i=[],o=[];this.requestId+=1;const s={appId:this.joinInfo.appId,cname:this.joinInfo.cname,uid:this.joinInfo.uid.toString(),sdkVersion:oa,sid:this.sid,ts:Date.now(),requestId:this.requestId,seq:this.requestId,allocate:!0,clientRequest:{}};s.sdkVersion==="4.22.0"&&(s.sdkVersion="0.0.1");let a=null,c=null;switch(t){case fo.SetSdkProfile:return s.clientRequest={command:"SetSdkProfile",type:"multi_channel"},s;case fo.SetSourceChannel:if(c=n&&n.getSrcChannelMediaInfo(),!c)throw new xe(Q.UNEXPECTED_ERROR,"can not find source config");return s.clientRequest={command:"SetSourceChannel",uid:"0",channelName:c.channelName,token:c.token||this.joinInfo.appId},s;case fo.SetSourceUserId:if(c=n&&n.getSrcChannelMediaInfo(),!c)throw new xe(Q.UNEXPECTED_ERROR,"can not find source config");return s.clientRequest={command:"SetSourceUserId",uid:c.uid+""},s;case fo.SetDestChannel:if(a=n&&n.getDestChannelMediaInfo(),!a)throw new xe(Q.UNEXPECTED_ERROR,"can not find dest config");return a.forEach((l=>{r.push(l.channelName),i.push(l.uid+""),o.push(l.token||this.joinInfo.appId)})),s.clientRequest={command:"SetDestChannel",channelName:r,uid:i,token:o},s;case fo.StartPacketTransfer:return s.clientRequest={command:"StartPacketTransfer"},s;case fo.Reconnect:return s.clientRequest={command:"Reconnect"},s;case fo.StopPacketTransfer:return s.clientRequest={command:"StopPacketTransfer"},s;case fo.UpdateDestChannel:if(a=n&&n.getDestChannelMediaInfo(),!a)throw new xe(Q.UNEXPECTED_ERROR,"can not find dest config");return a.forEach((l=>{r.push(l.channelName),i.push(l.uid+""),o.push(l.token||this.joinInfo.appId)})),s.clientRequest={command:"UpdateDestChannel",channelName:r,uid:i,token:o},s;case fo.SetVideoProfile:s.clientRequest={command:"SetVideoProfile",width:this._resolution.width,height:this._resolution.height}}return s}}const JUe={name:"ChannelMediaRelay",create:function(e){return new GUe(e.joinInfo,e.clientId,e.websocketRetryConfig||jr,e.httpRetryConfig||jr,e.resolution)}};function uH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function P1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?uH(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uH(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class ZUe extends fr{constructor(t,n,r,i){super(),H(this,"spec",void 0),H(this,"token",void 0),H(this,"websocket",void 0),H(this,"pingpongTimer",void 0),H(this,"reconnectMode","retry"),H(this,"serviceMode",void 0),H(this,"reqId",0),H(this,"commandReqId",0),H(this,"handleWebSocketOpen",(()=>{this.reconnectMode="retry",this.startPingPong()})),H(this,"handleWebSocketMessage",(o=>{if(!o.data)return;const s=JSON.parse(o.data);s.requestId?this.emit("@".concat(s.requestId,"-").concat(s.sid),s):(mt.workerEvent(this.spec.sid,{actionType:"status",serverCode:s.code,workerType:this.serviceMode===au.TRANSCODE?1:2}),this.emit(pd.PUBLISH_STREAM_STATUS,s))})),this.spec=n,this.token=t,this.serviceMode=i,this.websocket=new dg("live-streaming",r),this.websocket.on(Bt.CONNECTED,this.handleWebSocketOpen),this.websocket.on(Bt.ON_MESSAGE,this.handleWebSocketMessage),this.websocket.on(Bt.REQUEST_NEW_URLS,((o,s)=>{ki(this,pd.REQUEST_NEW_ADDRESS).then(o).catch(s)})),this.websocket.on(Bt.RECONNECTING,(()=>{this.websocket.reconnectMode=this.reconnectMode}))}init(t){return this.websocket.init(t)}async request(t,n,r,i){this.reqId+=1,t==="request"&&(this.commandReqId+=1);const o=this.commandReqId,s=this.reqId;if(!s||!this.websocket)throw new xe(Q.UNEXPECTED_ERROR);const a=P1({command:t,sdkVersion:oa==="4.22.0"?"0.0.1":oa,seq:s,requestId:s,allocate:r,cname:this.spec.cname,appId:this.spec.appId,sid:this.spec.sid,uid:this.spec.uid.toString(),ts:Math.floor(Date.now()/1e3)},n);if(this.websocket.state==="closed")throw new xe(Q.WS_DISCONNECT);const c=()=>new ot(((f,h)=>{this.websocket.once(Bt.CLOSED,(()=>h(new xe(Q.WS_ABORT)))),this.websocket.once(Bt.CONNECTED,f)}));this.websocket.state!=="connected"&&await c(),a.clientRequest&&(a.clientRequest.workerToken=this.token);const l=new ot(((f,h)=>{const p=()=>{h(new xe(Q.WS_ABORT))};this.websocket.once(Bt.RECONNECTING,p),this.websocket.once(Bt.CLOSED,p),this.once("@".concat(s,"-").concat(this.spec.sid),(g=>{f(g)}))}));i&&mt.workerEvent(this.spec.sid,P1(P1({},i),{},{requestId:o,actionType:"request",payload:JSON.stringify(n.clientRequest),serverCode:0,code:0}));const u=Date.now();this.websocket.sendMessage(a);let d=null;try{d=await l}catch(f){if(this.websocket.state==="closed")throw f;return await c(),await this.request(t,n,r)}return i&&mt.workerEvent(this.spec.sid,P1(P1({},i),{},{requestId:o,actionType:"response",payload:JSON.stringify(d.serverResponse),serverCode:d.code,success:d.code===200,responseTime:Date.now()-u})),d.code!==200&&this.handleResponseError(d),d}tryNextAddress(){this.reconnectMode="tryNext",this.websocket.reconnect("tryNext")}close(){const t=oa==="4.22.0"?"0.0.1":oa;this.reqId+=1,this.websocket.state==="connected"?(this.websocket.sendMessage({command:"request",appId:this.spec.appId,cname:this.spec.cname,uid:this.spec.uid.toString(),sdkVersion:t,sid:this.spec.sid,seq:this.reqId,ts:Math.floor(Date.now()/1e3),requestId:this.reqId,clientRequest:{command:"DestroyWorker"}}),this.websocket.close(!1,!0)):this.websocket.close(!1),this.pingpongTimer&&(window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0)}handleResponseError(t){switch(t.code){case Gr.LIVE_STREAM_RESPONSE_ALREADY_EXISTS_STREAM:return void D.warning("live stream response already exists stream");case Gr.LIVE_STREAM_RESPONSE_TRANSCODING_PARAMETER_ERROR:case Gr.LIVE_STREAM_RESPONSE_BAD_STREAM:case Gr.LIVE_STREAM_RESPONSE_WM_PARAMETER_ERROR:return new xe(Q.LIVE_STREAMING_INVALID_ARGUMENT,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_WM_WORKER_NOT_EXIST:if(t.serverResponse.command==="UnpublishStream")return;throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream response wm worker not exist",{retry:!0});case Gr.LIVE_STREAM_RESPONSE_NOT_AUTHORIZED:return new xe(Q.LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE:{const n=new xe(Q.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_REQUEST_TOO_OFTEN:{const n=new xe(Q.LIVE_STREAMING_WARN_FREQUENT_REQUEST);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_NOT_FOUND_PUBLISH:throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream response wm worker not exist",{retry:!0});case Gr.LIVE_STREAM_RESPONSE_NOT_SUPPORTED:return new xe(Q.LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_MAX_STREAM_NUM:{const n=new xe(Q.LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_INTERNAL_SERVER_ERROR:return new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_RESOURCE_LIMIT:throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream resource limit",{retry:!0,changeAddress:!0});case Gr.LIVE_STREAM_RESPONSE_WORKER_LOST:case Gr.LIVE_STREAM_RESPONSE_WORKER_QUIT:if(t.serverResponse.command==="UnpublishStream")return;throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{retry:!0,changeAddress:!0});case Gr.ERROR_FAIL_SEND_MESSAGE:if(t.serverResponse.command==="UnpublishStream")return;if(t.serverResponse.command==="UpdateTranscoding"||t.serverResponse.command==="ControlStream")return new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{code:t.code}).throw();throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{retry:!0,changeAddress:!0});case Gr.PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH:return new xe(Q.LIVE_STREAMING_CDN_ERROR,"",{code:t.code}).throw()}}startPingPong(){this.pingpongTimer&&window.clearInterval(this.pingpongTimer),this.pingpongTimer=window.setInterval((()=>{this.websocket.state==="connected"&&this.request("ping",{}).catch(d6)}),6e3)}}function dH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Uo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dH(Object(n),!0).forEach((function(r){H(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dH(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}class YUe extends fr{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:jr,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:jr;super(),H(this,"onLiveStreamWarning",void 0),H(this,"onLiveStreamError",void 0),H(this,"spec",void 0),H(this,"retryTimeout",1e4),H(this,"connection",void 0),H(this,"httpRetryConfig",void 0),H(this,"wsRetryConfig",void 0),H(this,"streamingTasks",new Map),H(this,"isStartingStreamingTask",!1),H(this,"taskMutex",new Hi("live-streaming")),H(this,"cancelToken",Lo.CancelToken.source()),H(this,"transcodingConfig",void 0),H(this,"uapResponse",void 0),H(this,"lastTaskId",1),H(this,"statusError",new Map),this.spec=t,this.httpRetryConfig=r,this.wsRetryConfig=n}async setTranscodingConfig(t){const n=Uo(Uo({},GNe),t);n.videoCodecProfile!==66&&n.videoCodecProfile!==77&&n.videoCodecProfile!==100&&(D.debug("[".concat(this.spec.clientId,"] set transcoding config, fix video codec profile: ").concat(n.videoCodecProfile," -> 100")),n.videoCodecProfile=100),n.transcodingUsers||(n.transcodingUsers=n.userConfigs),n.transcodingUsers&&(n.transcodingUsers=n.transcodingUsers.map((s=>Uo(Uo(Uo({},VNe),s),{},{zOrder:s.zOrder?s.zOrder+1:1})))),(function(s){ur(s.width)||Ln(s.width,"config.width",0,1e4),ur(s.height)||Ln(s.height,"config.height",0,1e4),ur(s.videoBitrate)||Ln(s.videoBitrate,"config.videoBitrate",1,1e6),ur(s.videoFrameRate)||Ln(s.videoFrameRate,"config.videoFrameRate"),ur(s.lowLatency)||nu(s.lowLatency,"config.lowLatency"),ur(s.audioSampleRate)||Kr(s.audioSampleRate,"config.audioSampleRate",[32e3,44100,48e3]),ur(s.audioBitrate)||Ln(s.audioBitrate,"config.audioBitrate",1,128),ur(s.audioChannels)||Kr(s.audioChannels,"config.audioChannels",[1,2,3,4,5]),ur(s.videoGop)||Ln(s.videoGop,"config.videoGop"),ur(s.videoCodecProfile)||Kr(s.videoCodecProfile,"config.videoCodecProfile",[66,77,100]),ur(s.userCount)||Ln(s.userCount,"config.userCount",0,17),ur(s.backgroundColor)||Ln(s.backgroundColor,"config.backgroundColor",0,16777215),ur(s.userConfigExtraInfo)||pi(s.userConfigExtraInfo,"config.userConfigExtraInfo",0,4096,!1),s.transcodingUsers&&!ur(s.transcodingUsers)&&(Zl(s.transcodingUsers,"config.transcodingUsers"),s.transcodingUsers.forEach(((a,c)=>{p6(a.uid),ur(a.x)||Ln(a.x,"transcodingUser[".concat(c,"].x"),0,1e4),ur(a.y)||Ln(a.y,"transcodingUser[".concat(c,"].y"),0,1e4),ur(a.width)||Ln(a.width,"transcodingUser[".concat(c,"].width"),0,1e4),ur(a.height)||Ln(a.height,"transcodingUser[".concat(c,"].height"),0,1e4),ur(a.zOrder)||Ln(a.zOrder-1,"transcodingUser[".concat(c,"].zOrder"),0,100),ur(a.alpha)||Ln(a.alpha,"transcodingUser[".concat(c,"].alpha"),0,1,!1)}))),ur(s.watermark)||z9(s.watermark,"watermark"),ur(s.backgroundImage)||z9(s.backgroundImage,"backgroundImage"),s.images&&!ur(s.images)&&(Zl(s.images,"config.images"),s.images.forEach(((a,c)=>{z9(a,"images[".concat(c,"]"))})))})(n);const r=[];n.images&&r.push(...n.images.map((s=>Uo(Uo(Uo({},H9),s),{},{zOrder:255})))),n.backgroundImage&&(r.push(Uo(Uo(Uo({},H9),n.backgroundImage),{},{zOrder:0})),delete n.backgroundImage),n.watermark&&(r.push(Uo(Uo(Uo({},H9),n.watermark),{},{zOrder:255})),delete n.watermark),n.images=r,n.transcodingUsers&&(n.userConfigs=n.transcodingUsers.map((s=>Uo({},s))),n.userCount=n.transcodingUsers.length,delete n.transcodingUsers);const i=(n.userConfigs||[]).map((s=>typeof s.uid=="number"?ot.resolve(s.uid):y$(s.uid,this.spec,this.cancelToken.token,this.httpRetryConfig)));if((await ot.all(i)).forEach(((s,a)=>{n.userConfigs&&n.userConfigs[a]&&(n.userConfigs[a].uid=s)})),this.transcodingConfig=n,this.connection)try{var o;const s=await this.connection.request("request",{clientRequest:{command:"UpdateTranscoding",transcodingConfig:this.transcodingConfig}},!1,{command:"UpdateTranscoding",workerType:1,requestByUser:!0,tid:Array.from(pu(o=this.streamingTasks).call(o)).map((a=>a.taskId)).join("#")});D.debug("[".concat(this.spec.clientId,"] update live transcoding config success, code: ").concat(s.code,", config:"),JSON.stringify(this.transcodingConfig))}catch(s){if(!s.data||!s.data.retry)throw s;s.data.changeAddress&&this.connection.tryNextAddress(),this.streamingTasks.forEach((a=>{D.warning("[".concat(this.spec.clientId,"] live streaming receive error"),s.toString(),"try to republish",a.url),this.startLiveStreamingTask(a.url,a.mode,s).then((()=>{D.debug("[".concat(this.spec.clientId,"] live streaming republish ").concat(a.url," success"))})).catch((c=>{D.error("[".concat(this.spec.clientId,"] live streaming republish failed"),a.url,c.toString()),this.onLiveStreamError&&this.onLiveStreamError(a.url,c)}))}))}}async startLiveStreamingTask(t,n,r){if(!this.transcodingConfig&&n===au.TRANSCODE)throw new xe(Q.INVALID_OPERATION,"[LiveStreaming] no transcoding config found, can not start transcoding streaming task");const i={command:"PublishStream",ts:Date.now(),url:t,uid:this.spec.uid.toString(),autoDestroyTime:100,acceptImageTimeout:!0};D.debug("[".concat(this.spec.clientId,"] start live streaming ").concat(t,", mode: ").concat(n));const o=await this.taskMutex.lock();if(!this.connection&&r)return void o();if(this.streamingTasks.get(t)&&!r)return o(),new xe(Q.LIVE_STREAMING_TASK_CONFLICT).throw();try{this.connection||(this.connection=await this.connect(n))}catch(a){throw o(),a}switch(n){case au.TRANSCODE:i.transcodingConfig=Uo({},this.transcodingConfig)}this.uapResponse&&this.uapResponse.vid&&(i.vid=this.uapResponse.vid),this.isStartingStreamingTask=!0;const s=this.lastTaskId++;try{const a=new ot(((l,u)=>{Ei(this.retryTimeout).then((()=>{if(r)return u(r);const d=this.statusError.get(t);return d?(this.statusError.delete(t),u(d)):void 0}))})),c=await ot.race([this.connection.request("request",{clientRequest:i},!0,{url:t,command:"PublishStream",workerType:n===au.TRANSCODE?1:2,requestByUser:!r,tid:s.toString()}),a]);this.isStartingStreamingTask=!1,D.debug("[".concat(this.spec.clientId,"] live streaming started, code: ").concat(c.code)),this.streamingTasks.set(t,{clientRequest:i,mode:n,url:t,taskId:s}),o()}catch(a){if(o(),this.isStartingStreamingTask=!1,!a.data||!a.data.retry||r)throw a;return a.data.changeAddress?(this.connection.tryNextAddress(),await this.startLiveStreamingTask(t,n,a)):await this.startLiveStreamingTask(t,n,a)}}stopLiveStreamingTask(t){return new ot(((n,r)=>{const i=this.streamingTasks.get(t);if(!i||!this.connection)return new xe(Q.UNEXPECTED_ERROR,"can not find streaming task to stop").throw();const o=i.mode;i.abortTask=()=>{D.debug("[".concat(this.spec.clientId,"] stop live streaming success(worker exception)")),this.streamingTasks.delete(t),n()},this.connection.request("request",{clientRequest:{command:"UnpublishStream",url:i.url}},!1,{url:t,command:"UnPublishStream",workerType:o===au.TRANSCODE?1:2,requestByUser:!0,tid:(this.lastTaskId++).toString()}).then((s=>{D.debug("[".concat(this.spec.clientId,"] stop live streaming success, code: ").concat(s.code)),this.streamingTasks.delete(t),this.streamingTasks.size===0&&(this.connection&&this.connection.close(),this.connection=void 0),n()})).catch(r)}))}resetAllTask(){var t;const n=Array.from(pu(t=this.streamingTasks).call(t));this.terminate();for(const r of n)this.startLiveStreamingTask(r.url,r.mode).catch((i=>{this.onLiveStreamError&&this.onLiveStreamError(r.url,i)}))}terminate(){this.cancelToken&&this.cancelToken.cancel(),this.streamingTasks=new Map,this.isStartingStreamingTask=!1,this.statusError=new Map,this.cancelToken=Lo.CancelToken.source(),this.uapResponse=void 0,this.connection&&this.connection.close(),this.connection=void 0}async connect(t){if(this.connection)throw new xe(Q.UNEXPECTED_ERROR,"live streaming connection has already connected");const n=await ki(this,XA.REQUEST_WORKER_MANAGER_LIST,t);return this.uapResponse=n,this.connection=new ZUe(n.workerToken,this.spec,this.wsRetryConfig,t),this.connection.on(pd.WARNING,((r,i)=>this.onLiveStreamWarning&&this.onLiveStreamWarning(i,r))),this.connection.on(pd.PUBLISH_STREAM_STATUS,(r=>this.handlePublishStreamServer(r))),this.connection.on(pd.REQUEST_NEW_ADDRESS,((r,i)=>{if(!this.connection)return i(new xe(Q.UNEXPECTED_ERROR,"can not get new live streaming address list"));ki(this,XA.REQUEST_WORKER_MANAGER_LIST,t).then((o=>{this.uapResponse=o,r(o.addressList)})).catch(i)})),await this.connection.init(n.addressList),this.connection}handlePublishStreamServer(t){const n=t.serverStatus&&t.serverStatus.url||"empty_url",r=this.streamingTasks.get(n),i=t.reason;switch(t.code){case Gr.PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH:{const s=new xe(Q.LIVE_STREAMING_CDN_ERROR,"",{code:t.code});if(r)return D.error(s.toString()),this.onLiveStreamError&&this.onLiveStreamError(n,s);if(!this.isStartingStreamingTask)return;this.statusError.set(n,s)}case Gr.LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE:{const s=new xe(Q.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE,i);return this.onLiveStreamWarning&&this.onLiveStreamWarning(n,s)}case Gr.LIVE_STREAM_RESPONSE_WORKER_LOST:case Gr.LIVE_STREAM_RESPONSE_WORKER_QUIT:{var o;if(!this.connection)return;this.connection.tryNextAddress();const s=Array.from(pu(o=this.streamingTasks).call(o));for(const a of s)a.abortTask?a.abortTask():(D.warning("[".concat(this.spec.clientId,"] publish stream status code"),t.code,"try to republish",a.url),this.startLiveStreamingTask(a.url,a.mode,new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"",{code:t.code})).then((()=>{D.debug("[".concat(this.spec.clientId,"] republish live stream success"),a.url)})).catch((c=>{D.error(c.toString()),this.onLiveStreamError&&this.onLiveStreamError(a.url,c)})));return}}}hasUrl(t){return this.streamingTasks.has(t)}}const XUe={name:"LiveStreaming",create:function(e){return new YUe(e.joinInfo,e.websocketRetryConfig||jr,e.httpRetryConfig||jr)}};function QUe(e){let t=fH();return(function(n,r){let i=n.appId;i!==void 0&&(wn(r,10),jc(r,i));let o=n.cid;o!==void 0&&(wn(r,16),wn(r,o));let s=n.cname;s!==void 0&&(wn(r,26),jc(r,s));let a=n.deviceId;a!==void 0&&(wn(r,34),jc(r,a));let c=n.elapse;c!==void 0&&(wn(r,40),Qu(r,c));let l=n.fileSize;l!==void 0&&(wn(r,48),Qu(r,oh(l)));let u=n.height;u!==void 0&&(wn(r,56),Qu(r,oh(u)));let d=n.jpg;d!==void 0&&(wn(r,66),wn(r,d.length),(function(Y,M){let B=n1(Y,M.length);Y.bytes.set(M,B)})(r,d));let f=n.networkType;f!==void 0&&(wn(r,72),Qu(r,oh(f)));let h=n.osType;h!==void 0&&(wn(r,80),Qu(r,oh(h)));let p=n.requestId;p!==void 0&&(wn(r,90),jc(r,p));let g=n.sdkVersion;g!==void 0&&(wn(r,98),jc(r,g));let m=n.sequence;m!==void 0&&(wn(r,104),Qu(r,oh(m)));let y=n.sid;y!==void 0&&(wn(r,114),jc(r,y));let v=n.timestamp;v!==void 0&&(wn(r,120),Qu(r,v));let E=n.uid;E!==void 0&&(wn(r,128),wn(r,E));let b=n.vid;b!==void 0&&(wn(r,136),wn(r,b));let S=n.width;S!==void 0&&(wn(r,144),Qu(r,oh(S)));let w=n.service;w!==void 0&&(wn(r,152),wn(r,w));let C=n.callbackData;C!==void 0&&(wn(r,162),jc(r,C));let _=n.jpgEncryption;_!==void 0&&(wn(r,168),wn(r,_));let I=n.requestType;I!==void 0&&(wn(r,176),wn(r,I));let O=n.scorePorn;O!==void 0&&(wn(r,185),zE(r,O));let L=n.scoreSexy;L!==void 0&&(wn(r,193),zE(r,L));let R=n.scoreNeutral;R!==void 0&&(wn(r,201),zE(r,R));let F=n.scene;F!==void 0&&(wn(r,208),wn(r,F));let W=n.ossFilePrefix;W!==void 0&&(wn(r,218),jc(r,W));let J=n.serviceVendor;if(J!==void 0)for(let Y of J){wn(r,226);let M=fH();$Ue(Y,M),wn(r,M.limit),rje(r,M),nje(M)}})(e,t),(function(n){let r=n.bytes,i=n.limit;return r.length===i?r:r.subarray(0,i)})(t)}function KUe(e){return(function(n){let r={};e:for(;!fee(n);){let i=Yc(n);switch(i>>>3){case 0:break e;case 1:r.code=Yc(n);break;case 2:r.msg=hee(n,Yc(n));break;case 3:{let o=eje(n);r.data=qUe(n),n.limit=o;break}default:uee(n,7&i)}}return r})({bytes:t=e,offset:0,limit:t.length});var t}function qUe(e){let t={};e:for(;!fee(e);){let n=Yc(e);switch(n>>>3){case 0:break e;case 1:t.requestId=hee(e,Yc(e));break;case 2:t.requestType=Yc(e)>>>0;break;case 3:t.scorePorn=HE(e);break;case 4:t.scoreSexy=HE(e);break;case 5:t.scoreNeutral=HE(e);break;case 6:t.requestScene=Yc(e)>>>0;break;case 7:t.scene=Yc(e)>>>0;break;default:uee(e,7&n)}}return t}function $Ue(e,t){let n=e.service;n!==void 0&&(wn(t,8),wn(t,n));let r=e.vendor;r!==void 0&&(wn(t,16),wn(t,r));let i=e.token;i!==void 0&&(wn(t,26),jc(t,i));let o=e.callbackUrl;o!==void 0&&(wn(t,34),jc(t,o))}function eje(e){let t=Yc(e),n=e.limit;return e.limit=e.offset+t,n}function uee(e,t){switch(t){case 0:for(;128&pee(e););break;case 2:jE(e,Yc(e));break;case 5:jE(e,4);break;case 1:jE(e,8);break;default:throw new Error("Unimplemented type: "+t)}}let tje=new Float32Array(1);new Uint8Array(tje.buffer);let NI=new Float64Array(1),Jo=new Uint8Array(NI.buffer);function oh(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}let dee=[];function fH(){const e=dee.pop();return e?(e.offset=e.limit=0,e):{bytes:new Uint8Array(64),offset:0,limit:0}}function nje(e){dee.push(e)}function jE(e,t){if(e.offset+t>e.limit)throw new Error("Skip past limit");e.offset+=t}function fee(e){return e.offset>=e.limit}function n1(e,t){let n=e.bytes,r=e.offset,i=e.limit,o=r+t;if(o>n.length){let s=new Uint8Array(2*o);s.set(n),e.bytes=s}return e.offset=o,o>i&&(e.limit=o),r}function MI(e,t){let n=e.offset;if(n+t>e.limit)throw new Error("Read past limit");return e.offset+=t,n}function hee(e,t){let n=MI(e,t),r=String.fromCharCode,i=e.bytes,o="<22>",s="";for(let a=0;a<t;a++){let c,l,u,d,f=i[a+n];(128&f)==0?s+=r(f):(224&f)==192?a+1>=t?s+=o:(c=i[a+n+1],(192&c)!=128?s+=o:(d=(31&f)<<6|63&c,d<128?s+=o:(s+=r(d),a++))):(240&f)==224?a+2>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],(49344&(c|l<<8))!=32896?s+=o:(d=(15&f)<<12|(63&c)<<6|63&l,d<2048||d>=55296&&d<=57343?s+=o:(s+=r(d),a+=2))):(248&f)==240?a+3>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],u=i[a+n+3],(12632256&(c|l<<8|u<<16))!=8421504?s+=o:(d=(7&f)<<18|(63&c)<<12|(63&l)<<6|63&u,d<65536||d>1114111?s+=o:(d-=65536,s+=r(55296+(d>>10),56320+(1023&d)),a+=3))):s+=o}return s}function jc(e,t){let n=t.length,r=0;for(let s=0;s<n;s++){let a=t.charCodeAt(s);a>=55296&&a<=56319&&s+1<n&&(a=(a<<10)+t.charCodeAt(++s)-56613888),r+=a<128?1:a<2048?2:a<65536?3:4}wn(e,r);let i=n1(e,r),o=e.bytes;for(let s=0;s<n;s++){let a=t.charCodeAt(s);a>=55296&&a<=56319&&s+1<n&&(a=(a<<10)+t.charCodeAt(++s)-56613888),a<128?o[i++]=a:(a<2048?o[i++]=a>>6&31|192:(a<65536?o[i++]=a>>12&15|224:(o[i++]=a>>18&7|240,o[i++]=a>>12&63|128),o[i++]=a>>6&63|128),o[i++]=63&a|128)}}function rje(e,t){let n=n1(e,t.limit),r=e.bytes,i=t.bytes;for(let o=0,s=t.limit;o<s;o++)r[o+n]=i[o]}function pee(e){return e.bytes[MI(e,1)]}function hH(e,t){let n=n1(e,1);e.bytes[n]=t}function HE(e){let t=MI(e,8),n=e.bytes;return Jo[0]=n[t++],Jo[1]=n[t++],Jo[2]=n[t++],Jo[3]=n[t++],Jo[4]=n[t++],Jo[5]=n[t++],Jo[6]=n[t++],Jo[7]=n[t++],NI[0]}function zE(e,t){let n=n1(e,8),r=e.bytes;NI[0]=t,r[n++]=Jo[0],r[n++]=Jo[1],r[n++]=Jo[2],r[n++]=Jo[3],r[n++]=Jo[4],r[n++]=Jo[5],r[n++]=Jo[6],r[n++]=Jo[7]}function Yc(e){let t,n=0,r=0;do t=pee(e),n<32&&(r|=(127&t)<<n),n+=7;while(128&t);return r}function wn(e,t){for(t>>>=0;t>=128;)hH(e,127&t|128),t>>>=7;hH(e,t)}function Qu(e,t){let n=t.low>>>0,r=(t.low>>>28|t.high<<4)>>>0,i=t.high>>>24,o=i===0?r===0?n<16384?n<128?1:2:n<1<<21?3:4:r<16384?r<128?5:6:r<1<<21?7:8:i<128?9:10,s=n1(e,o),a=e.bytes;switch(o){case 10:a[s+9]=i>>>7&1;case 9:a[s+8]=o!==9?128|i:127&i;case 8:a[s+7]=o!==8?r>>>21|128:r>>>21&127;case 7:a[s+6]=o!==7?r>>>14|128:r>>>14&127;case 6:a[s+5]=o!==6?r>>>7|128:r>>>7&127;case 5:a[s+4]=o!==5?128|r:127&r;case 4:a[s+3]=o!==4?n>>>21|128:n>>>21&127;case 3:a[s+2]=o!==3?n>>>14|128:n>>>14&127;case 2:a[s+1]=o!==2?n>>>7|128:n>>>7&127;case 1:a[s]=o!==1?128|n:127&n}}function pH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}const ije=new Map([["moderation",1],["supervise",2]]);function mH(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}class oje extends fr{get connectionState(){return this._connectionState}set connectionState(t){if(this._connectionState===t)return;const n=this._connectionState;this._connectionState=t,this.emit(ci.CONNECTION_STATE_CHANGE,n,t)}get inspectType(){return this._inspectType}set inspectType(t){var n;this._inspectMode=vc(n=t.map((r=>ije.get(r)||0))).call(n,((r,i)=>r+i)),this._inspectType=t}get quality(){return this._quality}set quality(t){this._quality=t>1?1:t<.1?.1:t,this.qualityTimer&&(window.clearTimeout(this.qualityTimer),this.qualityTimer=null),this._quality>=1||(this.qualityTimer=window.setTimeout((()=>{this.quality=this._quality/this.qualityRatio}),6e4))}constructor(t){super(),H(this,"name","AgoraRTCVideoContentInspect"),H(this,"_connectionState",ba.CONNECTING),H(this,"_innerConnectionState",void 0),H(this,"sequence",0),H(this,"inspectStartTime",void 0),H(this,"workerManagerConnection",void 0),H(this,"workerConnection",void 0),H(this,"workerMessageLengthLimit",void 0),H(this,"inspectIntervalMinimum",void 0),H(this,"qualityRatio",void 0),H(this,"_connectInfo",void 0),H(this,"_cancelTokenSource",Lo.CancelToken.source()),H(this,"_retryConfig",void 0),H(this,"wmSequence",0),H(this,"inspectInterval",void 0),H(this,"inspectTimer",null),H(this,"ossFilePrefix",void 0),H(this,"extraInfo",void 0),H(this,"_inspectType",void 0),H(this,"_inspectMode",void 0),H(this,"_quality",1),H(this,"qualityTimer",null),H(this,"_inspectId",void 0),H(this,"_needWorkUrlOnly",!1),H(this,"inspectImage",(()=>{if(this.connectionState!==ba.CONNECTED)throw new xe(Q.OPERATION_ABORTED,"content inspect service connection status is ".concat(this.connectionState));this.inspectTimer&&(window.clearInterval(this.inspectTimer),this.inspectTimer=null),this.inspectTimer=window.setInterval((()=>{this.connectionState===ba.CONNECTED?this.requestToInspectImage():D.debug("[".concat(this._inspectId,"] Inspect State is not connected , "),this.connectionState)}),this.inspectInterval<this.inspectIntervalMinimum?this.inspectIntervalMinimum:this.inspectInterval),this.requestToInspectImage()})),this._inspectId=Wn(5,"inspect-"),this.workerMessageLengthLimit=he("VIDEO_INSPECT_WORKER_MESSAGE_LENGTH_LIMIT"),this.inspectIntervalMinimum=he("VIDEO_INSPECT_INTERVAL_MINIMUM"),this.qualityRatio=he("VIDEO_INSPECT_QUALITY_RATIO"),this.inspectInterval=t.interval,this.ossFilePrefix=t.ossFilePrefix,this.extraInfo=t.extraInfo,this.inspectType=t.inspectType,this.inspectStartTime=Number(Date.now()),this.workerManagerConnection=new dg("worker-manager-"+this._inspectId,jr),this.on(ci.STATE_CHANGE,((n,r)=>{this._innerConnectionState=n,D.debug("[".concat(this._inspectId,"] Inspect operation :").concat(pa[n]," ").concat(r||""))})),this.handleWorkerManagerEvents(),this.workerConnection=new dg("worker-"+this._inspectId,jr),this.handleWorkerEvents()}async init(t,n){this.emit(ci.STATE_CHANGE,pa.CONNECT_AP),this._connectInfo=t;const r=this._cancelTokenSource.token;return this._retryConfig=n,new ot(((i,o)=>{this.on(ci.CONNECTION_STATE_CHANGE,((s,a)=>{a===ba.CONNECTED&&i()})),this.requestAP(t,r,n).then((s=>{this.connectWorkerManager(s)})).catch((s=>{o(s)}))}))}async requestAP(t,n,r){const i=he("WEBCS_DOMAIN").map((a=>"https://".concat(a,"/api/v1"))),o=await(function(a,c,l,u){let{appId:d,areaCode:f,cname:h,sid:p,token:g,uid:m}=c;Zh++;const y="image_moderation_api",v={service_name:y,json_body:JSON.stringify({appId:d,areaCode:f,cname:h,command:"allocateEdge",requestId:Zh,seq:Zh,sid:p,token:g,ts:Date.now(),uid:m+""})};let E,b,S=a[0];return wc((async()=>{E=Date.now();const w=await Tc(S,{data:v,cancelToken:l,headers:{"X-Packet-Service-Type":"0","X-Packet-URI":"61"},params:{action:"wrtc_gateway"}});if(b=Date.now()-E,w.code!==0){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap error, code"+w.code,{retry:!0,responseTime:b});throw D.error(O.toString()),O}const C=JSON.parse(w.json_body);if(C.code!==200){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap error, code: ".concat(C.code,", reason: ").concat(C.reason),{code:C.code,responseTime:b});throw D.error(O.toString()),O}if(!C.servers||!Array.isArray(C.servers)||C.servers.length===0){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap empty server",{code:C.code,responseTime:b});throw D.error(O.toString()),O}const _=he("VIDEO_INSPECT_WORKER_MANAGER_HOST"),I=he("VIDEO_INSPECT_WORKER_MANAGER_PORT");return{addressList:C.servers.map((O=>{let{address:L,wss:R}=O;if(L&&R)return"wss://".concat(L.replace(/\./g,"-"),".").concat(_,":").concat(I||R)})).filter((O=>!!O)),workerToken:C.workerToken,vid:C.vid,responseTime:b}}),((w,C)=>(mt.apworkerEvent(p,{success:!0,sc:200,serviceName:y,responseDetail:JSON.stringify(w.addressList),firstSuccess:C===0,responseTime:b,serverIp:a[C%a.length]}),!1)),((w,C)=>(mt.apworkerEvent(p,{success:!1,sc:w.data&&w.data.code||200,serviceName:y,responseTime:b,serverIp:a[C%a.length]}),!!(w.code!==Q.OPERATION_ABORTED&&w.code!==Q.UNEXPECTED_RESPONSE||w.data&&w.data.retry)&&(S=a[(C+1)%a.length],!0))),u)})(i,t,n,r);this.emit(ci.STATE_CHANGE,pa.AP_CONNECTED);const{addressList:s}=o;return this.wmSequence++,s}async connectWorkerManager(t){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];this._needWorkUrlOnly=n,this.emit(ci.STATE_CHANGE,pa.CONNECT_WORKER_MANAGER),await this.workerManagerConnection.init(t,1e4)}async connectWorker(t){await this.workerConnection.init([t])}handleWorkerManagerEvents(){this.workerManagerConnection.on(Bt.CONNECTED,(async()=>{this.emit(ci.STATE_CHANGE,pa.WORKER_MANAGER_CONNECTED,this.workerManagerConnection.url),this.workerManagerConnection.sendMessage({appId:this._connectInfo.appId,cname:this._connectInfo.cname,uid:this._connectInfo.uid+"",sdkVersion:"4.22.0",sid:this._connectInfo.sid,seq:this.wmSequence,ts:Number(Date.now()),requestId:Math.floor(1e12*Math.random()),allocate:!0,clientRequest:{command:"join"}},!0)})),this.workerManagerConnection.on(Bt.CLOSED,(()=>{this._innerConnectionState<pa.GET_WORKER_MANAGER_RESPONSE&&D.debug("[".concat(this._inspectId,"] Inspect worker manager is closed before connecting worker"))})),this.workerManagerConnection.on(Bt.FAILED,(()=>{this._innerConnectionState<pa.GET_WORKER_MANAGER_RESPONSE&&D.debug("[".concat(this._inspectId,"] Connecting inspect worker manager is failed before connecting worker"))})),this.workerManagerConnection.on(Bt.RECONNECTING,(()=>{this._innerConnectionState<pa.GET_WORKER_MANAGER_RESPONSE&&D.debug("[".concat(this._inspectId,"] Inspect worker manager is reconnecting before connecting worker"))})),this.workerManagerConnection.on(Bt.ON_MESSAGE,(async t=>{this.emit(ci.STATE_CHANGE,pa.GET_WORKER_MANAGER_RESPONSE);const n=this.workerManagerConnection.url;this.workerManagerConnection.close();const r=JSON.parse(t.data);if(r.code!==200)throw D.error("[".concat(this._inspectId,"] Unexpected code ").concat(r.code," from worker manager")),new xe(Q.UNEXPECTED_RESPONSE,"response code of worker is unexpected",r);if(!(r.serverResponse&&r.serverResponse.portWss&&n))throw D.error("[".concat(this._inspectId,"] Unexpected content from worker manager : ").concat(JSON.stringify(r))),new xe(Q.UNEXPECTED_RESPONSE,"response content of worker is unexpected",r);{const i=he("VIDEO_INSPECT_WORKER_PORT")||r.serverResponse.portWss,o=n.replace(/:\d+\/?$/,":".concat(i));this.emit(ci.STATE_CHANGE,pa.CONNECT_WORKER,o),this._needWorkUrlOnly?this.emit(ci.REQUEST_NEW_WORKER_URL,o):await this.connectWorker(o)}})),this.workerManagerConnection.on(Bt.WILL_RECONNECT,((t,n,r)=>{r(t)})),this.workerManagerConnection.on(Bt.REQUEST_NEW_URLS,((t,n)=>{this.requestAP(this._connectInfo,this._cancelTokenSource.token,this._retryConfig).then(t).catch(n)}))}handleWorkerEvents(){this.workerConnection.on(Bt.CONNECTED,(async()=>{this.emit(ci.STATE_CHANGE,pa.WORKER_CONNECTED,this.workerConnection.url),this.connectionState=ba.CONNECTED})),this.workerConnection.on(Bt.ON_MESSAGE,(async t=>{if(t.data instanceof ArrayBuffer){const r=KUe(new Uint8Array(t.data));if(he("SHOW_VIDEO_INSPECT_WORKER_MESSAGE")&&D.debug("[".concat(this._inspectId,"] Response message for worker of inspect content "),JSON.stringify(r)),r.code===200){if(Array.isArray(this.inspectType)&&this.inspectType.length===1&&this.inspectType[0]==="supervise")return void this.emit(ci.INSPECT_RESULT,void 0,void 0);if(r.data&&r.data.scorePorn&&r.data.scoreSexy&&r.data.scoreNeutral){var n;const i={porn:r.data.scorePorn,sexy:r.data.scoreSexy,neutral:r.data.scoreNeutral},o=vc(n=Object.keys(i)).call(n,((a,c)=>i[a]>i[c]?a:c),"porn"),s=Object.keys(i).find((a=>a===o));this.emit(ci.INSPECT_RESULT,s)}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,r.code+"","There is an unexpected data on message"))}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,r.code+"",r.msg))}else D.error("[".concat(this._inspectId,"] Unexpected message type from worker")),this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,"invalid worker message type"))})),this.workerConnection.on(Bt.CLOSED,(()=>{this.connectionState=ba.CLOSED})),this.workerConnection.on(Bt.FAILED,(()=>{this.connectionState=ba.CLOSED})),this.workerConnection.on(Bt.RECONNECTING,(()=>{this.connectionState=this.connectionState===ba.CONNECTED?ba.RECONNECTING:ba.CONNECTING})),this.workerConnection.on(Bt.WILL_RECONNECT,((t,n,r)=>{t==="recover"&&r(t),r("tryNext")})),this.workerConnection.on(Bt.REQUEST_NEW_URLS,((t,n)=>{this.workerManagerConnection.close(),this.once(ci.REQUEST_NEW_WORKER_URL,(r=>{t([r])})),this.requestAP(this._connectInfo,this._cancelTokenSource.token,this._retryConfig).then((r=>{this.connectWorkerManager(r,!0)})).catch((r=>{n(r)}))}))}async requestToInspectImage(){this.sequence++;const t=ia(this,ci.CLIENT_LOCAL_VIDEO_TRACK),n={appId:this._connectInfo.appId,cname:this._connectInfo.cname,cid:this._connectInfo.cid,sid:this._connectInfo.sid,uid:this._connectInfo.uid,vid:this._connectInfo.vid};if(t){if(!t.isPlaying)return void this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.INVALID_OPERATION,"Only the track being played can be inspected"));const r=await this.generateRequestData(t,n);this.workerConnection.sendMessage(r,!0,!0)}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.INVALID_OPERATION,"Only the track being published can be inspected"))}async generateRequestData(t,n){let{appId:r,cname:i,cid:o,vid:s,sid:a,uid:c}=n;const l=Date.now(),u=await t.getCurrentFrameImage("image/jpeg",this.quality),d=await e$(u,r,i),f=this.sequence+"-"+o+"-"+c+"-"+l+"-"+Wn(12,""),h={appId:r,cid:o,cname:i,deviceId:"",elapse:mH(Number(l-this.inspectStartTime)),fileSize:d.byteLength,jpgEncryption:2,height:u.height,width:u.width,jpg:d,networkType:6,osType:7,requestId:f,sdkVersion:"4.22.0",sequence:this.sequence,sid:a,timestamp:mH(l),uid:c,vid:s,service:this._inspectMode,callbackData:this.extraInfo,ossFilePrefix:this.ossFilePrefix};this.extraInfo===void 0&&delete h.callbackData,this.ossFilePrefix===void 0&&delete h.ossFilePrefix;const p=QUe(h);if(p.byteLength<this.workerMessageLengthLimit){if(he("SHOW_VIDEO_INSPECT_WORKER_MESSAGE")){const g=(function(m){for(var y=1;y<arguments.length;y++){var v=arguments[y]!=null?arguments[y]:{};y%2?pH(Object(v),!0).forEach((function(E){H(m,E,v[E])})):Object.getOwnPropertyDescriptors?Object.defineProperties(m,Object.getOwnPropertyDescriptors(v)):pH(Object(v)).forEach((function(E){Object.defineProperty(m,E,Object.getOwnPropertyDescriptor(v,E))}))}return m})({},h);delete g.jpg,D.debug("[".concat(this._inspectId,"] Request message for worker of inspect content "),JSON.stringify(g))}return p}{const g=this.quality*this.qualityRatio;return this.quality=g,await this.generateRequestData(t,{appId:r,cname:i,cid:o,vid:s,sid:a,uid:c})}}close(){this._cancelTokenSource.cancel(),this._cancelTokenSource=Lo.CancelToken.source(),this.workerManagerConnection&&this.workerManagerConnection.close(),this.workerConnection&&this.workerConnection.close(),this.inspectTimer&&window.clearInterval(this.inspectTimer),this.inspectTimer=null,this.connectionState=ba.CLOSED,this.emit(ci.STATE_CHANGE,pa.CLOSED)}}const sje={name:"ContentInspect",create:function(e){let{config:t}=e;return(function(n){if(!n)throw new xe(Q.INVALID_PARAMS,"inspectConfig is necessary.");if(!n.inspectType||!Array.isArray(n.inspectType))throw new xe(Q.INVALID_PARAMS,"inspectConfig.inspectType is necessary and is an instance of Array.");{const r=[...new Set(n.inspectType)];r.forEach((i=>{var o;if(!lt(o=["supervise","moderation"]).call(o,i))throw new xe(Q.INVALID_PARAMS,"".concat(i," is not a valid inspect type."))})),n.inspectType=r}if(n&&n.extraInfo&&n.extraInfo.length>1024)throw new xe(Q.INVALID_PARAMS,"inspectConfig.extraInfo length cannot exceed 1024 bytes")})(t),new oje(t)}};Dn("PROCESS_ID","process-".concat(Wn(8,""),"-").concat(Wn(4,""),"-").concat(Wn(4,""),"-").concat(Wn(4,""),"-").concat(Wn(12,""))),(function(){let e;try{e=window.localStorage.getItem("websdk_ng_global_parameter")}catch(t){return void D.error("Error loading sdk config",t.message)}if(e)try{const t=JSON.parse(window.atob(e)),n=Date.now();D.debug("Loading global parameters from cache",t),Object.keys(t).forEach((r=>{if(Object.prototype.hasOwnProperty.call(Pr,r)){const{value:i,expires:o}=t[r];if(o&&o<=n)return;bd[r]=i,Pr[r]=i}}))}catch(t){D.error("Error loading mutableParamsCache: ".concat(e),t.message)}})(),Array.isArray(bd.AREAS)&&bd.AREAS.length>0&&TI(bd.AREAS,!0);const gH=(e,t,n)=>{D.debug("setParameter key:".concat(e,", value:").concat(JSON.stringify(t))),Dn(e,t,n)};T1(JUe,!1),T1(XUe,!1),T1(OFe,!1),T1(sje,!1),T1(WUe,!1);const Tr=(function(e){const t=new fr,n=e,r={getListeners:t.getListeners.bind(t),on:(i,o)=>((function(s,a){s===Jc.SECURITY_POLICY_VIOLATION&&H$(a,!0)})(i,o),t.on.bind(t)(i,o)),addListener:t.addListener.bind(t),once:t.once.bind(t),off:t.off.bind(t),removeAllListeners:t.removeAllListeners.bind(t),emit:t.emit.bind(t),safeEmit:t.safeEmit.bind(t)};return Wj(Wj({},n),r)})({__TRACK_LIST__:vh,VERSION:oa,BUILD:fI,ESM_BUNDLER:!1,ESM:!0,UMD:!1,DEV:!1,setParameter:gH,getParameter:he,getSupportedCodec:async function(){let e={audio:[],video:[]};try{let t=new RTCPeerConnection;const n=await(async function(r){let i;return fn().supportUnifiedPlan?(r.addTransceiver("video",{direction:"recvonly"}),r.addTransceiver("audio",{direction:"recvonly"}),i=(await r.createOffer()).sdp):i=(await r.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0})).sdp,i})(t);if(!n)return e;t.close(),t=null,e=(function(r){const i={video:[],audio:[]};return r.match(/ VP8/i)&&i.video.push("VP8"),r.match(/ VP9/i)&&i.video.push("VP9"),r.match(/ AV1/i)&&i.video.push("AV1"),r.match(/ H264/i)&&i.video.push("H264"),r.match(/ H265/i)&&i.video.push("H265"),r.match(/ opus/i)&&i.audio.push("OPUS"),r.match(/ PCMU/i)&&i.audio.push("PCMU"),r.match(/ PCMA/i)&&i.audio.push("PCMA"),r.match(/ G722/i)&&i.audio.push("G722"),i})(n)}catch(t){throw new xe(Q.CREATE_OFFER_FAILED,t.toString&&t.toString()).print()}return e},checkSystemRequirements:function(){const e=mt.reportApiInvoke(null,{name:Zr.CHECK_SYSTEM_REQUIREMENTS,options:[],tag:vr.TRACER});let t=!1;try{const o=window.RTCPeerConnection,s=navigator.mediaDevices&&navigator.mediaDevices.getUserMedia,a=window.WebSocket;t=!!(o&&s&&a),t&&aI()&&sq(75)&&new o().close()}catch(o){return D.error("check system requirement failed: ",o),!1}let n=!1;const r=an();r.name===An.CHROME&&Number(r.version)>=58&&(nc.engine.name!=="WebKit"||(function(){const o=an();if(w4()){if(o.os===ii.MAC_OS)return!0;if(o.os===ii.IOS){const s=nc.os.version&&nc.os.version.split(".");if(s&&Number(s[0])===14&&s[1]&&Number(s[1])>=3||s&&Number(s[0])>14)return!0}}return!1})())&&(n=!0),(r.name===An.FIREFOX&&Number(r.version)>=56||r.name===An.OPERA&&Number(r.version)>=45||r.name===An.SAFARI&&Number(r.version)>=11||r.name==="WebKit"&&(vo()||Ma())&&r.osVersion&&Number(r.osVersion.split(".")[0])>=11||uq()||an().name===An.QQ)&&(n=!0),D.debug("checkSystemRequirements, api:",t,"browser",n);const i=t&&n;return e.onSuccess(i),i},getDevices:function(e){return xs.enumerateDevices(!0,!0,e)},getMicrophones:function(e){return xs.getRecordingDevices(e)},getCameras:function(e){return xs.getCamerasDevices(e)},getElectronScreenSources:Vq,getPlaybackDevices:function(e){return xs.getSpeakers(e)},createClient:function(){var e;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{codec:"vp8",audioCodec:"opus",mode:"rtc"};const n=mt.reportApiInvoke(null,{name:Zr.CREATE_CLIENT,options:[t],tag:vr.TRACER});try{(function(r){Kr(r.codec,"config.codec",["vp8","vp9","av1","h264","h265"]),Kr(r.mode,"config.mode",["rtc","live","p2p"]),r.audioCodec!==void 0&&Kr(r.audioCodec,"config.audioCodec",["opus","pcmu","pcma","g722"]),r.proxyServer!==void 0&&pi(r.proxyServer,"config.proxyServer",1,1e4),r.turnServer!==void 0&&mq(r.turnServer),r.httpRetryConfig!==void 0&&sM(r.httpRetryConfig),r.websocketRetryConfig!==void 0&&sM(r.websocketRetryConfig)})(t)}catch(r){throw n.onError(r),r}return(cq(16,0)||lq(16,0,!0))&&(t.codec==="vp9"&&(t.codec="vp8",D.debug("browser not support vp9, force use vp8")),Dn("UNSUPPORTED_VIDEO_CODEC",["vp9"])),t.audioCodec===void 0&&(t.audioCodec="opus"),n.onSuccess(),new _Fe($a($a({forceWaitGatewayResponse:!0},t),{},{role:lt(e=["rtc","p2p"]).call(e,t.mode)?"host":t.role||"audience"}))},createCameraVideoTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=he("CAMERA_CAPTURE_CONFIG"),n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CAM_VIDEO_TRACK,options:[or({},e),t]});t&&(e.encoderConfig=t);const r=O4(e),i=Wn(8,"track-cam-");let o=null;D.info("start create camera video track with config",JSON.stringify(e),"trackId",i);try{o=(await Os({video:r},i)).getVideoTracks()[0]||null}catch(a){throw n.onError(a),a}if(!o){const a=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return n.onError(a),a.throw(D)}e.optimizationMode&&dE(i,o,e,$c(e.encoderConfig));const s=new iC(o,e,r,e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,i);return n.onSuccess(s.getTrackId()),D.info("create camera video success, trackId:",i),s},createCustomVideoTrack:function(e){const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CUSTOM_VIDEO_TRACK,options:[e]}),n=new Kn(e.mediaStreamTrack,{width:e.width,height:e.height,frameRate:e.frameRate,bitrateMax:e.bitrateMax,bitrateMin:e.bitrateMin},e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,Wn(8,"track-cus-"),[nr.CUSTOM_TRACK]);return t.onSuccess(n.getTrackId()),D.info("create custom video track success with config",e,"trackId",n.getTrackId()),n},createScreenVideoTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"disable";const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_SCREEN_VIDEO_TRACK,options:[or({},e),t]});e.encoderConfig?typeof e.encoderConfig=="string"||e.encoderConfig.width&&e.encoderConfig.height||(e.encoderConfig.width={max:1920},e.encoderConfig.height={max:1080}):e.encoderConfig="1080p_2";const r=(function(u){const d={};u.screenSourceType&&(d.mediaSource=u.screenSourceType),u.extensionId&&Od()&&(d.extensionId=u.extensionId);const{displaySurface:f,selfBrowserSurface:h,surfaceSwitching:p,systemAudio:g}=u;(zA(107)||eM(107)||tM(93))&&(f&&(Kr(f,"displaySurface",["browser","window","monitor"]),d.displaySurface=f),h?(Kr(h,"selfBrowserSurface",["exclude","include"]),d.selfBrowserSurface=h):d.selfBrowserSurface="include",p&&(Kr(p,"surfaceSwitching",["exclude","include"]),d.surfaceSwitching=p)),(zA(105)||eM(105)||tM(91))&&g&&(Kr(g,"systemAudio",["exclude","include"]),d.systemAudio=g),u.electronScreenSourceId&&(d.sourceId=u.electronScreenSourceId);const m=u.encoderConfig?aE(u.encoderConfig):null;return d.mandatory={chromeMediaSource:"desktop",maxWidth:m?m.width:void 0,maxHeight:m?m.height:void 0},m&&(m.frameRate&&(typeof m.frameRate=="number"?(d.mandatory.maxFrameRate=m.frameRate,d.mandatory.minFrameRate=m.frameRate):(d.mandatory.maxFrameRate=m.frameRate.max||m.frameRate.ideal||m.frameRate.exact||void 0,d.mandatory.minFrameRate=m.frameRate.min||m.frameRate.ideal||m.frameRate.exact||void 0),d.frameRate=m.frameRate),m.width&&(d.width=m.width),m.height&&(d.height=m.height)),d})(e),i=Wn(8,"track-scr-v-");let o=null,s=null;const a=fn();if(!a.supportShareAudio&&t==="enable"){const u=new Be(Q.NOT_SUPPORTED,"your browser or platform is not support share-screen with audio");return n.onError(u),u.throw(D)}D.info("start create screen video track with config",e,"withAudio",t,"trackId",i);try{const u=await Os({screen:r,screenAudio:t==="auto"?a.supportShareAudio:t==="enable"},i);o=u.getVideoTracks()[0]||null,s=u.getAudioTracks()[0]||null}catch(u){throw n.onError(u),u}if(!o){const u=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return n.onError(u),u.throw(D)}if(!s&&t==="enable"){o&&o.stop();const u=new Be(Q.SHARE_AUDIO_NOT_ALLOWED);return n.onError(u),u.throw(D)}e.optimizationMode||(e.optimizationMode="detail"),e.optimizationMode&&(dE(i,o,e,e.encoderConfig&&aE(e.encoderConfig)||void 0),e.encoderConfig&&typeof e.encoderConfig!="string"&&(e.encoderConfig.bitrateMin=e.encoderConfig.bitrateMax));const c=new Kn(o,e.encoderConfig?aE(e.encoderConfig):{},e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,i,[nr.SCREEN_TRACK]);if(!s)return n.onSuccess(c.getTrackId()),D.info("create screen video track success","video:",c.getTrackId()),c;const l=new mr(s,void 0,Wn(8,"track-scr-a-"),!1);return n.onSuccess([c.getTrackId(),l.getTrackId()]),D.info("create screen video track success","video:",c.getTrackId(),"audio:",l.getTrackId()),[c,l]},createMicrophoneAndCameraTracks:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const n=he("CAMERA_CAPTURE_CONFIG"),r=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_MIC_AND_CAM_TRACKS,options:[e,t,n]});n&&(t.encoderConfig=n);const i=O4(t),o=lB(e),s=Wn(8,"track-mic-"),a=Wn(8,"track-cam-");let c=null,l=null;D.info("start create camera video track(".concat(a,") and microphone audio track(").concat(s,") with config, audio: ").concat(JSON.stringify(e),", video: ").concat(JSON.stringify(t)));try{const f=await Os({audio:o,video:i},"".concat(s,"-").concat(a));c=f.getAudioTracks()[0],l=f.getVideoTracks()[0]}catch(f){throw r.onError(f),f}if(!c||!l){const f=new Be(Q.UNEXPECTED_ERROR,"can not find tracks in media stream");return r.onError(f),f.throw(D)}t.optimizationMode&&dE(a,l,t,$c(t.encoderConfig));const u=new _4(c,e,o,s),d=new iC(l,t,i,t.scalabiltyMode?p5(t.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},t.optimizationMode,a);return r.onSuccess([u.getTrackId(),d.getTrackId()]),D.info("create camera video track(".concat(a,") and microphone audio track(").concat(s,") success")),[u,d]},createMicrophoneAudioTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_MIC_AUDIO_TRACK,options:[e]}),n=lB(e),r=Wn(8,"track-mic-");let i=null;D.info("start create microphone audio track with config",JSON.stringify(e),"trackId",r);try{i=(await Os({audio:n},r)).getAudioTracks()[0]||null}catch(s){throw t.onError(s),s}if(!i){const s=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return t.onError(s),s.throw(D)}const o=new _4(i,e,n,r);return t.onSuccess(o.getTrackId()),D.info("create microphone audio track success, trackId:",r),o},createCustomAudioTrack:function(e){const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CUSTOM_AUDIO_TRACK,options:[e]}),n=new mr(e.mediaStreamTrack,e.encoderConfig?P4(e.encoderConfig):{},Wn(8,"track-cus-"),!1);return D.info("create custom audio track success with config",e,"trackId",n.getTrackId()),t.onSuccess(n.getTrackId()),n},createBufferSourceAudioTrack:async function(e){var t;const{cacheOnlineFile:n,encoderConfig:r}=e;let{source:i}=e;const o={source:i instanceof AudioBuffer?"AudioBuffer":i instanceof File?(t=File.name)!==null&&t!==void 0?t:"File":i,cacheOnlineFile:n,encoderConfig:r},s=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_BUFFER_AUDIO_TRACK,options:[o]});if(he("DISABLE_WEBAUDIO"))throw new Be(Q.NOT_SUPPORTED,"can not create BufferSourceAudioTrack when WebAudio disabled");const a=Wn(8,"track-buf-");D.info("start create buffer source audio track with config",JSON.stringify(o),"trackId",a);const c=i;if(!(i instanceof AudioBuffer))try{i=await(async function(d,f){let h=null;if(typeof d=="string"){const g=ZB.get(d);if(g)return D.debug("use cached audio resource: ",d),g;try{h=(await wc((()=>Lo.get(d,{responseType:"arraybuffer"})),void 0,void 0,{maxRetryCount:3})).data}catch(m){throw new Be(Q.FETCH_AUDIO_FILE_FAILED,m.toString())}}else h=await new ot(((m,y)=>{const v=new FileReader;v.onload=E=>{E.target?m(E.target.result):y(new Be(Q.READ_LOCAL_AUDIO_FILE_ERROR))},v.onerror=()=>{y(new Be(Q.READ_LOCAL_AUDIO_FILE_ERROR))},v.readAsArrayBuffer(d)}));const p=await(function(g){const m=$p();return new ot(((y,v)=>{m.decodeAudioData(g,(E=>{y(E)}),(E=>{v(new Be(Q.DECODE_AUDIO_FILE_FAILED,E.toString()))}))}))})(h);return typeof d=="string"&&f&&ZB.set(d,p),p})(i,n)}catch(d){return s.onError(d),d.throw(D)}const l=new IBe(i),u=new TBe(c,l,r?P4(r):{},a);return D.info("create buffer source audio track success, trackId:",a),s.onSuccess(u.getTrackId()),u},setAppType:function(e){if(D.debug("setAppType: ".concat(e)),!(Number.isInteger(e)&&e>=0))throw D.debug("Invalid appType"),new xe(Q.INVALID_PARAMS,"invalid app type",e);Dn("APP_TYPE",Math.floor(e))},setLogLevel:function(e){D.setLogLevel(e)},enableLogUpload:function(){he("USE_NEW_LOG")?Dn("UPLOAD_LOG",!0):D.enableLogUpload()},disableLogUpload:function(){he("USE_NEW_LOG")?Dn("UPLOAD_LOG",!1):D.disableLogUpload()},createChannelMediaRelayConfiguration:function(){return new P$},checkAudioTrackIsActive:async function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5e3;const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CHECK_AUDIO_TRACK_IS_ACTIVE,options:[t]});if(!(e instanceof mr||e instanceof Jh)){const c=new xe(Q.INVALID_TRACK,"the parameter is not a audio track");return n.onError(c),c.throw()}t&&t<1e3&&(t=1e3);const r=e instanceof mr?e.getTrackLabel():"remote_track",i=e.getVolumeLevel();let o=i,s=i;const a=Date.now();return new ot((c=>{const l=setInterval((()=>{const u=e.getVolumeLevel();o=u>o?u:o,s=u<s?u:s;const d=o-s>1e-4,f=Date.now()-a;if(d||f>t){clearInterval(l);const h=d,p={duration:f,deviceLabel:r,maxVolumeLevel:o,result:h};D.info("[track-".concat(e.getTrackId(),"] check audio track active completed. ").concat(JSON.stringify(p))),n.onSuccess(p),c(h)}}),200)}))},checkVideoTrackIsActive:async function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5e3;const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CHECK_VIDEO_TRACK_IS_ACTIVE,options:[t]});if(!(e instanceof Kn||e instanceof Gh)){const d=new xe(Q.INVALID_TRACK,"the parameter is not a video track");return n.onError(d),d.throw()}t&&t<1e3&&(t=1e3);const r=e instanceof Kn?e.getTrackLabel():"remote_track",i=e.getMediaStreamTrack(!0),o=document.createElement("video");o.style.width="1px",o.style.height="1px",o.setAttribute("muted",""),o.muted=!0,o.setAttribute("playsinline",""),o.controls=!1,(Ri()||w4())&&(o.style.opacity="0.01",o.style.position="fixed",o.style.left="0",o.style.top="0",document.body.appendChild(o)),o.srcObject=new MediaStream([i]),o.play();const s=document.createElement("canvas");s.width=160,s.height=120;let a=0,c=0;try{const d=Date.now();a=await(function(f,h,p,g){let m,y=0,v=null;return new ot(((E,b)=>{function S(){y>g&&m&&(m(),E(y));const w=p.getContext("2d");if(!w){const I=new xe(Q.UNEXPECTED_ERROR,"can not get canvas 2d context.");return D.error(I.toString()),void b(I)}w.drawImage(f,0,0,160,120);const C=w.getImageData(0,0,p.width,p.height),_=Math.floor(C.data.length/3);if(v){for(let I=0;I<_;I+=3)if(C.data[I]!==v[I])return y+=1,void(v=C.data);v=C.data}else v=C.data}setTimeout((()=>{m&&(m(),E(y))}),h),m=EI((()=>{S()}),30)}))})(o,t,s,4),c=Date.now()-d}catch(d){throw n.onError(d),d}pFe===An.SAFARI&&(o.pause(),o.remove()),o.srcObject=null;const l=a>4,u={duration:c,changedPicNum:a,deviceLabel:r,result:l};return D.info("[track-".concat(e.getTrackId(),"] check video track active completed. ").concat(JSON.stringify(u))),n.onSuccess(u),l},setArea:TI,audioElementPlayCenter:Io,resumeAudioContext:function(){Io.autoResumeAfterInterruption(!0)},processExternalMediaAEC:function(e){kFe.processExternalMediaAEC(e)},registerExtensions:function(e){const t=he("PLUGIN_INFO")||[];e.forEach((n=>{"name"in n&&!lt(t).call(t,n.name)&&t.push(n.name);const r=n;r.__registered__=!0,r.logger.hookLog=D.extLog,r.reporter.hookApiInvoke=mt.extApiInvoke,r.parameters&&Object.keys(r.parameters).forEach((i=>{r.parameters[i]=he(i)}))})),gH("PLUGIN_INFO",t)},ChannelMediaRelayError:gh,ChannelMediaRelayEvent:Ul,ChannelMediaRelayState:zo,RemoteStreamFallbackType:yBe,RemoteStreamType:vBe,ConnectionDisconnectedReason:Tn,AudienceLatencyLevelType:KLe,AREAS:gn,preload:async function(e,t,n,r){return D$(e,t,n,r)}});Object.defineProperties(Tr,{onAudioAutoplayFailed:{get:()=>ws.onAudioAutoplayFailed,set:e=>{ws.onAudioAutoplayFailed=e}},onAutoplayFailed:{get:()=>ws.onAutoplayFailed,set:e=>{ws.onAutoplayFailed=e}},_onSecurityPolicyViolation:{value:void 0,writable:!0},_cspEventHandlerPointer:{value:void 0,writable:!0},onSecurityPolicyViolation:{get:()=>Tr._onSecurityPolicyViolation,set(e){Tr._onSecurityPolicyViolation=e,H$(e)}},__CLIENT_LIST__:{get:()=>he("SHOW_GLOBAL_CLIENT_LIST")?hd:[]}}),xs.on(z0.CAMERA_DEVICE_CHANGED,(e=>{D.info("camera device changed",JSON.stringify(e)),Tr.onCameraChanged&&Tr.onCameraChanged(e),Tr.safeEmit(Jc.CAMERA_CHANGED,e)})),xs.on(z0.RECORDING_DEVICE_CHANGED,(e=>{D.info("microphone device changed",JSON.stringify(e)),Tr.onMicrophoneChanged&&Tr.onMicrophoneChanged(e),Tr.safeEmit(Jc.MICROPHONE_CHANGED,e)})),xs.on(z0.PLAYOUT_DEVICE_CHANGED,(e=>{D.debug("playout device changed",JSON.stringify(e)),Tr.onPlaybackDeviceChanged&&Tr.onPlaybackDeviceChanged(e),Tr.safeEmit(Jc.PLAYBACK_DEVICE_CHANGED,e)})),Io.onAutoplayFailed=()=>{D.info("detect audio element autoplay failed"),ws.onAudioAutoplayFailed&&ws.onAudioAutoplayFailed()},In.on("autoplay-failed",(()=>{D.info("detect webaudio autoplay failed"),ws.onAudioAutoplayFailed&&ws.onAudioAutoplayFailed(),Tr.safeEmit(Jc.AUTOPLAY_FAILED)})),In.on(mi.STATE_CHANGE,((e,t)=>{D.info("audio context state changed: ".concat(t," => ").concat(e)),Tr.onAudioContextStateChanged&&Tr.onAudioContextStateChanged(e,t),Tr.safeEmit(Jc.AUDIO_CONTEXT_STATE_CHANGED,e,t)})),Fr.on(Th.NETWORK_STATE_CHANGE,((e,t)=>{D.info("[network-indicator] network state changed, ".concat(t," => ").concat(e))})),window&&(window.__ARTC__=Tr);const aje="d035320941e34cd5bc4ec106eff05580";var mee=(e=>(e.Host="host",e.Audience="audience",e))(mee||{});class gee{constructor(t){et(this,"client",null);et(this,"isConnected",!1);et(this,"currentChannel","");et(this,"config");if(this.config=t,!Ws.useRTC){Pe.log("[RTC] 未启用RTC跳过客户端创建");return}}ensureClient(){if(!this.client){if(!Ws.useRTC)throw new Error("RTC is not enabled");try{Tr.setLogLevel(3),Tr.disableLogUpload()}catch{}this.client=Tr.createClient({mode:"live",codec:"vp8"}),Pe.log("[RTC] 创建RTC客户端成功"),this.setupEventListeners()}}setupEventListeners(){this.client&&(this.client.on("connection-state-change",(t,n,r)=>{t==="CONNECTED"?(this.isConnected=!0,Pe.log("[RTC] 已成功加入频道")):t==="DISCONNECTED"&&(this.isConnected=!1,Pe.warn("[RTC] 已离开频道"))}),this.client.on("user-joined",()=>{Pe.log("[RTC] 远端用户加入频道")}),this.client.on("user-left",()=>{Pe.log("[RTC] 远端用户离开频道")}),this.client.on("user-published",async(t,n)=>{try{Pe.log("[RTC] 远端用户发布音视频流:",t.uid,n),await this.client.subscribe(t,n),n==="video"&&(Pe.log("[RTC] 已订阅视频流 uid=",t.uid),setTimeout(()=>{t.videoTrack?Pe.log("[RTC] 视频轨道已可用,可以开始播放"):Pe.warn("[RTC] 订阅成功但视频轨道尚未准备好,可能需要等待")},500))}catch(r){Pe.error("[RTC] 自动订阅失败:",r)}}),this.client.on("user-unpublished",()=>{Pe.log("[RTC] 远端用户停止发布音视频流")}),this.client.on("user-info-updated",(t,n)=>{Pe.log("[RTC] 远端用户信息更新:",t.uid,n)}))}ensureMediaDevicesPolyfill(){try{if(!(typeof window<"u"&&typeof navigator<"u"))return;const n=window.location.protocol,r=navigator;if(r.mediaDevices||(r.mediaDevices={}),n==="file:"||n==="http:"){if(typeof r.mediaDevices.enumerateDevices!="function")r.mediaDevices.enumerateDevices=async()=>[];else{const o=r.mediaDevices.enumerateDevices.bind(r.mediaDevices);r.mediaDevices.enumerateDevices=async(...s)=>{try{return await o(...s)}catch{return[]}}}const i=`[RTC] 当前为非安全上下文(${n})。已禁用本地设备枚举,仅观看远端视频可用。建议使用 https 或 localhost。`;Pe.warn(i)}}catch(t){Pe.warn("[RTC] 屏蔽本地设备枚举失败:",t)}}async joinChannel(t,n,r){if(this.ensureClient(),Pe.log("[RTC] 加入频道参数:",{channelName:t,token:n,userId:r}),!this.client)throw new Error("RTC client not initialized");if(this.isConnected&&this.currentChannel===t){Pe.log("[RTC] 已经在频道中,无需重复加入:",t);return}this.isConnected&&this.currentChannel!==t&&(Pe.log("[RTC] 已在其他频道,先离开当前频道:",this.currentChannel),await this.leaveChannel());try{const i=aje,o=(t??"").toString().trim();if(!o)throw new Error("RTC channel name is empty");if(typeof n=="string"&&n.trim()==="")throw new Error("RTC token is empty string");const s=n===void 0?null:n,a=Number(r);if(isNaN(a))throw new Error(`Invalid UID: ${r}. UID must be a number.`);await this.client.join(i,o,s,a),this.currentChannel=o}catch(i){throw Pe.error("[RTC]Failed to join channel:",i),i}}async setClientRole(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");await this.client.setClientRole(t),Pe.log("[RTC] 已设置客户端角色:",t)}async subscribe(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");try{await this.client.subscribe(t,"video"),Pe.log("[RTC] 成功订阅用户视频流:",t.uid)}catch(n){throw Pe.error("Failed to subscribe to user:",n),n}}getRemoteUsers(){return this.client?this.client.remoteUsers:[]}async leaveChannel(){if(!(!this.client||!this.isConnected))try{await this.client.leave(),this.isConnected=!1,this.currentChannel=""}catch(t){throw Pe.error("Failed to leave channel:",t),t}}async renewToken(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");try{Pe.log("[RTC]刷新token",t),await this.client.renewToken(t)}catch(n){throw Pe.error("Failed to renew token:",n),n}}destroy(){this.client&&(this.client.removeAllListeners(),this.client=null),this.isConnected=!1,this.currentChannel=""}}et(gee,"insecureNoticeShown",!1);class cje{constructor(){et(this,"rtcClient");et(this,"currentVideoTrack",null);et(this,"isWatching",!1);et(this,"rtcToken","");et(this,"userId","");et(this,"rtcTokenExpireTime",0);et(this,"onTokenUpdate",t=>{if(!Ws.useRTC){Pe.log("[RTC] 未启用RTC不处理Token更新");return}const n=t.rtcToken,r=(t==null?void 0:t.rtcTokenExpireTime)||0;if(!n||typeof n!="string"){Pe.warn("[RTC] 收到无效的Token更新数据:",t);return}const i=Math.floor(Date.now()/1e3),o=300;if(this.rtcToken&&this.rtcTokenExpireTime>0){const s=this.rtcTokenExpireTime-i;if(s>o){Pe.log("[RTC] 当前Token还有较长时间才过期跳过更新",{remainingSeconds:s,expireTime:new Date(this.rtcTokenExpireTime*1e3).toLocaleString()});return}}this.rtcToken=n,this.rtcTokenExpireTime=r,Pe.log("[RTC]Token已更新"),Pe.log("[RTC] User ID:",t==null?void 0:t.userId),this.rtcTokenExpireTime>0&&Pe.log("[RTC]Token过期时间:",new Date(this.rtcTokenExpireTime*1e3).toLocaleString()),this.rtcClient.renewToken(n)});this.rtcClient=new gee,this.listenTokenUpdate()}listenTokenUpdate(){qr.on("onRtcTokenChanged",this.onTokenUpdate)}async startWatching(t,n,r){try{const i=t??qi.sn;try{const c=await qr.request("getRtcToken",{},1e4);if(!c.rtcToken)return Pe.error("[RTC] Token为空"),!1;this.rtcToken=c.rtcToken,this.userId=c.userId}catch(c){return Pe.error("[RTC] 从IPC获取RTC Token失败",c),!1}Pe.log("[RTC] 加入频道参数:",{printerId:qi.printerId,channel:i,uid:this.userId,tokenLength:this.rtcToken.length,tokenPrefix:this.rtcToken.substring(0,20)+"..."}),await this.rtcClient.joinChannel(i,this.rtcToken,this.userId),await this.rtcClient.setClientRole(mee.Host),await this.waitForRemoteUsers();const o=this.rtcClient.getRemoteUsers();if(Pe.log(`[RTC Service] 频道中共有 ${o.length} 个远端用户`),o.length===0)return Pe.warn("[RTC Service] 频道中没有其他用户,请确保有其他设备已加入同一频道"),!1;let s;const a=o.filter(c=>c.hasVideo);return a.length>0?s=a[0]:(s=o[0],Pe.log(`[RTC Service] 选择用户(没有视频流): ${s.uid}`)),s?(await this.waitForVideoTrack(s),s.videoTrack?(this.currentVideoTrack=s.videoTrack,this.isWatching=!0,!0):(Pe.warn("User has no video track"),!1)):(Pe.warn("No target user found"),!1)}catch(i){throw Pe.error("Failed to start watching video stream:",i),i}}async stopWatching(){try{Pe.log("[RTC] 停止观看视频流"),this.currentVideoTrack&&(this.currentVideoTrack=null),this.isWatching=!1,await this.rtcClient.leaveChannel()}catch(t){throw Pe.error("Failed to stop watching video stream:",t),t}}getCurrentVideoTrack(){return this.currentVideoTrack}isCurrentlyWatching(){return this.isWatching}getRemoteUsers(){return this.rtcClient.getRemoteUsers()}getVideoUsers(){return this.rtcClient.getRemoteUsers().filter(t=>t.hasVideo)}async switchUser(t){try{Pe.log("Switching to user:",t),this.isWatching&&(this.currentVideoTrack=null,this.isWatching=!1);const r=this.rtcClient.getRemoteUsers().find(i=>i.uid===t);return r?(await this.rtcClient.subscribe(r),r.videoTrack?(this.currentVideoTrack=r.videoTrack,this.isWatching=!0,Pe.log("Successfully switched to user:",t),!0):!1):(Pe.warn(`Target user ${t} not found`),!1)}catch(n){throw Pe.error("Failed to switch user:",n),n}}async waitForVideoTrack(t){return new Promise(n=>{let r=0;const i=50,o=()=>{if(r++,t.videoTrack){const a=typeof t.videoTrack.getMediaStreamTrack=="function";Pe.log(`[RTC Service] 视频轨道已准备就绪: ${t.uid}, 轨道可用: ${a}`),n()}else r>=i?(Pe.warn(`[RTC Service] 等待视频轨道超时: ${t.uid}`),n()):setTimeout(o,200)};o()})}async waitForRemoteUsers(){return new Promise(t=>{let n=0;const r=30;let i=!1;const o=()=>{n++;const s=this.rtcClient.getRemoteUsers();s.length>0?(s.forEach((a,c)=>{Pe.log(`[RTC Service] 第 ${c+1} 个远端用户: UID=${a.uid}, 有视频=${a.hasVideo}, 有音频=${a.hasAudio}, 视频轨道=${!!a.videoTrack}`)}),i=!0,t()):n>=r?(i||Pe.warn("[RTC Service] 等待超时,未找到远端用户"),t()):setTimeout(o,200)};o()})}checkAgoraConfig(){const t=[];return{isValid:t.length===0,issues:t}}destroy(){try{qr.off("onRtcTokenChanged",this.onTokenUpdate),this.stopWatching(),this.rtcClient.destroy(),Pe.log("RTC service destroyed")}catch(t){Pe.error("Failed to destroy RTC service:",t)}}}const D5=new cje;class lje{constructor(){et(this,"sn","");et(this,"emitter",sT());et(this,"printerId","");et(this,"connectionStatus",0);et(this,"pendingRequests",new Map);et(this,"requestIdCounter",1);et(this,"onConnectionStatus",t=>{Pe.log("[RTM ] 连接状态变化:",t);let n;switch(typeof t=="object"&&"status"in t?n=t.status:n=t,this.connectionStatus=n,n){case 2:Pe.log("[RTM ] 正在连接到打印机...");break;case 1:Pe.log("[RTM ] 已成功连接到打印机"),this.emitter.emit("connected");break;case 0:Pe.log("[RTM ] 已断开与打印机的连接"),this.emitter.emit("disconnected");break;default:Pe.warn("[RTM ] 未知的连接状态:",n)}});et(this,"onPrinterEventRaw",t=>{let n=t;if(t.event&&typeof t.event=="string")try{n=JSON.parse(t.event)}catch(r){Pe.error("[RTM ] 解析事件数据失败:",r),n=t}this.emitter.emit("autoReportStatus",n.result)});et(this,"onRtmMessage",t=>{Pe.logJson("[RTM]收到消息:",t);const n=t==null?void 0:t.message;if(!n){Pe.warn("[RTM ] 消息数据为空");return}const r=JSON.parse(n);r.id!==void 0&&this.handleResponse(r)});Pe.log("当前协议非 RTM跳过 RTM 初始化")}async initializeConnectionStatus(){try{const t=await qr.request("getConnectStatus",{printerId:this.printerId},1e4);Pe.log("[RTM ] 初始连接状态:",t),t.printerId===this.printerId?this.connectionStatus=t.connectStatus:(this.connectionStatus=0,Pe.error("[RTM ] 打印机ID不匹配")),this.onConnectionStatus(this.connectionStatus)}catch(t){Pe.error("[RTM ] 获取初始连接状态失败:",t),this.connectionStatus=0}}listenIPCEvent(){qr.on("onRtmMessage",this.onRtmMessage),qr.on("onConnectionStatus",this.onConnectionStatus),qr.on("onPrinterEventRaw",this.onPrinterEventRaw)}handleResponse(t){const{id:n}=t,r=this.pendingRequests.get(n.toString());if(r){const{resolve:i,timer:o}=r;clearTimeout(o),this.pendingRequests.delete(n.toString()),t.method===Rt.GetBasicInfo&&this.emitter.emit("status",t.result),i(t.result)}}async request(t,n={},r=5e3){const i=this.requestIdCounter++,o={...n,id:i},s=JSON.stringify(o);return new Promise((a,c)=>{const l=setTimeout(()=>{this.pendingRequests.delete(i.toString()),c(new Error(`[RTM] 请求超时 (${r}ms)`))},r);this.pendingRequests.set(i.toString(),{resolve:a,reject:c,timer:l}),Pe.logJson("[RTM]消息发送:",s),qr.request("sendRtmMessage",{printerId:this.printerId,message:s},r).then(()=>{}).catch(u=>{clearTimeout(l),this.pendingRequests.delete(i.toString()),Pe.error("[RTM] 发送失败:",{method:t,params:n,error:u}),c(u)})})}async startPrint(t,n){return this.request(Rt.StartPrint,{...n})}async pausePrint(t,n,r=5e3){return this.request(Rt.PausePrint,{...n},r)}async resumePrint(t,n,r=5e3){return this.request(Rt.ResumePrint,{...n},r)}async stopPrint(t,n,r=5e3){return this.request(Rt.CancelPrint,{...n},r)}async urgentStop(t,n){return this.request(Rt.UrgentStop,{...n})}async feed(t,n,r=5e3){return this.request(Rt.Feed,{...n},r)}async retreat(t,n,r=5e3){return this.request(Rt.Retreat,{...n},r)}async getSystemInfo(t,n){return this.request(Rt.GetSystemInfo,{...n})}async getBaseInfo(t,n){return this.request(Rt.GetBasicInfo,{...n})}async getPrintsInfo(t,n){return this.request(Rt.GetPrintsInfo,{...n})}async getHomeStatus(t,n){return this.request(Rt.GetHomeStatus,{...n})}async setPrintConfig(t,n){return this.request(Rt.SetPrintConfig,{...n})}async xyzHomeControl(t,n){return this.request(Rt.XYZHomeControl,{...n})}async xyzMoveControl(t,n){return this.request(Rt.XYZMoveControl,{...n})}async temperatureControl(t,n){return this.request(Rt.TemperatureControl,{...n})}async setLight(t,n){return this.request(Rt.LightSwitch,{...n})}async setFan(t,n){return this.request(Rt.FanControl,{...n})}async setPrintSpeed(t,n){return this.request(Rt.PrintSpeedControl,{...n})}async setDeviceName(t,n){return this.request(Rt.SetDeviceName,{...n})}async otaUpgrade(t,n){return this.request(Rt.OTAUpgrade,{...n})}async getFileList(t,n){var r,i;try{const o=n.params.offset,s=n.params.limit,a=Math.floor(o/s)+1,c=await qr.request("getFileList",{printerId:this.printerId,pageNumber:a,pageSize:s},1e4),l={error_code:0,offset:((r=n.params)==null?void 0:r.offset)||0,total:c.totalFiles,file_list:c.fileList.map(u=>({filename:u.fileName,type:"file",print_time:u.printTime,layer:u.layer,size:u.size,create_time:u.createTime,total_filament_used:u.totalFilamentUsed,total_print_times:u.totalPrintTimes,last_print_time:u.lastPrintTime}))};return Pe.log("[RTM ] 本地文件列表返回结果:",l),l}catch(o){return Pe.error("[RTM ] 本地文件列表失败:",o),{error_code:o.code||1,offset:((i=n.params)==null?void 0:i.offset)||0,total:0,file_list:[]}}}async getFileDetail(t,n){try{Pe.log("[RTM ] 正在获取文件详情:",n);const r=await qr.request("getFileDetail",{printerId:this.printerId,fileName:n.params.filename},1e4),i={error_code:0,filename:r.fileName,print_time:r.printTime,layer:r.layer,size:r.size,create_time:r.createTime,total_filament_used:r.totalFilamentUsed,total_print_times:r.totalPrintTimes,last_print_time:r.lastPrintTime,color_map:(r.colorMapping||[]).map(o=>({t:o.t,color:o.color,name:o.type})),thumbnail:r.thumbnail};return Pe.log("[RTM ] 获取文件详情返回结果:",i),i}catch(r){throw Pe.error("[RTM ] 获取文件详情失败:",r),r}}async getBaseInfoIPC(t,n){try{return{error_code:0,...await qr.request("getPrinterStatusRaw",{printerId:this.printerId},1e4)}}catch(r){throw Pe.error("[RTM ] 获取基本信息失败:",r),r}}async getSn(){try{const t=await qr.request("get_sn",{},1e4);return Pe.log("[RTM ]获取SN成功:",t),t}catch(t){throw Pe.error("[RTM ]获取SN失败:",t),t}}async getFileThumbnail(t,n){return this.request(Rt.GetFileThumbnail,{...n})}async deleteFile(t,n){return this.request(Rt.DeleteFile,{...n})}async getPrintHistoryList(t,n,r=1,i=20){return this.getPrintTaskList(r,i)}async getPrintTaskList(t=1,n=100){try{const r=await qr.request("getPrintTaskList",{printerId:this.printerId,pageNumber:t,pageSize:n},1e4);if(!r||r===null)return Pe.error("[RTM ] 获取打印任务列表响应为空"),{error_code:1,total:0,history_task_list:[]};const i={error_code:0,total:r.totalTasks||0,history_task_list:(r.taskList||[]).map(o=>({task_id:o.taskId,task_name:o.taskName,begin_time:o.beginTime,end_time:o.endTime,task_status:o.taskStatus,time_lapse_video_status:0,time_lapse_video_url:"",time_lapse_video_size:0,time_lapse_video_duration:0}))};return Pe.log("[RTM ] 获取打印任务列表返回结果:",i),i}catch(r){return Pe.error("[RTM ] 获取打印任务列表失败:",r),{error_code:1,total:0,history_task_list:[]}}}async deletePrintHistory(t,n){var r;try{const i=((r=n.params)==null?void 0:r.list)||[];return Pe.log("[RTM]删除打印任务请求:",{printerId:this.printerId,taskIds:i}),{error_code:(await qr.request("deletePrintTasks",{printerId:this.printerId,taskIds:i},1e4)).error_code}}catch(i){throw Pe.error("[RTM ] 删除打印任务失败:",i),i}}async loadFilament(t,n,r=5e3){return this.request(Rt.LoadFilamenting,{...n},r)}async unloadFilament(t,n,r=5e3){return this.request(Rt.UnloadFilamenting,{...n},r)}async setFilamentInfo(t,n){return this.request(Rt.SetFilamentInfo,{...n})}async setMonoFilamentInfo(t,n){return this.request(Rt.SetMonoFilamentInfo,{...n})}async getMonoFilamentInfo(t,n){return this.request(Rt.GetMonoFilamentInfo,{...n})}async setAutoFillFilament(t,n){return this.request(Rt.SetAutoFillFilament,{...n})}async getCanvasInfo(t,n){return this.request(Rt.GetCanvasInfo,{...n})}async autoLeveling(t,n){return this.request(Rt.AutoLeveling,{...n})}async vibrationOptimize(t,n){return this.request(Rt.VibrationOptimize,{...n})}async pidDetect(t,n){return this.request(Rt.PIDDetect,{...n})}async oneKeyCheck(t,n){return this.request(Rt.OneKeyCheck,{...n})}async getAIDetectionSettings(t,n){return this.request(Rt.GetAIDetectionSettings,{...n})}async setAIDetectionSettings(t,n){return this.request(Rt.SetAIDetectionSettings,{...n})}}const Ku=new lje,uje={class:"dialog-header font-size16"},dje={class:"dialog-content bg-color"},fje={class:"noodle-detection-cards"},hje={class:"detection-cards"},pje={class:"detection-card"},mje={class:"card-info"},gje={class:"card-title"},vje={class:"card-description"},yje={class:"config-section"},Eje={class:"config-card"},bje={class:"config-label"},Sje={class:"config-card"},Aje={class:"config-label"},Cje={class:"bottom-container"};var rc=(e=>(e[e.On=1]="On",e[e.Off=0]="Off",e))(rc||{}),vee=(e=>(e.Low="low",e.Medium="medium",e.High="high",e))(vee||{}),yee=(e=>(e.Notify="notification",e.Pause="pause",e))(yee||{});const wje=Je({__name:"ai-detection",props:{title:{type:String,default:"AI功能"},detectionItems:{type:Array,required:!0},detectionFrequency:{type:String,default:"medium"},anomalyHandling:{type:String,default:"notification"},cancelText:{type:String,default:"关闭"},saveText:{type:String,default:"保存"},modelValue:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["update:modelValue","save","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=e,o=t,s=V({get:()=>i.modelValue,set:y=>o("update:modelValue",y)}),a=se(0),c=se("medium"),l=se("notification"),u=se(0),d=V(()=>a.value===0),f=()=>{const y=i.detectionItems.find(E=>E.key==="noodleDetection");a.value=(y==null?void 0:y.value)===1?1:0,c.value=i.detectionFrequency,l.value=i.anomalyHandling;const v=i.detectionItems.find(E=>E.key==="foreignObjectDetection");u.value=(v==null?void 0:v.value)===1?1:0};Ye(()=>i.modelValue,y=>{y&&f()},{immediate:!0}),Ye(()=>i.detectionItems,()=>{i.modelValue&&f()},{deep:!0}),Ye(()=>[i.detectionFrequency,i.anomalyHandling],()=>{i.modelValue&&(c.value=i.detectionFrequency,l.value=i.anomalyHandling)});const h=()=>{s.value=!1,o("close")},p=()=>{const y={spaghetti_detection:{status:a.value,frequency:c.value,handing:l.value},foreign_object_detection:{status:u.value}};o("save",y),s.value=!1},g=()=>{},m=()=>{};return(y,v)=>{const E=pr,b=Ug,S=Fg,w=Zd;return ne(),Ze(w,{modelValue:s.value,"onUpdate:modelValue":v[3]||(v[3]=C=>s.value=C),width:P(n)?"90%":"500px","show-close":!1,style:Ut({padding:0,maxHeight:P(n)?"80vh":"70vh",overflow:"auto"}),"close-on-click-modal":!1,"close-on-press-escape":!0,class:"bg-color"},{header:Re(()=>[G("div",uje,[G("span",null,Ue(e.title),1),be(E,{class:"close-btn",type:"info",size:"small",onClick:h},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",dje,[G("div",fje,[G("div",hje,[G("div",pje,[G("div",mje,[G("div",gje,Ue(P(r)("aiDetection.noodleDetection")),1),G("div",vje,Ue(P(r)("aiDetection.noodleDetectionDesc")),1)]),be(S,{modelValue:a.value,"onUpdate:modelValue":v[0]||(v[0]=C=>a.value=C),class:"card-select",onChange:g},{default:Re(()=>[be(b,{label:P(r)("aiDetection.on"),value:1},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.off"),value:0},null,8,["label","value"])]),_:1},8,["modelValue"])])]),G("div",yje,[G("div",Eje,[G("div",bje,Ue(P(r)("aiDetection.detectionFrequency")),1),be(S,{modelValue:c.value,"onUpdate:modelValue":v[1]||(v[1]=C=>c.value=C),class:"config-select",disabled:d.value,onChange:m},{default:Re(()=>[be(b,{label:P(r)("aiDetection.low"),value:"low"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.medium"),value:"medium"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.high"),value:"high"},null,8,["label","value"])]),_:1},8,["modelValue","disabled"])]),G("div",Sje,[G("div",Aje,Ue(P(r)("aiDetection.anomalyHandling")),1),be(S,{modelValue:l.value,"onUpdate:modelValue":v[2]||(v[2]=C=>l.value=C),class:"config-select",disabled:d.value,onChange:m},{default:Re(()=>[be(b,{label:P(r)("aiDetection.notify"),value:"notification"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.pause"),value:"pause"},null,8,["label","value"])]),_:1},8,["modelValue","disabled"])])])]),G("div",Cje,[be(E,{class:"cancel-btn",onClick:h},{default:Re(()=>[yt(Ue(e.cancelText),1)]),_:1}),be(E,{class:"save-btn",type:"primary",onClick:p,loading:e.loading},{default:Re(()=>[yt(Ue(e.saveText),1)]),_:1},8,["loading"])])])]),_:1},8,["modelValue","width","style"])}}}),Tje=rr(wje,[["__scopeId","data-v-bcd626cd"]]),WE=1e3,di=oy("printer-mqtt",()=>{const r=String(Ws.wan).toLowerCase()==="true",i=se(),o=se(!1),{t:s}=Eo(),a=se(qi.sn),c=se(!1);async function l(){var _e;if(!r)try{const Me=await Ku.getSn(),it=(_e=Me==null?void 0:Me.sn)==null?void 0:_e.trim();it&&(a.value=it)}catch(Me){Pe.warn("[IPC] get_sn 失败,沿用 URL sn",Me)}}const u=se(!1),d=se([]),f=se([]),h=se(1),p=se(15),g=se(0),m=se(!0),y=se(!1),v=se(""),E=se(),b=se([]),S=se(""),w=se(0);let C=null;const _=se({}),I=eo({moveStep:10,modelFanSpeed:0,auxiliaryFanSpeed:0,chassisFanSpeed:0,lightValue:0,curPrinterMode:1,printModeOptions:[{label:"control.slient",value:0},{label:"control.balanced",value:1},{label:"control.sport",value:2},{label:"control.ludicrous",value:3}],xPos:0,yPos:0,zPos:0}),O=se(),L=se(),R=se(""),F=se([]),W=se([]),J=se(""),Y=se(""),M=se(xn.Local),B=se(0),q=se([]),z=se(""),A=se(!1),T=se(),k=se({error_code:0,spaghetti_detection:{status:rc.Off,frequency:vee.Medium,handing:yee.Notify},foreign_object_detection:{status:rc.Off}}),j=V(()=>{var _e,Me;return((Me=(_e=O.value)==null?void 0:_e.external_device)==null?void 0:Me.u_disk)??!1}),re=V(()=>{var _e,Me;return((Me=(_e=O.value)==null?void 0:_e.external_device)==null?void 0:Me.camera)??!1}),me=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_camera)==null?void 0:zt.configured)==1}),te=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_lighting)==null?void 0:zt.configured)==1}),X=V(()=>{var _e,Me;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?qi.region!=qC.China&&jn():((Me=i.value)==null?void 0:Me.machine_model)==tc.C2?me.value&&te.value&&jn():!1}),fe=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.auxiliary_fan)==null?void 0:zt.configured)==1}),le=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.exhaust_grille)==null?void 0:zt.configured)==1}),ve=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_fan)==null?void 0:zt.configured)==1}),Z=V(()=>{var Me,it;const _e=((Me=L.value)==null?void 0:Me.filename)??"";if(((it=O.value)==null?void 0:it.machine_status.status)===Ge.Printing&&_e)if(M.value===xn.UDisk){const zt=W.value.find(Fi=>Fi.filename===_e);return(zt==null?void 0:zt.layer)??0}else{const zt=F.value.find(Fi=>Fi.filename===_e);return zt?(zt==null?void 0:zt.layer)??0:(Pe.log("当前打印文件不存在缓存,重新获取文件详情获取总层数",_e),jI(_e,xn.Local,void 0,!1),B)}return 0}),ae=V(()=>{var _e;return((_e=E.value)==null?void 0:_e.canvas_info.auto_refill)??!1}),pe=V(()=>{var _e;return((_e=E.value)==null?void 0:_e.canvas_info.active_tray_id)??-1}),K=se(-1),ce=`lastLoadedSlotId:${a.value}`,ye=localStorage.getItem(ce);ye&&(K.value=Number(ye));const ee=V(()=>{var _e;for(const Me of((_e=E.value)==null?void 0:_e.canvas_info.canvas_list)??[]){const it=Me.tray_list.find(zt=>zt.status==Oo.loaded);if(it)return K.value=it.tray_id,localStorage.setItem(ce,it.tray_id.toString()),it.tray_id}return-1}),$=V(()=>{var _e;for(const Me of((_e=E.value)==null?void 0:_e.canvas_info.canvas_list)??[])if(Me.connected)return!0;return!1});Ye($,(_e,Me)=>{!_e&&Me&&r1()},{immediate:!0});const ge=V(()=>L.value===void 0?0:L.value.print_duration),ie=V(()=>L.value===void 0?0:L.value.remaining_time_sec),Ie=V(()=>{var Me;return((Me=O.value)==null?void 0:Me.machine_status.status)??Ge.Offline}),Ce=V(()=>{var _e;return((_e=O.value)==null?void 0:_e.machine_status.sub_status)??0}),oe=se(0),Ne=V(()=>{const _e=Ce.value,Me=[De.LoadStartCanvas,De.LoadNozzleHeatingCanvas,De.LoadManualInsertFilamentCanvas,De.LoadCutFilamentCanvas,De.LoadDrawFilamentCanvas,De.LoadPushFilamentCanvas,De.LoadFlushFilamentCanvas,De.LoadCompleteCanvas,De.LoadFailedCanvas],it=[De.UnloadStartCanvas,De.UnloadNozzleHeatingCanvas,De.UnloadCheckFilamentCanvas,De.UnloadCutFilamentCanvas,De.UnloadDrawFilamentCanvas,De.UnloadCompleteCanvas,De.UnloadFailedCanvas];return Me.includes(_e)||it.includes(_e)}),x=V(()=>Ie.value===Ge.Initializing),N=V(()=>c.value),U=V(()=>Ie.value===Ge.Printing),de=V(()=>Ie.value===Ge.Idle),we=V(()=>Ie.value===Ge.Loading),Ae=V(()=>Ie.value===Ge.UnLoading),Le=V(()=>Ie.value===Ge.AutoLeveling),ue=V(()=>Ie.value===Ge.PidCalibration),Ee=V(()=>Ie.value===Ge.ResonanceTester),He=V(()=>Ie.value===Ge.SelfCheck),Xe=V(()=>Ie.value===Ge.Upgrade),qe=V(()=>Ie.value===Ge.ManualHoming),It=V(()=>Ie.value===Ge.FileSending),We=V(()=>Ie.value===Ge.Extrudering),$e=V(()=>Ie.value===Ge.PowerOffResume),ht=V(()=>Ce.value===De.Homed),Ht=V(()=>Ce.value===De.Printing),_t=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Paused),qt=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Paused),nn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Interruption),kn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Stopped),Jn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.PrintComplete),oi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Stopping),Se=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Pausing),Oe=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Resuming),ct=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Resumed),gt=V(()=>Ie.value===Ge.Printing&&Ce.value===De.HotendPreheating),Et=V(()=>Ie.value===Ge.Printing&&Ce.value===De.HotendCooling),$n=V(()=>Ie.value===Ge.Printing&&Ce.value===De.BedPreheating),Mi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.BedCooling),$o=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Homing),Tl=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Homed),ua=V(()=>Ie.value===Ge.Printing&&Ce.value===De.AutoLeveling),Ve=V(()=>Ie.value===Ge.Printing&&Ce.value===De.AutoLevelingComplete),Ct=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadNozzleHeatingCanvas),un=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadCheckFilamentCanvas),hr=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadCutFilamentCanvas),si=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadDrawFilamentCanvas),No=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadNozzleHeatingCanvas),Bi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadManualInsertFilamentCanvas),Mo=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadCutFilamentCanvas),o0=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadDrawFilamentCanvas),A6=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadPushFilamentCanvas),Oee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadFlushFilamentCanvas),_ee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadCompleteCanvas);V(()=>Ce.value===De.ManualInsertFilament),V(()=>Ce.value===De.BiteFilament);const Ree=V(()=>Ce.value===De.BiteFilamentEnd),kee=V(()=>Ce.value===De.CutFilament),xee=V(()=>Ce.value===De.EjectFilament),Dee=V(()=>Ce.value===De.EjectFilamentComplete),Lee=V(()=>Ce.value===De.UnloadCompleteCanvas),Nee=V(()=>Ce.value===De.LoadCompleteCanvas),Mee=V(()=>Ce.value===De.ResonanceOptimizing),Bee=V(()=>Ce.value===De.ResonanceOptimized);V(()=>Ce.value===De.ResonanceOptimizeFailed),V(()=>Ce.value===De.PidPreheating),V(()=>Ce.value===De.PidDetecting);const Fee=V(()=>Ce.value===De.PidCompleted);V(()=>Ce.value===De.PidFailed);const Uee=V(()=>Ce.value===De.AutoLeveling),jee=V(()=>Ce.value===De.AutoLevelingComplete),Hee=V(()=>Ce.value===De.OTAInfoUpdating),zee=V(()=>Ce.value===De.OTADownloading),Wee=V(()=>Ce.value===De.OTAExtracting),Vee=V(()=>Ce.value===De.OTAUpdating),BI=V(()=>Ce.value===De.OTAComplete),Gee=V(()=>Ce.value===De.OTAFailed),Jee=V(()=>Ce.value===De.InitializeComplete),Zee=V(()=>Ie.value===Ge.TimeLapseVideoGenerating&&Ce.value===De.TimeLapseVideoGenerating),Yee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.TimeLapseVideoGeneratingComplete),Xee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.TimeLapseVideoGeneratingFailed),Qee=V(()=>Ie.value===Ge.PowerOffResume&&Ce.value==De.Default);V(()=>Ce.value===De.FileSendingComplete),Ye(BI,_e=>{_e&&setTimeout(async()=>{await l(),Pe.log("固件升级完成之后注册客户端"),dn.registerClient(a.value)},2e3)}),Ye($,_e=>{_e||r1()},{immediate:!0});const Kee=se("");dn.emitter.on("status",c2),dn.emitter.on("autoReportStatus",FI),dn.emitter.on("systemAutoReportStatus",qee),dn.emitter.on("getBaseInfo",xu),dn.emitter.on("getSystemInfo",l2),dn.emitter.on("sendHeartBeat",ete),dn.emitter.on("connected",async()=>{await l(),c.value=!0,dn.registerClient(a.value),dn.subscribeAotuReportTopic(a.value)}),dn.emitter.on("disconnected",()=>{c.value=!1,u.value=!1}),dn.emitter.on("registerSuccess",async()=>{u.value=!0,await xu(),await l2(),me.value&&await zI(),await r1()}),Ku.emitter.on("connected",async()=>{c.value=!0,u.value=!0,await xu(),await l2(),await r1(),X.value&&await WI()}),Ku.emitter.on("disconnected",()=>{c.value=!1,u.value=!1}),Ku.emitter.on("status",c2),Ku.emitter.on("autoReportStatus",FI),Jl.emitter.on("registerMaxRetryReached",()=>{Zt.error(s("toastMessages.DeviceRegisterFailed"))}),dn.emitter.on("ConnectionLimitExceeded",()=>{Zt.error(s("toastMessages.ConnectionLimitExceeded"))});async function FI(_e){if(!(!_e||typeof _e!="object")&&O.value){if(_e.extruder&&(O.value.extruder||(O.value.extruder={}),Object.assign(O.value.extruder,_e.extruder)),_e.heater_bed&&(O.value.heater_bed||(O.value.heater_bed={}),Object.assign(O.value.heater_bed,_e.heater_bed)),_e.print_status&&(O.value.print_status||(O.value.print_status={}),Object.assign(O.value.print_status,_e.print_status)),_e.fans&&(O.value.fans||(O.value.fans={}),_e.fans.fan&&(O.value.fans.fan||(O.value.fans.fan={}),Object.assign(O.value.fans.fan,_e.fans.fan)),_e.fans.box_fan&&(O.value.fans.box_fan||(O.value.fans.box_fan={}),Object.assign(O.value.fans.box_fan,_e.fans.box_fan)),_e.fans.aux_fan&&(O.value.fans.aux_fan||(O.value.fans.aux_fan={}),Object.assign(O.value.fans.aux_fan,_e.fans.aux_fan)),_e.fans.heater_fan&&(O.value.fans.heater_fan||(O.value.fans.heater_fan={}),Object.assign(O.value.fans.heater_fan,_e.fans.heater_fan)),_e.fans.controller_fan&&(O.value.fans.controller_fan||(O.value.fans.controller_fan={}),Object.assign(O.value.fans.controller_fan,_e.fans.controller_fan))),_e.gcode_move&&(O.value.gcode_move||(O.value.gcode_move={}),_e.gcode_move.speed_mode,Object.assign(O.value.gcode_move,_e.gcode_move)),_e.tool_head&&(O.value.tool_head||(O.value.tool_head={homed_axes:""}),Object.assign(O.value.tool_head,_e.tool_head)),_e.ztemperature_sensor&&(O.value.ztemperature_sensor||(O.value.ztemperature_sensor={}),Object.assign(O.value.ztemperature_sensor,_e.ztemperature_sensor)),_e.led&&(O.value.led||(O.value.led={}),Object.assign(O.value.led,_e.led)),_e.external_device&&(O.value.external_device||(O.value.external_device={u_disk:!1,camera:!1,chassis_camera:{configured:0},chassis_lighting:{configured:0},auxiliary_fan:{configured:0},exhaust_grille:{configured:0},chassis_fan:{configured:0}}),Object.assign(O.value.external_device,_e.external_device)),_e.machine_status){O.value.machine_status||(O.value.machine_status={status:0,sub_status:0,progress:0,exception_status:[],sub_status_reason_code:0});const Me=_e.machine_status.exception_status??[];q.value=[...Me],Me.length>0&&Pe.log("[RTM]异常码上报: ",Me),Object.assign(O.value.machine_status,_e.machine_status)}_e.canvas_info&&(E.value||(E.value={}),E.value.canvas_info||(E.value.canvas_info={}),Object.assign(E.value.canvas_info,_e.canvas_info)),_e.mono_filament_info&&(T.value||(T.value={}),Object.assign(T.value,_e.mono_filament_info)),_e.spaghetti_detection&&(k.value||(k.value={}),k.value.spaghetti_detection||(k.value.spaghetti_detection={}),Object.assign(k.value.spaghetti_detection,_e.spaghetti_detection)),_e.foreign_object_detection&&(k.value||(k.value={}),k.value.foreign_object_detection||(k.value.foreign_object_detection={}),Object.assign(k.value.foreign_object_detection,_e.foreign_object_detection)),c2(O.value)}}async function qee(_e){!_e||typeof _e!="object"||(i.value||(i.value={}),Object.assign(i.value,_e),Pe.log("[MQTT]自动上报系统信息:",i.value))}Ye(()=>{var _e;return(_e=O.value)==null?void 0:_e.machine_status.progress},_e=>{_e&&_e>0&&It.value&&jn()}),Ye(()=>It.value,(_e,Me)=>{!_e&&Me&&(w.value=100,w.value=0,S.value="",Pe.log("[ALL] 清理文件传输进度信息"))}),Ye(()=>Ie.value,async(_e,Me)=>{if(Me===Ge.Printing&&_e!==Ge.Printing&&(C!==null&&(clearTimeout(C),C=null),xu()),_e===Ge.Printing){C!==null&&(clearTimeout(C),C=null);const it=60;let zt=0;const Fi=async()=>{var Ji,Du;if(Ie.value!==Ge.Printing){C=null;return}if(zt>=it){Pe.log(`[ALL]轮询获取文件名已达最大次数${it}次,停止轮询`),C=null;return}zt++,await xu();const Vr=((Du=(Ji=O.value)==null?void 0:Ji.print_status)==null?void 0:Du.filename)||"";if(Vr){C=null;const Il=10,s0=1e3;(async()=>{let Va=!1;for(let Lu=1;Lu<=Il;Lu++){Pe.log(`[ALL]第${Lu}次请求打印文件缩略图:`,Vr);const u2=Lu==Il;if(await UI(Vr,xn.Local,u2,"print")){Pe.log("[MQTT]获取到缩略图,停止重试"),Va=!0;break}Lu<Il&&await new Promise(i1=>setTimeout(i1,s0))}Va||Pe.log(`[ALL]重试${Il}次后仍未获取到缩略图`)})()}else Ie.value===Ge.Printing?C=setTimeout(Fi,500):C=null};Fi()}_e===Ge.Offline&&(c.value=!1,u.value=!1,Pe.warn("[RTM] 主状态变为离线(-1)"))});async function c2(_e){var Me,it,zt,Fi,Vr,Ji,Du,Il,s0,Df,Va,Lu,u2,i1,VI,GI,JI;_e&&(((Me=O.value)==null?void 0:Me.machine_status.sub_status)!==void 0&&(oe.value=O.value.machine_status.sub_status),O.value=_e,L.value=(it=O.value)==null?void 0:it.print_status,R.value=((Fi=(zt=O.value)==null?void 0:zt.print_status)==null?void 0:Fi.uuid)||"",I.lightValue=((Vr=_e==null?void 0:_e.led)==null?void 0:Vr.status)??0,I.modelFanSpeed=Math.round((((Du=(Ji=_e==null?void 0:_e.fans)==null?void 0:Ji.fan)==null?void 0:Du.speed)??0)*100/255),I.auxiliaryFanSpeed=Math.round((((s0=(Il=_e==null?void 0:_e.fans)==null?void 0:Il.aux_fan)==null?void 0:s0.speed)??0)*100/255),I.chassisFanSpeed=Math.round((((Va=(Df=_e==null?void 0:_e.fans)==null?void 0:Df.box_fan)==null?void 0:Va.speed)??0)*100/255),I.curPrinterMode=(_e==null?void 0:_e.gcode_move.speed_mode)??1,I.xPos=Number((u2=(Lu=O.value)==null?void 0:Lu.gcode_move.x)==null?void 0:u2.toFixed(1)),I.yPos=Number((VI=(i1=O.value)==null?void 0:i1.gcode_move.y)==null?void 0:VI.toFixed(1)),I.zPos=Number((JI=(GI=O.value)==null?void 0:GI.gcode_move.z)==null?void 0:JI.toFixed(1)),v.value=(_e==null?void 0:_e.tool_head.homed_axes)??"",Pe.log("[ALL]设备全量信息更新:",O.value))}function $ee(_e){var Me;q.value=[..._e],(Me=O.value)!=null&&Me.machine_status&&(O.value.machine_status.exception_status=[..._e])}async function ete(){try{o.value=!0;const _e={type:"PING"};Pe.log("[MQTT]发送心跳包"),await dn.sendHeartBeat(a.value,_e)}catch{}finally{o.value=!1}}async function tte(_e){try{o.value=!0;const Me={method:Rt.StartPrint,params:_e};_e.storage_media===xn.UDisk&&!_e.filename.startsWith("/")&&(_e.filename="/"+_e.filename);let it;return jn()||(it=await dn.startPrint(a.value,Me)),it.error_code!==0&&it.error_code!==Eh.BedMeshDataMissing?Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.startFailed")):setTimeout(()=>{xu()},500),it}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.startFailed")+Me.message),{error_code:1}}finally{o.value=!1}}async function nte(){try{o.value=!0;const _e={method:Rt.PausePrint};let Me;jn()||(Me=await dn.pausePrint(a.value,_e,1e4*6)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.pauseFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.pauseFailed")+_e.message)}finally{o.value=!1}}async function rte(_e=1e4*6){try{o.value=!0;const Me={method:Rt.ResumePrint};let it;jn()||(it=await dn.resumePrint(a.value,Me,_e)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.resumeFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.resumeFailed")+Me.message)}finally{o.value=!1}}async function ite(){try{o.value=!0;const _e={method:Rt.CancelPrint};let Me;jn()||(Me=await dn.stopPrint(a.value,_e,1e4*6)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.stopFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.stopFailed")+_e.message)}finally{o.value=!1}}async function UI(_e,Me=xn.Local,it=!0,zt="preview"){try{if(_e==="")return Pe.error("Filename is empty when getting file thumbnail!",_e),"";o.value=!0,Me===xn.UDisk&&!_e.startsWith("/")&&(_e="/"+_e);const Fi={method:Rt.GetFileThumbnail,params:{storage_media:Me,file_name:_e}};let Vr;if(jn()||(Vr=await dn.getFileThumbnail(a.value,Fi)),Vr.error_code===0){const Ji=Vr.thumbnail??"";return zt==="preview"?J.value=Ji:Y.value=Ji,Ji}else return it&&Lt(xt.ErrorCodeMsg,Vr.error_code),""}catch(Fi){return it&&Lt(xt.CustomMessage,0,"error",s("errorCodes.GetThumbnailFailed")+Fi.message),""}}async function ote(_e=xn.Local,Me,it=0,zt=20){try{o.value=!0;const Fi={method:Rt.GetFileList,params:{storage_media:_e,...Me&&{dir:Me},offset:it,limit:zt}};let Vr;if(jn()||(Vr=await dn.getFileList(a.value,Fi,1e4*3)),Vr.error_code==Eh.PrinterBusy?A.value=!0:A.value=!1,Vr.error_code===0){const Ji=(Il,s0)=>{const Df=new Map(s0.value.map(Va=>[Va.filename,Va]));for(const Va of Il)Df.set(Va.filename,Va);s0.value=Array.from(Df.values())},Du=Vr.file_list||[];return _e===xn.Local?Ji(Du,F):_e===xn.UDisk&&Ji(Du,W),{res:!0,file_list:Vr.file_list,total:Vr.total??0}}else return Vr.error_code==Eh.UDiskNotDetected?(Pe.log("u盘不存在"),{res:!1,file_list:[],total:0}):Vr.error_code==Eh.PrinterBusy&&_e==xn.UDisk&&Me=="/"&&it==0?(Pe.warn("请求U盘列表首页时打印机正忙"),{res:!1,file_list:[],total:0}):(Lt(xt.ErrorCodeAndCustom,Vr.error_code,"error",s("toastMessages.getFileListFailed")),{res:!1,file_list:[],total:0})}catch{return Lt(xt.CustomMessage,0,"error",s("toastMessages.getFileListFailed")),{res:!1,file_list:[],total:0}}finally{o.value=!1}}async function jI(_e,Me,it,zt=!0,Fi="preview"){try{o.value=!0,Me===xn.UDisk&&!_e.startsWith("/")&&(_e="/"+_e);const Vr={method:Rt.GetFileDetail,params:{storage_media:Me,filename:_e,...it&&{dir:it}}};let Ji;return jn()||(Ji=await dn.getFileDetail(a.value,Vr,5e3)),Ji.error_code===0?(_.value=Ji,B.value=Ji.layer??0,jn(),Ji):(zt&&Lt(xt.ErrorCodeAndCustom,Ji.error_code,"error",s("toastMessages.getFileInfoFailed")),Ji)}catch(Vr){return zt&&Lt(xt.CustomMessage,0,"error",Vr.message),{}}finally{o.value=!1}}async function ste(_e,Me){try{o.value=!0;const it={method:Rt.DeleteFile,params:{storage_media:Me,file_path:_e}};let zt;jn()||(zt=await dn.deletePrintFile(a.value,it)),zt.error_code!==0&&Lt(xt.ErrorCodeMsg,zt.error_code,"error")}catch{Lt(xt.ErrorCodeMsg,0,"error",s("toastMessages.deleteFileFailed"))}finally{o.value=!1}}async function ate(){try{o.value=!0;const _e={method:Rt.GetHistoryTask};let Me;if(jn()||(Me=await dn.getPrintHistoryList(a.value,_e,1e4*3)),Me.error_code!==0)return Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.getHistoryFailed")),[];{const it=Me.history_task_list.sort((zt,Fi)=>Fi.begin_time-zt.begin_time);return d.value=it,f.value=HI(it),it}}catch(_e){return Lt(xt.CustomMessage,0,"error",s("toastMessages.getHistoryFailed")+_e.message),[]}finally{o.value=!1}}async function cte(_e=!1){if(y.value)return[];try{y.value=!0,_e?h.value+=1:(h.value=1,d.value=[],f.value=[]);const Me={method:Rt.GetHistoryTask};Pe.log(`RTM历史列表请求: 第${h.value}页, 每页${p.value}条`);const it=await Ku.getPrintHistoryList(a.value,Me,h.value,p.value);if(it.error_code!==0)return Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.getHistoryFailed")),[];{g.value=it.total||0,m.value=it.history_task_list.length>=p.value,Pe.log(`RTM懒加载: 第${h.value}页, 返回${it.history_task_list.length}条, 总计${g.value}条, 还有更多: ${m.value}`);const zt=it.history_task_list.sort((Fi,Vr)=>Vr.begin_time-Fi.begin_time);return _e?d.value=[...d.value,...zt]:d.value=zt,f.value=HI(d.value),zt}}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.getHistoryFailed")+Me.message),[]}finally{y.value=!1}}function HI(_e){return _e.map(Me=>({Thumbnail:"",TaskName:Me.task_name,BeginTime:Me.begin_time,EndTime:Me.end_time,TaskStatus:Me.task_status,SliceInformation:{},AlreadyPrintLayer:0,TaskId:Me.task_id,MD5:"",CurrentLayerTalVolume:0,TimeLapseVideoStatus:Me.time_lapse_video_status,TimeLapseVideoUrl:Me.time_lapse_video_url,TimeLapseVideoSize:Me.time_lapse_video_size,TimeLapseVideoDuration:Me.time_lapse_video_duration,ErrorStatusReason:0}))}async function lte(_e){try{o.value=!0;const Me={method:Rt.HistoryDelete,params:{list:_e}};let it;jn()||(it=await dn.deletePrintHistory(a.value,Me)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.delHistoryFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.delHistoryFailed")+Me.message)}finally{o.value=!1}}async function zI(){try{o.value=!0;const _e={method:Rt.GetLivingVideoUrl},Me=await dn.getLivingVideoUrl(a.value,_e);return Me.error_code!==0?(Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.getLivingVideoUrl")),""):(z.value=Me.url,Me.url)}catch(_e){return Pe.error("Failed to get living video URL: "+_e.message),""}finally{o.value=!1}}async function ute(){try{o.value=!0;const _e={method:Rt.Feed};let Me;jn()||(Me=await dn.feed(a.value,_e,1e4*6*5)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.feedFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.feedFailed")+_e.message)}finally{o.value=!1}}async function dte(){try{o.value=!0;const _e={method:Rt.Retreat};let Me;jn()||(Me=await dn.retreat(a.value,_e,1e4*6*5)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.UnloadFilamentFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.UnloadFilamentFailed")+_e.message)}finally{o.value=!1}}async function fte(_e){try{o.value=!0;const Me={method:Rt.LightSwitch,params:{power:_e?1:0}};let it;return jn()||(it=await dn.setLight(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message),!1}finally{o.value=!1}}async function hte(_e){try{o.value=!0;const Me={method:Rt.FanControl,params:{..._e.modelFanSpeed!==void 0&&{fan:_e.modelFanSpeed},..._e.chassisFanSpeed!==void 0&&{box_fan:_e.chassisFanSpeed},..._e.auxiliaryFanSpeed!==void 0&&{aux_fan:_e.auxiliaryFanSpeed}}};let it;return jn()||(it=await dn.setFan(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message),!1}finally{o.value=!1}}async function pte(_e,Me=!0){try{o.value=!0;const it={method:Rt.PrintSpeedControl,params:{mode:_e}};let zt;return jn()||(zt=await dn.setPrintSpeed(a.value,it)),zt.error_code!==0?(Me&&Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(it){return Me&&Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+it.message),!1}finally{o.value=!1}}async function mte(){try{o.value=!0;const _e={method:Rt.AutoLeveling},Me=await dn.autoLeveling(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function gte(){try{o.value=!0;const _e={method:Rt.VibrationOptimize},Me=await dn.vibrationOptimize(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function vte(){try{o.value=!0;const _e={method:Rt.PIDDetect},Me=await dn.pidDetect(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function yte(){try{o.value=!0;const _e={method:Rt.OneKeyCheck,params:{ringing_optimize:!0,pid_check:!0,auto_bed_leveling:!0}},Me=await dn.oneKeyCheck(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function l2(){try{o.value=!0;const _e={method:Rt.GetSystemInfo};let Me;jn()||(Me=await dn.getSystemInfo(a.value,_e)),Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetSystemInfoFailed")):i.value=Me}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetSystemInfoFailed")+_e.message)}finally{o.value=!1}}async function xu(){try{o.value=!0;const _e={method:Rt.GetBasicInfo};let Me;jn()||(Me=await dn.getBaseInfo(a.value,_e)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetBaseInfoFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetBaseInfoFailed")+_e.message)}finally{o.value=!1}}async function rZe(){try{o.value=!0;const _e={method:Rt.GetBasicInfo},Me=await Ku.getBaseInfoIPC(a.value,_e);return O.value=Me,c2(O.value),Me}catch(_e){throw new Error(s("toastMessages.GetBaseInfoFailed")+_e.message)}finally{o.value=!1}}async function Ete(_e){try{o.value=!0;const Me={method:Rt.SetDeviceName,params:{hostname:_e}};let it;jn()||(it=await dn.setDeviceName(a.value,Me)),it.error_code!==0&&Zt.error(s("toastMessages.executionFailed"))}catch{Zt.error(s("toastMessages.executionFailed"))}finally{o.value=!1}}async function bte(){try{o.value=!0;const _e={method:Rt.OTAUpgrade};let Me;jn()||(Me=await dn.otaUpgrade(a.value,_e)),Me.error_code!==0&&Zt.error(s("toastMessages.otaUpgradeFailed"))}catch{Zt.error(s("toastMessages.otaUpgradeFailed"))}finally{o.value=!1}}async function Ste(){try{o.value=!0;const _e={method:Rt.UrgentStop};let Me;jn()||(Me=await dn.urgentStop(a.value,_e)),Me.error_code!==0&&Zt.error(s("toastMessages.executionFailed"))}catch{Zt.error(s("toastMessages.executionFailed"))}finally{o.value=!1}}async function Ate(_e){try{o.value=!0;const Me={method:Rt.XYZHomeControl,params:{homed_axes:_e.toLowerCase()}};let it;jn()||(it=await dn.xyzHomeControl(a.value,Me,5e3*10)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetHomeZeroFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetHomeZeroFailed")+Me.message)}finally{o.value=!1}}async function Cte(_e,Me){try{if(o.value=!0,await xu(),!v.value.includes(_e.toLowerCase())){Lt(xt.CustomMessage,0,"error",s("toastMessages.homingBeforeMove"));return}const it={method:Rt.XYZMoveControl,params:{axes:_e.toLowerCase(),distance:Me}};let zt;jn()||(zt=await dn.xyzMoveControl(a.value,it,5e3*5)),zt.error_code!==0&&Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.SetAxisMoveFailed"))}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAxisMoveFailed")+it.message)}finally{o.value=!1}}async function wte(_e){try{o.value=!0;const Me={method:Rt.GetTimeLapseVideoList,params:{url:_e}},it=await dn.getTimeLapseVideoList(a.value,Me);it.error_code!==0?Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")):b.value.push(it.url)}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message)}finally{o.value=!1}}async function Tte(_e){try{o.value=!0;const Me={method:Rt.TemperatureControl,params:_e};let it;jn()||(it=await dn.temperatureControl(a.value,Me)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetTemperatureFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetTemperatureFailed")+Me.message)}finally{o.value=!1}}async function Ite(_e,Me){try{o.value=!0;const it={method:Rt.LoadFilamenting,params:{canvas_id:_e,tray_id:Me}};let zt;if(jn()||(zt=await dn.loadFilamentCanvas(a.value,it,1e4*6*5)),zt.error_code!==0)return Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.LoadFilamentFailed")),!1;if(zt.error_code===0)return!0}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.LoadFilamentFailed")+it.message)}finally{o.value=!1}}async function Pte(_e,Me){try{o.value=!0;const it={method:Rt.UnloadFilamenting,params:{canvas_id:_e,tray_id:Me}};let zt;if(jn()||(zt=await dn.unloadFilamentCanvas(a.value,it,1e4*6*5)),zt.error_code!==0)return Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.UnloadFilamentFailed")),!1;if(zt.error_code===0)return!0}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.UnloadFilamentFailed")+it.message)}}async function Ote(_e){try{o.value=!0;const Me={method:Rt.SetMonoFilamentInfo,params:_e};let it;return jn()||(it=await dn.setMonoFilamentInfo(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetFilamentInfoFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.SetFilamentInfoFailed")+Me.message),!1}finally{o.value=!1}}async function r1(){try{if(!u.value||$.value)return!1;o.value=!0;const _e={method:Rt.GetMonoFilamentInfo};let Me;return jn()||(Me=await dn.getMonoFilamentInfo(a.value,_e)),Me.error_code!==0?(Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetFilamentInfoFailed")),!1):(T.value=Me.mono_filament_info,!0)}catch(_e){return Lt(xt.CustomMessage,0,"error",s("toastMessages.GetFilamentInfoFailed")+_e.message),!1}finally{o.value=!1}}async function _te(_e){try{o.value=!0;const Me={method:Rt.SetFilamentInfo,params:_e};let it;return jn()||(it=await dn.setFilamentInfoCanvas(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetFilamentInfoFailed")),!1):!0}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetFilamentInfoFailed")+Me.message)}finally{o.value=!1}}async function Rte(_e){try{o.value=!0;const Me={method:Rt.SetAutoFillFilament,params:{auto_refill:_e}};let it;return jn()||(it=await dn.setAutoFillFilamentCanvas(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetAutoRefillFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAutoRefillFailed")+Me.message),!1}}async function kte(){try{o.value=!0;const _e={method:Rt.GetCanvasInfo};let Me;jn()||(Me=await dn.getCanvasInfoCanvas(a.value,_e)),Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetCanvasInfoFailed")):Me.error_code===0&&(E.value=Me)}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetCanvasInfoFailed")+_e.message)}finally{o.value=!1}}async function WI(){try{o.value=!0;const _e={method:Rt.GetAIDetectionSettings},Me=await Ku.getAIDetectionSettings(a.value,_e);Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetAIDetectionSettingsFailed")):k.value=Me}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetAIDetectionSettingsFailed")+_e.message)}}async function xte(_e){try{o.value=!0;const Me={method:Rt.SetAIDetectionSettings,params:_e};let it;if(jn(),it.error_code!==0)Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetAIDetectionSettingsFailed"));else return it}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAIDetectionSettingsFailed")+Me.message)}}return{isExecutingCommand:o,isConnected:c,websocketHistorytaskDetails:f,deviceControlModel:I,isPrinting:U,isPrintPrinting:Ht,isPrintPaused:_t,elapsedPrintTime:ge,remainingPrintTime:ie,printerInfo:L,curPrintFileName:Kee,status:Ie,subStatus:Ce,lastSubStatus:oe,deviceStatus:O,deviceAttributes:i,totalPrintLayer:Z,isIdle:de,isPrintStopped:kn,isInitializeComplete:Jee,isOTAInfoUpdating:Hee,isOTADownloading:zee,isOTAExtracting:Wee,isOTAUpdating:Vee,isOTAComplete:BI,isOTAFailed:Gee,isBiteFilamentEnd:Ree,isCutFilament:kee,isEjectFilament:xee,isEjectFilamentComplete:Dee,isResonanceOptimizing:Mee,isResonanceCompleted:Bee,isAutoLeveling:Uee,isAutoLevelingComplete:jee,isPrintCompleted:Jn,isPrintStopping:oi,isPrintPausing:Se,isPrintResuming:Oe,isPrintResumed:ct,isPrintHotendPreheating:gt,isPrintHotendCooling:Et,isPrintBedPreheating:$n,isPrintBedCooling:Mi,isPrintHoming:$o,isPrintHomed:Tl,isPrintAutoLeveling:ua,isPrintAutoLevelingComplete:Ve,isPrintEjectFilament:Ct,isPrintUnloadCheckFilamentCanvas:un,isPrintUnloadCutFilamentCanvas:hr,isPrintUnloadDrawFilamentCanvas:si,isPrintLoadNozzleHeatingCanvas:No,isPrintLoadManualInsertFilamentCanvas:Bi,isPrintLoadCutFilamentCanvas:Mo,isPrintLoadDrawFilamentCanvas:o0,isPrintLoadPushFilamentCanvas:A6,isPrintLoadFlushFilamentCanvas:Oee,isPrintLoadCompleteCanvas:_ee,isMainLoading:we,isMainUnLoading:Ae,isMainAutoLevel:Le,isMainResonanceTesting:Ee,isMainPid:ue,isMainUpgrade:Xe,isMainHoming:qe,isPidCompleted:Fee,isHomed:ht,isMainFileSending:It,isMainExtrudering:We,isMainSelfTest:He,isMainInitializing:x,isMainConnected:N,isPaused:qt,isFilamentInterruption:nn,currentThumbnail:J,currentPrintThumbnail:Y,canvas:E,historytaskDetails:d,videoGeneratedSuccessUrls:b,canvasConnected:$,isLoadCompleteCanvas:Nee,canvasAutoRefill:ae,getFileDetail:jI,exportTimeLapse:wte,startPrint:tte,pausePrint:nte,resumePrint:rte,stopPrint:ite,loadFilament:ute,unloadFilament:dte,setLight:fte,setFanSpeed:hte,setPrintSpeedPct:pte,autoLeveling:mte,vibrationOptimize:gte,pidDetect:vte,oneKeyCheck:yte,getSystemInfo:l2,getBaseInfo:xu,setDeviceName:Ete,otaUpgrade:bte,urgentStop:Ste,xyzHomeControl:Ate,xyzMoveControl:Cte,temperatureControl:Tte,getFileList:ote,deletePrintFile:ste,getPrintHistoryList:ate,getPrintHistoryListLazy:cte,deletePrintHistory:lte,rtmHistoryCurrentPage:h,rtmHistoryPageSize:p,rtmHistoryTotal:g,rtmHistoryHasMore:m,rtmHistoryLoading:y,getLivingVideoUrl:zI,getFileThumbnail:UI,isRegisterSuccess:u,currentPrintPathType:M,setFilamentInfoCanvas:_te,setAutoFillFilamentCanvas:Rte,getCanvasInfoCanvas:kte,loadFilamentCanvas:Ite,unloadFilamentCanvas:Pte,setMonoFilamentInfo:Ote,isSubGeneratingTimeLapse:Zee,isSubGeneratingTimeLapseComplete:Yee,isSubGeneratingTimeLapseFailed:Xee,previewFileDetail:_,exceptionCodeList:q,monoFilamentInfo:T,LoadedSlotId:ee,currentSendingFileName:S,currentUploadFileProgress:w,isUDiskInserted:j,isFilamentDrivingStatus:Ne,currentActiveTrayId:pe,lastLoadedSlotId:K,isUnloadCompleteCanvas:Lee,livingVideoUrl:z,cameraConnection:re,printerBusy:A,isMainPowerOffResume:$e,isPowerOffResuming:Qee,aiDetectionSettings:k,isCameraUpgraded:me,setExceptionCodeList:$ee,getMonoFilamentInfo:r1,getAIDetectionSettings:WI,setAIDetectionSettings:xte,isChassisLightUpgraded:te,isAuxiliaryFanUpgraded:fe,isExhaustGrilleUpgraded:le,isChassisFanUpgraded:ve,isNeedShowAiSetting:X}}),Ije=oy("vide-stream",()=>{const e=se(!1),t=se(!1),n=se(0),r=V(()=>{if(!t.value)return"";let l="";if(l=o.livingVideoUrl,l){const u=l.includes("?")?"&":"?";return`${l}${u}_t=${n.value}`}return l}),i=El(),o=di(),s=V(()=>!0);async function a(){try{if(Pe.log("[VIDEO-STORE] openVideoStream 开始, 当前 isPlaying:",t.value,"protocolType:",Ws.protocolType),e.value=!0,await new Promise(l=>setTimeout(l,1e3)),Ws.protocolType==="MQTT"&&o.isCameraUpgraded)await o.getLivingVideoUrl(),n.value=Date.now(),t.value=!t.value;else{const l=await i.openVideoStream(!t.value);Yt(l)?(n.value=Date.now(),t.value=!t.value):(Zt.error("Video stream is not available"),t.value=!1)}}catch(l){Zt.error(l.message)}finally{e.value=!1}}async function c(){o.isCameraUpgraded&&(e.value=!0,await o.getLivingVideoUrl(),n.value=Date.now(),e.value=!1)}return{isLoading:e,videoUrl:r,isPlaying:t,openVideoStream:a,cameraConnection:s,getVideoStreamUrl:c,refreshKey:n}}),Eee=oy("host",()=>({curPrintHost:se("")})),Pje={class:"file-name font-size18 color-white-65 status-text-margin"},Oje={class:"status-text"},_je=Je({__name:"print-status",props:["status","subStatus","isMQTTConnected","lastSubStatus"],setup(e){const{t}=Eo(),n=e,r=()=>{if((n.status===Ge.Printing||n.status==Ge.ManualHoming||n.status==Ge.FileSending||n.status==Ge.TimeLapseVideoGenerating||n.status==Ge.AutoLeveling||n.status==Ge.PidCalibration||n.status==Ge.ResonanceTester||!n.isMQTTConnected)&&pp())return!1},i=()=>{if(n.status==Ge.FileSending&&n.isMQTTConnected)return bbe();if(n.status==Ge.PidCalibration)return t("printStatus.pidTun");if(n.status==Ge.ResonanceTester)return t("printStatus.inputShape");if(n.status==Ge.SelfCheck)return t("printStatus.deviceSelfCheck");if(n.status==Ge.Upgrade)return t("printStatus.upgrade");if(n.status==Ge.ComponentUpgrade)return t("printStatus.componentUpgrade");if(n.status==Ge.AutoLeveling)return t("printStatus.autoLevel")},o=()=>n.isMQTTConnected?n.status===Ge.Printing||n.status==Ge.Idle||n.status==Ge.FileSending||n.status==Ge.Loading||n.status==Ge.UnLoading||n.status==Ge.ManualHoming||n.status==Ge.Extrudering||n.status==Ge.TimeLapseVideoGenerating||n.status==Ge.Extrudering||n.status==Ge.PowerOffResume?s.value:a():t("printStatus.offline");V(()=>{switch(n.status){case wt.Idle:return t("printStatus.idle");case wt.Resuming:return t("printStatus.resuming");case wt.Printing:return t("printStatus.printing");case wt.Pausing:return t("printStatus.pausing");case wt.Paused:return t("printStatus.paused");case wt.Stopping:return t("printStatus.stopping");case wt.Stopped:return t("printStatus.stopped");case wt.Error:return t("printStatus.deviceBusy");case wt.AutoLeveled:case wt.Preheated:case wt.Preparing:return t("printStatus.preparing");case wt.FileUploading:return t("printStatus.fileUploading");case wt.Completed:return t("printStatus.completed");case wt.DeviceTesting:return t("printStatus.deviceSelfChecking");case wt.AutoLevel:return t("printStatus.autoLeveling");case wt.ResonanceTesting:return t("printStatus.inputShaping");case wt.Busy:return t("printStatus.deviceBusy");case wt.FileChecking:return t("printStatus.fileChecking");case wt.Homing:return t("printStatus.homing");case wt.FeedOut:return t("printStatus.unloading");case wt.PIDDetect:return t("printStatus.pidTuning");case wt.Preheating:return t("printStatus.preheating");default:return""}});const s=V(()=>{switch(n.status){case Ge.Idle:return t("printStatus.idle");case Ge.Printing:switch(n.subStatus){case De.HotendPreheating:case De.HotendCooling:return t("printStatus.nozzleHeating");case De.BedPreheating:case De.BedCooling:return t("printStatus.bedPreheating");case De.Homing:case De.Homed:return t("printStatus.homing");case De.AutoLeveling:case De.AutoLevelingComplete:return t("printStatus.autoLeveling");case De.Pausing:return t("printStatus.pausing");case De.Paused:return t("printStatus.paused");case De.Interruption:return t("printStatus.filamentInterruption");case De.Resuming:case De.Resumed:return t("printStatus.resuming");case De.Stopping:return t("printStatus.stopping");case De.Stopped:return t("printStatus.stopped");case De.PrintComplete:return t("printStatus.completed");case De.UnloadNozzleHeatingCanvas:case De.UnloadCheckFilamentCanvas:case De.UnloadCutFilamentCanvas:case De.UnloadDrawFilamentCanvas:return t("printStatus.unloading");case De.LoadNozzleHeatingCanvas:case De.LoadManualInsertFilamentCanvas:case De.LoadCutFilamentCanvas:case De.LoadDrawFilamentCanvas:case De.LoadPushFilamentCanvas:case De.LoadFlushFilamentCanvas:case De.LoadCompleteCanvas:return t("printStatus.loading");case De.Printing:return t("printStatus.printing");default:return""}case Ge.Loading:switch(n.subStatus){case De.NozzleHeating:case De.ManualInsertFilament:case De.BiteFilament:case De.BiteFilamentEnd:case De.CutFilament:case De.EjectFilament:case De.LoadNozzleHeatingCanvas:case De.LoadManualInsertFilamentCanvas:case De.LoadCutFilamentCanvas:case De.LoadDrawFilamentCanvas:case De.LoadPushFilamentCanvas:case De.LoadFlushFilamentCanvas:return t("printStatus.loading");default:return t("printStatus.preparing")}case Ge.UnLoading:switch(n.subStatus){case De.CutFilament:case De.EjectFilament:case De.UnloadNozzleHeatingCanvas:case De.UnloadCheckFilamentCanvas:case De.UnloadCutFilamentCanvas:case De.UnloadDrawFilamentCanvas:return t("printStatus.unloading");default:return t("printStatus.preparing")}case Ge.Extrudering:switch(n.subStatus){case De.ExtruderLoading:case De.ExtruderLoadComplete:return t("printStatus.loading");case De.ExtruderUnloading:case De.ExtruderUnloadingComplete:return t("printStatus.unloading");default:return t("printStatus.preparing")}case Ge.AutoLeveling:return t("printStatus.autoLeveling");case Ge.PidCalibration:return t("printStatus.pidTuning");case Ge.ResonanceTester:return t("printStatus.inputShaping");case Ge.SelfCheck:return t("printStatus.deviceSelfChecking");case Ge.Upgrade:return t("printStatus.upgrading");case Ge.ComponentUpgrade:return t("printStatus.componentUpgrading");case Ge.ManualHoming:return t("printStatus.homing");case Ge.FileSending:return t("printStatus.fileSending");case Ge.TimeLapseVideoGenerating:return t("printStatus.timeLapseVideoGenerating");case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return t("printStatus.powerOffResumeWait");default:return t("printStatus.powerOffResume")}default:return"未知主状态:"+n.status}}),a=()=>{if(n.status==Ge.AutoLeveling)return t("printStatus.autoLeveling");if(n.status==Ge.PidCalibration)return t("printStatus.pidTuning");if(n.status==Ge.ResonanceTester)return t("printStatus.inputShaping");if(n.status==Ge.Upgrade)return t("printStatus.upgrading");if(n.status==Ge.ComponentUpgrade)return t("printStatus.componentUpgrading");if(n.status==Ge.SelfCheck)switch(n.subStatus){case De.PidPreheating:case De.PidDetecting:case De.PidCompleted:case De.PidFailed:return t("printStatus.pidTuning");case De.ResonanceOptimizing:case De.ResonanceOptimized:case De.ResonanceOptimizeFailed:case De.AccelerometerNormal:case De.AccelerometerError:return t("printStatus.inputShaping");case De.AutoLeveling:case De.AutoLevelingComplete:return t("printStatus.autoLeveling");default:return""}switch(n.subStatus){case De.OTAInfoUpdating:case De.OTADownloading:case De.OTAExtracting:case De.OTAUpdating:case De.OTAComplete:return t("printStatus.upgrading");case De.Pausing:return t("printStatus.pausing");case De.Paused:return t("printStatus.paused");case De.Interruption:return t("printStatus.filamentInterruption");case De.Resuming:return t("printStatus.resuming");case De.Resumed:return t("printStatus.resumed");case De.Stopping:return t("printStatus.stopping");case De.Stopped:return t("printStatus.stopped");default:return""}};V(()=>{switch(n.status){case wt.Idle:return"status-idle";case wt.Resuming:case wt.FileUploading:case wt.FileChecking:case wt.DeviceTesting:case wt.AutoLevel:case wt.ResonanceTesting:case wt.Homing:case wt.FeedOut:case wt.PIDDetect:case wt.Preparing:case wt.Preheating:case wt.Preheated:case wt.AutoLeveled:return"status-preparing";case wt.Printing:return"status-printing";case wt.Pausing:return"status-pausing";case wt.Paused:return"status-paused";case wt.Stopping:return"status-stopping";case wt.Stopped:return"status-stopped";case wt.Error:return"status-error";case wt.Busy:return"status-busy";case wt.Completed:return"status-completed";default:return"status-other"}});const c=V(()=>{if(!n.isMQTTConnected)return"status-error";switch(n.status){case Ge.Idle:return"status-idle";case Ge.Printing:switch(n.subStatus){case De.Paused:case De.Interruption:return"status-paused";case De.Stopped:return"status-stopped";case De.PrintComplete:return"status-completed";case De.Pausing:return"status-pausing";case De.Stopping:return"status-stopping";default:return"status-printing"}case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return"status-paused";default:return"status-printing"}case Ge.Loading:case Ge.UnLoading:case Ge.Extrudering:case Ge.AutoLeveling:case Ge.PidCalibration:case Ge.ResonanceTester:case Ge.SelfCheck:case Ge.ManualHoming:case Ge.FileSending:case Ge.TimeLapseVideoGenerating:case Ge.Upgrade:case Ge.ComponentUpgrade:return"status-preparing";default:return"status-other"}}),l=V(()=>c.value);V(()=>{switch(n.status){case wt.Idle:return DO;case wt.Resuming:case wt.FileUploading:case wt.FileChecking:case wt.Preparing:case wt.Printing:case wt.DeviceTesting:case wt.AutoLevel:case wt.ResonanceTesting:case wt.Homing:case wt.FeedOut:case wt.PIDDetect:case wt.Stopping:case wt.Pausing:case wt.Preheating:case wt.Preheated:case wt.AutoLeveled:return A2;case wt.Paused:return xO;case wt.Stopped:return NO;case wt.Error:case wt.Busy:return MO;case wt.Completed:return LO;default:return null}});const u=V(()=>{if(!n.isMQTTConnected)return MO;switch(n.status){case Ge.Idle:return DO;case Ge.Printing:switch(n.subStatus){case De.Paused:case De.Interruption:return xO;case De.Stopped:return NO;case De.PrintComplete:return LO;default:return A2}case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return Nue;default:return A2}case Ge.Loading:case Ge.UnLoading:case Ge.Extrudering:case Ge.AutoLeveling:case Ge.PidCalibration:case Ge.ResonanceTester:case Ge.SelfCheck:case Ge.ManualHoming:case Ge.FileSending:case Ge.TimeLapseVideoGenerating:case Ge.Upgrade:case Ge.ComponentUpgrade:return A2;default:return null}}),d=V(()=>u.value);V(()=>{const p=n.status;return p===wt.Resuming||p===wt.Printing||p===wt.Pausing||p===wt.Stopping||p===wt.Preparing||p===wt.FileUploading||p===wt.FileChecking||p===wt.DeviceTesting||p===wt.AutoLevel||p===wt.ResonanceTesting||p===wt.Homing||p===wt.FeedOut||p===wt.PIDDetect||p===wt.Preheating||p===wt.Preheated||p===wt.AutoLeveled?"is-loading":""});const f=V(()=>{if(!n.isMQTTConnected)return"";const p=n.status;return p===Ge.Loading||p===Ge.UnLoading||p===Ge.Extrudering||p===Ge.AutoLeveling||p===Ge.PidCalibration||p===Ge.ResonanceTester||p===Ge.SelfCheck||p===Ge.ManualHoming||p===Ge.Upgrade||p===Ge.FileSending||p===Ge.TimeLapseVideoGenerating||p===Ge.ComponentUpgrade||p===Ge.PowerOffResume&&n.subStatus!==De.Default||p===Ge.Printing&&n.subStatus!==De.Paused&&n.subStatus!==De.Stopped&&n.subStatus!==De.PrintComplete&&n.subStatus!==De.Interruption?"is-loading":""}),h=V(()=>f.value);return(p,g)=>(ne(),Te(Ft,null,[G("span",Pje,Ue(i()),1),vn(G("span",{class:"file-name font-size18 color-white-65"},Ue(s.value),513),[[_r,r()]]),G("span",null,[G("span",{class:je([l.value,"status-container"])},[(ne(),Ze(Br(d.value),{class:je([h.value,"mr-1"])},null,8,["class"])),G("span",Oje,Ue(o()),1)],2)])],64))}}),bee=rr(_je,[["__scopeId","data-v-3c12f447"]]),Rje={class:"myDialogHeader font-size14"},kje={style:{margin:"14px 10px"}},xje={class:"dialog-content font-size14"},Dje={style:{textAlign:"center"}},Lje={class:"dialog-footer"},Nje=Je({__name:"confirm-dialog",props:{modelValue:Boolean,confirmTitle:{type:String,required:!0},confirmMessage:{type:String,required:!0},confirmBtnTxt:{type:String,required:!0},showCancelBtn:{type:Boolean,default:!0}},emits:["confirm","update:modelValue","cancel"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=t,o=V({get:()=>r.modelValue,set:c=>i("update:modelValue",c)}),s=()=>{i("cancel"),o.value=!1},a=()=>{i("confirm"),o.value=!1};return(c,l)=>{const u=pr,d=Zd;return ne(),Ze(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=f=>o.value=f),width:P(n)?"90%":"31%",style:Ut(P(n)?{top:"50%",transform:"translateY(-50%)",padding:0,backgroundColor:"#1c1d1e",borderRadius:"4px",overflow:"hidden"}:{padding:0,backgroundColor:"#1c1d1e",maxWidth:"440px",borderRadius:"4px",overflow:"hidden"}),"show-close":!1,"close-on-click-modal":!1},{header:Re(()=>[G("div",Rje,[G("span",kje,Ue(c.$t(`dialogs.${e.confirmTitle}`)),1),be(u,{class:"close-dialog-btn",type:"info",onClick:s,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",xje,[G("p",Dje,Ue(e.confirmMessage),1)]),G("div",Lje,[e.showCancelBtn?(ne(),Ze(u,{key:0,class:"cancel-btn",onClick:s},{default:Re(()=>[yt(Ue(c.$t("buttons.cancel")),1)]),_:1})):Ke("",!0),be(u,{class:"confirm-btn",type:"primary",onClick:a},{default:Re(()=>[yt(Ue(c.$t(`buttons.${e.confirmBtnTxt}`)),1)]),_:1})])]),_:1},8,["modelValue","width","style"])}}}),al=rr(Nje,[["__scopeId","data-v-db1dbc8b"]]),Mje={class:"warning-dialog-header font-size14"},Bje={class:"warning-title"},Fje={style:{"margin-left":"8px"}},Uje={class:"warning-dialog-content font-size14"},jje={class:"warning-message"},Hje={key:0,class:"exception-codes"},zje=Je({__name:"warning-dialog",props:{modelValue:Boolean,warningMessage:{type:String,required:!0},firstExceptionError:{type:Object,default:()=>({})}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=e,o=t,s=V({get:()=>i.modelValue,set:u=>o("update:modelValue",u)}),a=()=>{o("close"),s.value=!1},c=V(()=>!i.firstExceptionError||typeof i.firstExceptionError.code!="number"?!1:Gue(i.firstExceptionError.code)),l=()=>c.value?r("dialogs.warning"):r("dialogs.errorNotice");return(u,d)=>{const f=Pn,h=pr,p=Zd;return ne(),Ze(p,{modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=g=>s.value=g),top:"0",width:P(n)?"90%":"40%",style:Ut(P(n)?{top:"20px",padding:0,backgroundColor:"#1c1d1e","--el-dialog-margin-top":"0",maxHeight:"30vh"}:{top:"20px",padding:0,backgroundColor:"#1c1d1e",maxWidth:"450px","--el-dialog-margin-top":"0",maxHeight:"30vh"}),"show-close":!1,"close-on-click-modal":!1,"close-on-press-escape":!1},{header:Re(()=>[G("div",Mje,[G("div",Bje,[be(f,{class:je(["warning-icon",c.value?"is-severe":"is-info"])},{default:Re(()=>[be(P(j1e))]),_:1},8,["class"]),G("span",Fje,Ue(l()),1)]),be(h,{class:"close-dialog-btn",type:"info",onClick:a,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",Uje,[G("div",jje,[G("p",{class:je(c.value?"msg-severe":"msg-info")},Ue(e.warningMessage),3),e.firstExceptionError?(ne(),Te("div",Hje,[G("p",{class:je(["exception-item",c.value?"msg-severe":"msg-info"])},Ue(e.firstExceptionError.message),3)])):Ke("",!0)])])]),_:1},8,["modelValue","width","style"])}}}),Wje=rr(zje,[["__scopeId","data-v-de9bb654"]]);function See(){const e=El(),t=di(),n=V(()=>e.printerInfo),r=se(!1),i=se(!1);Ye(()=>t.isPowerOffResuming,j=>{j?i.value=!0:i.value=!1},{immediate:!0}),Ye(()=>t.status,j=>{Ge.Printing,j===Ge.Idle&&(t.currentPrintThumbnail="")},{immediate:!0});const o=se(!1),s=se(""),a=se({code:0,message:""});Ye(()=>t.exceptionCodeList,j=>{if(j&&j.length>0){if(Pe.log("触发异常码列表更新: ",j),j.includes(zc.NoodleDefect)||j.includes(zc.foreignDetection))return;s.value=m("dialogs.exceptionHappenedGoCheck");const re=Wue(j,m,y.value);if(re){const me=j.filter(X=>X===zc.XMotorDriverError||X===zc.YMotorDriverError||X===zc.ZMotorDriverError||X===zc.ExtruderMotorDriverError),te=me.join("、");a.value.message=`${m("dialogs.errorCodePrefix")}${te}, ${re}`,a.value.code=me[0]}else{const me=j[0],te=zue(me),X=m(te);a.value.message=`${m("dialogs.errorCodePrefix")}${me}, ${X}`,a.value.code=me}o.value=!0,Pe.log("局域网下,弹出警告框后,重置异常码列表"),t.setExceptionCodeList([])}});const c=()=>{o.value=!1},l=V(()=>t.lastSubStatus),u=V(()=>t.printerInfo),d=V(()=>{var j;return(j=t.deviceStatus)==null?void 0:j.machine_status}),f=V(()=>{var re;const j=(re=d.value)==null?void 0:re.progress;return typeof j=="number"&&!isNaN(j)?Math.max(0,Math.min(100,j)):0}),h=V(()=>{var j;return(j=u.value)==null?void 0:j.current_layer}),p=V(()=>t.totalPrintLayer),g=V(()=>t.isPrinting?w9e($J.Base64,t.currentPrintThumbnail):""),{t:m,locale:y}=Eo(),v=se(!1),E=se(!1),b=se(!1),S=se("confirmPausePrint"),w=se("confirmStopPrint"),C=se("powerOffResume"),_=se("confirm"),I=se("confirm"),O=se("resume"),L=V(()=>m("dialogs.confirmPausePrintMsg")),R=V(()=>m("dialogs.confirmStopPrintMsg")),F=V(()=>m("dialogs.powerOffResumeMsg"));function W(){E.value=!0}function J(){b.value=!0}const Y=V(()=>{var j;return((j=t.printerInfo)==null?void 0:j.filename)||t.curPrintFileName});ln(()=>{Ye(z,j=>{(j===wt.Completed||j===wt.Stopped)&&(e.currentThumbnail="")},{immediate:!0})});const M=V(()=>!(t.isPrintHotendPreheating||t.isPrintHotendCooling||t.isPrintBedPreheating||t.isPrintBedCooling||t.isPrintHoming||t.isPrintHomed||t.isPrintAutoLeveling||t.isPrintAutoLevelingComplete||t.isPrintResuming||t.isPrintResumed||t.isPrintPrinting||t.isPrintUnloadCheckFilamentCanvas||t.isPrintUnloadCutFilamentCanvas||t.isPrintUnloadDrawFilamentCanvas||t.isPrintLoadNozzleHeatingCanvas||t.isPrintLoadManualInsertFilamentCanvas||t.isPrintLoadCutFilamentCanvas||t.isPrintLoadDrawFilamentCanvas||t.isPrintLoadPushFilamentCanvas||t.isPrintLoadFlushFilamentCanvas||t.isPrintLoadCompleteCanvas)),B=V(()=>!(t.isPrintPaused||t.isFilamentInterruption)),q=V(()=>t.isPrinting&&(t.isPrintStopping||t.isPrintStopped||t.isPrintCompleted)),z=V(()=>{{const j=t.status,re=t.subStatus,me=re!=null?Pbe(re):"";return Pe.log(`主状态(${j}) 子状态(${re}) (${me})`),t.status}}),A=V(()=>t.subStatus),T=V(()=>t.isFilamentInterruption),k=V(()=>{var j,re;return{name:(j=t.deviceAttributes)==null?void 0:j.hostname,ip:(re=t.deviceAttributes)==null?void 0:re.ip}});return ln(()=>{Ye(()=>t.isRegisterSuccess,j=>{v.value=j},{immediate:!0})}),yc(()=>{r.value=!0}),{printerInfo:n,pauseDisableButton:M,resumeDisableBtn:B,stopDisableBtn:q,status:z,subStatus:A,deviceInfo:k,currentThumbnail:g,showPauseComfirmDialog:E,showStopComfirmDialog:b,showPowerOffResumeDialog:i,pauseComfirmTitle:S,stopComfirmTitle:w,powerOffResumeTitle:C,pauseComfirmMsg:L,stopComfirmMsg:R,powerOffResumeMsg:F,pauseComfirmBtnTxt:_,stopComfirmBtnTxt:I,powerOffResumeBtnTxt:O,displayFileName:Y,curProgress:f,curPrintLayer:h,totalPrintLayer:p,isMQTTConnected:v,pausePrint:W,stopPrint:J,showWarningDialog:o,firstExceptionError:a,warningMessage:s,lastSubStatus:l,closeWarningDialog:c,isFilamentInterruption:T}}var Fc=(e=>(e[e.NotExecuted=0]="NotExecuted",e[e.Executing=1]="Executing",e[e.Success=2]="Success",e[e.Failed=3]="Failed",e))(Fc||{});function Aee(){const e=El(),t=di(),n=t,r=n.deviceControlModel,i=se(0),o=se(0),s=se(0),a=se(0),c=se(!1),l=async()=>{c.value=!1,a.value=1;const R=await n.setLight(!1);a.value=R?2:3},u=()=>{c.value=!1,a.value===0?(a.value=3,Cn(()=>{a.value=0})):a.value=0};Ye(()=>t.subStatus,R=>{(R===De.PrintComplete||R===De.Stopped)&&n.setPrintSpeedPct(MZ.Balanced,!1)});const d=async R=>{i.value=1;let F;F=await t.setFanSpeed({chassisFanSpeed:R/100*255}),i.value=F?2:3},f=async R=>{let F;o.value=1,F=await t.setFanSpeed({auxiliaryFanSpeed:R/100*255}),o.value=F?2:3},h=async R=>{let F;s.value=1,F=await t.setFanSpeed({modelFanSpeed:R/100*255}),s.value=F?2:3},p=async R=>{var J,Y,M,B;const F=(Y=(J=t.aiDetectionSettings)==null?void 0:J.spaghetti_detection)==null?void 0:Y.status,W=(B=(M=t.aiDetectionSettings)==null?void 0:M.foreign_object_detection)==null?void 0:B.status;if(R===0&&(F===rc.On||W===rc.On))c.value=!0;else{a.value=1;const q=await n.setLight(R>0);a.value=q?2:3}},g=V(()=>!e.isIdle),m=V(()=>!t.isPrinting),y=V(()=>t.isMainInitializing||!t.isMainConnected||!t.isChassisLightUpgraded),v=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)||!t.isAuxiliaryFanUpgraded),E=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)||!t.isChassisFanUpgraded),b=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)),S=V(()=>!t.isIdle),w=(R,F)=>(R==="Z"&&(F=F*-1),t.xyzMoveControl(R,r.moveStep*F)),C=R=>t.xyzHomeControl(R),_=se(r.curPrinterMode),I=se(r.curPrinterMode),O=se(!1);Ye(()=>r.curPrinterMode,R=>{O.value||(I.value=R,_.value=R)});const L=async R=>{const F=I.value;O.value=!0;try{await n.setPrintSpeedPct(R)?I.value=R:_.value=F}finally{O.value=!1}};return ln(()=>{}),yc(()=>{}),{onchassisFanSpeedChange:d,onAuxiliaryFanSpeedChange:f,onModelFanSpeedChange:h,onLightChange:p,deviceControlModel:r,controlDisabled:g,move:w,moveToHome:C,setPrintSpeedPct:L,changeSpeedDisabled:m,lightDisabled:y,fanDisabled:b,xyzDisabled:S,uiPrinterMode:_,auxiliaryFanDisabled:v,chassisFanDisabled:E,chassisFanCmdStatus:i,auxiliaryFanCmdStatus:o,modelFanCmdStatus:s,lightCmdStatus:a,onLightOffConfirm:l,showLightOffDialog:c,onLightOffCancel:u}}const Vje={class:"status-container"},Gje={class:"model-image"},Jje=["src"],Zje={class:"flex-1 flex flex-col justify-between ml-[18px]"},Yje={class:"right-first"},Xje={class:"file-name font-size18"},Qje={class:"print-control-buttons"},Kje={class:"right-second"},qje={class:"right-third"},$je={class:"progress-text font-size24"},eHe={style:{"margin-left":"280px"},class:"layer font-size18"},tHe={class:"layer font-size18"},nHe={width:"12",height:"1",viewBox:"0 0 12 1",style:{display:"inline-block","vertical-align":"middle"}},rHe={class:"right-third"},iHe={class:"progress-text font-size24"},oHe=Je({__name:"device-status",setup(e){const t=El(),n=di(),r=n,i=V(()=>n.currentUploadFileProgress>0&&o.value===Ge.FileSending&&L.value),{status:o,pauseDisableButton:s,resumeDisableBtn:a,stopDisableBtn:c,currentThumbnail:l,showPauseComfirmDialog:u,showStopComfirmDialog:d,showPowerOffResumeDialog:f,pauseComfirmTitle:h,stopComfirmTitle:p,powerOffResumeTitle:g,pauseComfirmMsg:m,stopComfirmMsg:y,powerOffResumeMsg:v,pauseComfirmBtnTxt:E,stopComfirmBtnTxt:b,powerOffResumeBtnTxt:S,displayFileName:w,curProgress:C,curPrintLayer:_,totalPrintLayer:I,subStatus:O,isMQTTConnected:L,isFilamentInterruption:R,pausePrint:F,stopPrint:W,showWarningDialog:J,warningMessage:Y,lastSubStatus:M,closeWarningDialog:B,firstExceptionError:q}=See(),z=se(!1),A=()=>{z.value=!0},T=()=>{z.value=!1};return ln(()=>{window.addEventListener("pagehide",()=>{t.onBeforeUnmount()})}),xi(()=>{}),(k,j)=>{const re=Dw,me=pr,te=KG;return ne(),Te("div",Vje,[G("div",Gje,[z.value?Ke("",!0):(ne(),Te("img",{key:0,src:P(EJ),alt:"default",class:"model-thumb"},null,8,Jje)),vn(be(re,{src:P(l),onLoad:A,onError:T},null,8,["src"]),[[_r,!!P(l)]])]),G("div",Zje,[vn(G("div",Yje,[G("span",Xje,Ue(P(w)),1),G("div",Qje,[!P(r).isPaused&&!P(R)?(ne(),Ze(me,{key:0,class:"print-control-button",disabled:P(s),onClick:P(F)},{default:Re(()=>[G("span",null,[be(P(KC))])]),_:1},8,["disabled","onClick"])):Ke("",!0),P(r).isPaused||P(R)?(ne(),Ze(me,{key:1,class:"print-control-button",disabled:P(a),onClick:j[0]||(j[0]=X=>P(r).resumePrint(1e4*6))},{default:Re(()=>[G("span",null,[be(P(QC))])]),_:1},8,["disabled"])):Ke("",!0),be(me,{class:"print-control-button",disabled:P(c),onClick:P(W)},{default:Re(()=>[G("span",null,[be(P($W))])]),_:1},8,["disabled","onClick"])])],512),[[_r,P(r).isPrinting]]),G("div",Kje,[be(bee,{status:P(o),subStatus:P(O),isMQTTConnected:P(L),lastSubStatus:P(M)},null,8,["status","subStatus","isMQTTConnected","lastSubStatus"])]),vn(G("div",qje,[G("span",$je,[yt(Ue(P(C)),1),j[6]||(j[6]=G("span",{class:"font-size16"},"%",-1))]),G("span",eHe,[yt(Ue(k.$t("printStatus.layerProgress")),1),j[7]||(j[7]=G("span",{class:"mr-1 layer font-size18"},":",-1)),yt(" "+Ue(P(_))+"/"+Ue(P(I)),1)]),G("span",tHe,[(ne(),Te("svg",nHe,[...j[8]||(j[8]=[G("line",{x1:"0",y1:"0.5",x2:"12",y2:"0.5",stroke:"currentColor","stroke-width":"1"},null,-1)])])),yt(Ue(P(eZ)(P(r).remainingPrintTime)),1)])],512),[[_r,P(r).isPrinting]]),vn(G("div",rHe,[G("span",iHe,[yt(Ue(P(n).currentUploadFileProgress),1),j[9]||(j[9]=G("span",{class:"font-size16"},"%",-1))])],512),[[_r,i.value]]),vn(be(te,{percentage:P(C),"show-text":!1,"stroke-width":8},null,8,["percentage"]),[[_r,P(r).isPrinting]]),vn(be(te,{percentage:P(n).currentUploadFileProgress,"show-text":!1,"stroke-width":8},null,8,["percentage"]),[[_r,i.value]])]),be(al,{modelValue:P(u),"onUpdate:modelValue":j[1]||(j[1]=X=>En(u)?u.value=X:null),"confirm-title":P(h),"confirm-message":P(m),"confirm-btn-txt":P(E),onConfirm:P(r).pausePrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm"]),be(al,{modelValue:P(d),"onUpdate:modelValue":j[2]||(j[2]=X=>En(d)?d.value=X:null),"confirm-title":P(p),"confirm-message":P(y),"confirm-btn-txt":P(b),onConfirm:P(r).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm"]),be(al,{modelValue:P(f),"onUpdate:modelValue":j[3]||(j[3]=X=>En(f)?f.value=X:null),"confirm-title":P(g),"confirm-message":P(v),"confirm-btn-txt":P(S),onConfirm:j[4]||(j[4]=X=>P(r).resumePrint(1e4*6*2)),onCancel:P(r).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onCancel"]),be(Wje,{modelValue:P(J),"onUpdate:modelValue":j[5]||(j[5]=X=>En(J)?J.value=X:null),"warning-message":P(Y),firstExceptionError:P(q),onClose:P(B)},null,8,["modelValue","warning-message","firstExceptionError","onClose"])])}}}),sHe=rr(oHe,[["__scopeId","data-v-84625f57"]]),aHe={class:"fdm-card"},cHe={class:"fdm-card-header"},lHe={class:"fdm-card-header-left"},uHe={class:"fdm-card-header-right"},dHe=Je({__name:"fdm-card",props:{isOpen:{type:Boolean,default:!0},isOpenModifiers:{}},emits:["update:isOpen"],setup(e){const t=Nh(e,"isOpen"),n=se(null);function r(){t.value=!t.value}return(i,o)=>{const s=z5e;return ne(),Te("div",aHe,[G("div",cHe,[G("div",lHe,[St(i.$slots,"title",{},void 0,!0)]),G("div",uHe,[St(i.$slots,"actions",{},void 0,!0),G("span",{class:je(["toggle-icon",{rotated:t.value}]),onClick:r},[be(P(qW))],2)])]),be(s,null,{default:Re(()=>[vn(G("div",{ref_key:"content",ref:n,class:"fdm-card-content"},[St(i.$slots,"default",{},void 0,!0)],512),[[_r,t.value]])]),_:3})])}}}),ku=rr(dHe,[["__scopeId","data-v-13ce3744"]]),fHe={class:"z-axis"},hHe=["disabled"],pHe=["disabled"],mHe={class:"home-icon"},gHe=["disabled"],vHe={class:"arc-button-container"},yHe=["disabled"],EHe=["disabled"],bHe=["disabled"],SHe=["disabled"],AHe=["disabled"],CHe={class:"xy-axis-home"},wHe=["disabled"],THe={class:"home-icon"},IHe=["disabled"],PHe={class:"home-icon"},OHe=Je({__name:"axis-control",props:{xyzDisabled:{type:Boolean,default:!1}},emits:["z-up","z-down","x-up","x-down","y-up","y-down","home-all","home-x","home-y","home-z"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=n.value?"40px":"56px",i={width:r,height:r},o={height:n.value?"122px":"158px"},s=n.value?"122px":"158px",a={width:s,height:s};return(c,l)=>(ne(),Te("div",{class:"axis-container",style:o},[G("div",fHe,[G("button",{class:"control-button z-axis-item",disabled:e.xyzDisabled,onClick:l[0]||(l[0]=u=>c.$emit("z-up"))}," Z↑ ",8,hHe),l[10]||(l[10]=G("div",{class:"line"},null,-1)),G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[1]||(l[1]=u=>c.$emit("home-z"))},[G("span",mHe,[be(P(fce))])],8,pHe),l[11]||(l[11]=G("div",{class:"line"},null,-1)),G("button",{class:"control-button z-axis-item",disabled:e.xyzDisabled,onClick:l[2]||(l[2]=u=>c.$emit("z-down"))}," Z↓ ",8,gHe)]),G("div",{class:"xy-axis",style:a},[G("div",vHe,[G("button",{class:"sector top",disabled:e.xyzDisabled,onClick:l[3]||(l[3]=u=>c.$emit("y-up"))},[...l[12]||(l[12]=[G("span",null," Y+ ",-1)])],8,yHe),G("button",{class:"sector right",disabled:e.xyzDisabled,onClick:l[4]||(l[4]=u=>c.$emit("x-up"))},[...l[13]||(l[13]=[G("span",null," X+ ",-1)])],8,EHe),G("button",{class:"sector bottom",disabled:e.xyzDisabled,onClick:l[5]||(l[5]=u=>c.$emit("y-down"))},[...l[14]||(l[14]=[G("span",null," Y- ",-1)])],8,bHe),G("button",{class:"sector left",disabled:e.xyzDisabled,onClick:l[6]||(l[6]=u=>c.$emit("x-down"))},[...l[15]||(l[15]=[G("span",null," X- ",-1)])],8,SHe),l[16]||(l[16]=G("div",{class:"line horizontal"},null,-1)),l[17]||(l[17]=G("div",{class:"line vertical"},null,-1))]),G("button",{class:"home",style:i,disabled:e.xyzDisabled,onClick:l[7]||(l[7]=u=>c.$emit("home-all"))},[G("span",null,[be(P(lce),{width:"20",height:"20"})])],8,AHe)]),G("div",CHe,[G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[8]||(l[8]=u=>c.$emit("home-x"))},[G("span",THe,[be(P(yce))])],8,wHe),l[18]||(l[18]=G("div",{class:"line"},null,-1)),G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[9]||(l[9]=u=>c.$emit("home-y"))},[G("span",PHe,[be(P(mce))])],8,IHe)])]))}}),Cee=rr(OHe,[["__scopeId","data-v-d4b831ae"]]),_He={class:"flex items-center gap-2 justify-between"},RHe={class:"flex items-center gap-2"},kHe={class:"flex items-center gap-2"},xHe={key:0,class:"flex items-center gap-2"},DHe=["disabled"],LHe={key:0},NHe={key:1},MHe=["disabled"],BHe={key:0},FHe={key:1},UHe=Je({__name:"value-control",props:Dm({title:String,componentType:{type:String,default:null},showInput:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},defaultOpenValue:{type:Number,default:100},cmdStatus:{type:Number,default:Fc.NotExecuted}},{value:{type:Number,default:0},valueModifiers:{}}),emits:Dm(["change"],["update:value"]),setup(e,{emit:t}){const n=e,r=se(!1),i=se(null),o=se(!1),s=se(!1),a=Nh(e,"value"),c=se(""),l=t,u=se(!1),d=se(0),f=se(!1),h=se(!1),p=se(!1),g=se(""),m=se(0),y=di(),v=V(()=>o.value||n.cmdStatus===Fc.Executing);function E(O){var L;if(n.disabled&&(O.stopPropagation(),((L=y.deviceAttributes)==null?void 0:L.machine_model)==tc.C2)){let R=!1;switch(n.componentType){case na.AuxiliaryFan:R=!y.isAuxiliaryFanUpgraded;break;case na.ExhaustGrille:R=!y.isExhaustGrilleUpgraded;break;case na.ChassisFan:R=!y.isChassisFanUpgraded;break;case na.ChassisLight:R=!y.isChassisLightUpgraded;break}R&&(u.value=!0)}}function b(){n.disabled||v.value||Cn(()=>{p.value=r.value,g.value=c.value,m.value=d.value;const O=r.value?0:n.defaultOpenValue;d.value=O,h.value=!0,o.value=!0,s.value=!0,r.value=O>0,c.value=`${O}%`,l("change",d.value)})}function S(O){n.disabled||v.value||(O<0&&(O=0),O>100&&(O=100),p.value=r.value,g.value=c.value,m.value=d.value,d.value=O,Cn(()=>{h.value=!0,o.value=!0,c.value=`${d.value}%`,r.value=d.value>0,l("change",d.value)}))}const w=se(!1),C=se(!1);function _(){n.disabled||v.value||a.value<=0||(w.value=!0,S(d.value-10))}function I(){n.disabled||v.value||a.value>=100||(C.value=!0,S(d.value+10))}return Ye(()=>n.cmdStatus,(O,L)=>{L===Fc.Executing&&O===Fc.Success&&(r.value=d.value>0,c.value=`${d.value}%`,Pe.log("命令成功,开关状态已反转并更新输入值:",r.value,c.value),o.value=!1,s.value=!1,w.value=!1,C.value=!1),L===Fc.Executing&&O===Fc.Failed&&(o.value=!1,s.value=!1,w.value=!1,C.value=!1,r.value=p.value,c.value=g.value,d.value=m.value),o.value&&O===Fc.NotExecuted&&L!==Fc.NotExecuted&&(o.value=!1,s.value=!1,w.value=!1,C.value=!1,r.value=p.value,c.value=g.value,d.value=m.value,Pe.log("取消操作,已重置 pending 并回滚 UI"))}),Ye(()=>a.value,O=>{n.cmdStatus!==Fc.Executing&&(r.value=O>0,c.value=`${O}%`),!f.value&&!h.value&&(d.value=O,f.value=!0)}),ln(()=>{d.value=a.value,c.value=`${a.value}%`,a.value===0?r.value=!1:r.value=!0}),yc(()=>{i.value&&(clearTimeout(i.value),i.value=null)}),(O,L)=>{const R=Mw,F=Pn,W=iG;return ne(),Te(Ft,null,[G("div",{class:je(["value-control",{"is-disabled":n.disabled}]),onClickCapture:E},[G("div",_He,[G("div",RHe,[G("span",null,[St(O.$slots,"icon",{},void 0,!0)]),G("span",null,Ue(n.title),1)]),G("div",kHe,[be(R,{"model-value":r.value,size:"large",onChange:b,disabled:n.disabled||v.value,loading:s.value,class:"custom-switch"},null,8,["model-value","disabled","loading"])])]),n.showInput?(ne(),Te("div",xHe,[G("button",{class:"gray-button",onClick:_,disabled:n.disabled||v.value||a.value<=0},[w.value?(ne(),Te("span",LHe,[be(F,{class:"is-loading",style:{"font-size":"14px"}},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("span",NHe,[be(P(Cce))]))],8,DHe),be(W,{class:"flex-1 no-border-input",readonly:!0,"model-value":c.value,style:{"min-width":"60px"},disabled:n.disabled},null,8,["model-value","disabled"]),G("button",{class:"gray-button",onClick:I,disabled:n.disabled||v.value||a.value>=100},[C.value?(ne(),Te("span",BHe,[be(F,{class:"is-loading",style:{"font-size":"14px"}},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("span",FHe,[be(P(eV))]))],8,MHe)])):Ke("",!0)],34),be(al,{modelValue:u.value,"onUpdate:modelValue":L[0]||(L[0]=J=>u.value=J),"confirm-title":O.$t("errorNotice"),"confirm-message":O.$t("dialogs.needUpgradeComponent"),"confirm-btn-txt":"confirm","show-cancel-btn":!1},null,8,["modelValue","confirm-title","confirm-message"])],64)}}}),wd=rr(UHe,[["__scopeId","data-v-ff828c0f"]]),jHe={style:{width:"fit-content"}},HHe={class:"flex items-center gap-2 justify-between xyz-pos"},zHe=Je({__name:"step-setting",props:Dm(["xPos","yPos","zPos"],{step:{type:Number,default:1},stepModifiers:{}}),emits:["update:step"],setup(e){const t=se([{name:"0.1mm",value:.1},{name:"1mm",value:1},{name:"10mm",value:10},{name:"30mm",value:30}]),n=Nh(e,"step");return(r,i)=>{const o=WG,s=zG;return ne(),Te("div",jHe,[G("div",HHe,[G("span",null,"X:"+Ue(e.xPos??""),1),G("span",null,"Y:"+Ue(e.yPos??""),1),G("span",null,"Z:"+Ue(e.zPos??""),1)]),be(s,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a),size:"large",class:"fdm-radio-button-group"},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(t.value,a=>(ne(),Ze(o,{label:a.name,value:a.value,key:a.name,style:{width:"72px",height:"42px"}},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])}}}),wee=rr(zHe,[["__scopeId","data-v-d3248eec"]]),WHe={class:"control-container"},VHe={class:"flex-1 relative ml-4 flex flex-col justify-between"},GHe={class:"flex items-center gap-2 justify-between mb-[10px]"},JHe={class:"self-end flex items-center"},ZHe={class:"fan-container"},YHe=Je({__name:"device-control",setup(e){const{deviceControlModel:t,onchassisFanSpeedChange:n,onAuxiliaryFanSpeedChange:r,onModelFanSpeedChange:i,onLightChange:o,controlDisabled:s,move:a,moveToHome:c,setPrintSpeedPct:l,changeSpeedDisabled:u,chassisFanDisabled:d,lightDisabled:f,fanDisabled:h,auxiliaryFanDisabled:p,xyzDisabled:g,uiPrinterMode:m,chassisFanCmdStatus:y,auxiliaryFanCmdStatus:v,modelFanCmdStatus:E,lightCmdStatus:b,showLightOffDialog:S,onLightOffConfirm:w,onLightOffCancel:C}=Aee();return(_,I)=>{const O=Ug,L=Fg;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(_.$t("control.control")),1)]),default:Re(()=>[G("div",WHe,[be(Cee,{class:"self-center",xyzDisabled:P(g),onHomeAll:I[0]||(I[0]=R=>P(c)("XYZ")),onHomeX:I[1]||(I[1]=R=>P(c)("X")),onHomeY:I[2]||(I[2]=R=>P(c)("Y")),onHomeZ:I[3]||(I[3]=R=>P(c)("Z")),onXUp:I[4]||(I[4]=R=>P(a)("X",1)),onXDown:I[5]||(I[5]=R=>P(a)("X",-1)),onYUp:I[6]||(I[6]=R=>P(a)("Y",1)),onYDown:I[7]||(I[7]=R=>P(a)("Y",-1)),onZUp:I[8]||(I[8]=R=>P(a)("Z",1)),onZDown:I[9]||(I[9]=R=>P(a)("Z",-1))},null,8,["xyzDisabled"]),G("div",VHe,[G("div",GHe,[be(wee,{step:P(t).moveStep,"onUpdate:step":I[10]||(I[10]=R=>P(t).moveStep=R),"x-pos":P(t).xPos,"y-pos":P(t).yPos,"z-pos":P(t).zPos,disabled:P(s)},null,8,["step","x-pos","y-pos","z-pos","disabled"]),G("div",JHe,[G("span",null,Ue(_.$t("control.printSpeed")),1),be(L,{modelValue:P(m),"onUpdate:modelValue":I[11]||(I[11]=R=>En(m)?m.value=R:null),placeholder:"",style:{width:"140px"},"show-arrow":!1,offset:4,class:"ml-[10px] no-border-select disabled-cursor",disabled:P(u),onChange:P(l)},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(P(t).printModeOptions,R=>(ne(),Ze(O,{key:R.value,label:_.$t(R.label),value:R.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","onChange"])])]),G("div",ZHe,[be(wd,{class:"flex-1",title:_.$t("control.model"),value:P(t).modelFanSpeed,"onUpdate:value":I[12]||(I[12]=R=>P(t).modelFanSpeed=R),onChange:P(i),disabled:P(h),defaultOpenValue:100,cmdStatus:P(E),"component-type":P(na).ModelFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.sideFan"),value:P(t).auxiliaryFanSpeed,"onUpdate:value":I[13]||(I[13]=R=>P(t).auxiliaryFanSpeed=R),onChange:P(r),disabled:P(p),defaultOpenValue:100,cmdStatus:P(v),"component-type":P(na).AuxiliaryFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Case"),"show-input":!0,value:P(t).chassisFanSpeed,"onUpdate:value":I[14]||(I[14]=R=>P(t).chassisFanSpeed=R),onChange:P(n),disabled:P(d),defaultOpenValue:100,cmdStatus:P(y),"component-type":P(na).ExhaustGrille},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Lighting"),"show-input":!1,value:P(t).lightValue,"onUpdate:value":I[15]||(I[15]=R=>P(t).lightValue=R),onChange:P(o),disabled:P(f),defaultOpenValue:1,cmdStatus:P(b),"component-type":P(na).ChassisLight},{icon:Re(()=>[be(P(tV))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"])])])])]),_:1}),be(al,{modelValue:P(S),"onUpdate:modelValue":I[16]||(I[16]=R=>En(S)?S.value=R:null),"confirm-title":_.$t("errorNotice"),"confirm-message":_.$t("aiDetection.lightOffConfirm"),"confirm-btn-txt":_.$t("close"),onConfirm:P(w),onCancel:P(C)},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm","onCancel"])],64)}}}),XHe=rr(YHe,[["__scopeId","data-v-b895cfac"]]),QHe={class:"popover-content"},KHe={class:"canvas-container"},qHe={class:"slots-grid"},$He=["onClick"],eze={class:"fraction"},tze={class:"numerator"},nze={class:"denominator"},rze={class:"canvas-title"},ize=Je({__name:"tray-card-mapping-select",props:{canvas:{default:()=>({})},gFilamentType:{default:""},gFilamentName:{default:""}},emits:["mapping-update","close-popover"],setup(e,{emit:t}){const n=e,r=t,{t:i}=Eo(),o=V(()=>n.canvas.canvas_info.canvas_list||[]),s=m=>{if(n.canvas.canvas_info&&n.canvas.canvas_info.canvas_list.length>m){const y=n.canvas.canvas_info.canvas_list[m];if(y&&y.tray_list)return y.tray_list}return Array(4).fill(null)},a=m=>c(m)!==wi.NoRecognition,c=m=>m?m.status===Oo.Empty?wi.NoFilament:!m.filament_color||m.filament_color.trim()===""||!m.filament_type||m.filament_type.trim()===""?wi.NoRecognition:m.filament_type:wi.NoRecognition,l=m=>m?c(m)===wi.NoRecognition?"#434343":yd(m.filament_color)||"transparent":"transparent",u=m=>{const y=l(m);if(!y||y==="transparent"){const v=c(m);return v===wi.NoFilament||v===wi.NoRecognition?"#FFFFFF":Gc((m==null?void 0:m.filament_color)||"#000000")}return Gc(y)},d=m=>m?c(m)===wi.NoRecognition:!1,f=m=>{if(!m)return!1;const y=c(m);if(y===wi.NoFilament||y===wi.NoRecognition)return!1;const v=y===n.gFilamentType,E=n.gFilamentName&&fm(m.filament_name)===fm(n.gFilamentName);return v||E},h=m=>{if(!m)return"";const y=c(m);return y===wi.NoRecognition?"":m.status===Oo.Empty?i("multiColor.EmptyFilament"):y!==n.gFilamentType?i("multiColor.FilamentTypeNotMatch"):m.filament_name?m.filament_name:"-"},p=m=>{const y={padding:"8px",background:"#333334",textAlign:"center",width:"auto",minWidth:"80px",border:"1px solid black",whiteSpace:"nowrap",boxSizing:"border-box"};return m?c(m)!==n.gFilamentType?{...y,color:"#ff4d4f"}:{...y,color:"white"}:y},g=m=>{m.filament_color=yd(m.filament_color),r("mapping-update",m),r("close-popover")};return(m,y)=>{const v=Dp;return ne(),Te("div",QHe,[G("div",KHe,[(ne(!0),Te(Ft,null,Rr(o.value,(E,b)=>(ne(),Te("div",{key:b,class:"canvas-group"},[G("div",qHe,[(ne(!0),Te(Ft,null,Rr(s(Number(b)),(S,w)=>(ne(),Ze(v,{key:w,placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:12,disabled:!a(S),"popper-style":p(S)},{reference:Re(()=>[G("div",{class:je(["slot-item",{"transparent-bg":!1,"bordered-slot":d(S),"disabled-slot":!f(S)}]),style:Ut({"background-color":l(S),color:u(S)}),onClick:C=>f(S)?g(S):null},[G("div",eze,[G("div",tze,Ue(S?S.tray_id+1:b+(w+1)),1),G("div",nze,Ue(c(S)),1)])],14,$He)]),default:Re(()=>[yt(" "+Ue(h(S)),1)]),_:2},1032,["disabled","popper-style"]))),128))]),G("div",rze,"CANVAS-"+Ue(b),1)]))),128))])])}}}),oze=rr(ize,[["__scopeId","data-v-8578b5da"]]),sze={class:"all-container"},aze={class:"header-container"},cze={class:"btn-autofeed"},lze={class:"btn-container"},uze={class:"content-container"},dze=["onClick"],fze={class:"slot-dropdown"},hze={key:0,class:"empty-mapping-note font-size16"},pze={key:1,class:"note font-size12"},O1=4,mze=Je({__name:"tray-card-preview",props:{title:{default:""},existEmptyMapping:{type:Boolean,default:!1},canvas:{default:()=>({})}},emits:["mapping-update"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=se("#373737"),i=se(!1),o=se(!1),s=di(),a=async I=>{const O=!!I;o.value=!0;try{await s.setAutoFillFilamentCanvas(O)&&(i.value=O,Pe.log("设置自动续料开关",O))}catch(L){Pe.error("Failed to set auto-refill",L),i.value=!O}finally{o.value=!1}};Ye(()=>s.canvasAutoRefill,I=>{I!==void 0&&(i.value=I)},{immediate:!0});const{amsMappingInfoData:c}=Vt("amsMappingInfoData"),{canvasPreviewMap:l}=Vt("canvasPreviewMap"),{slotArray:u}=Vt("slotArray"),d=se([]),f=se(1),h=V(()=>Math.ceil(d.value.length/O1)),p=V(()=>{const I=(f.value-1)*O1,O=I+O1;return d.value.slice(I,O)}),g=()=>{f.value>1&&f.value--},m=()=>{f.value<h.value&&f.value++},y=()=>{f.value=1};Ye([l,()=>{var I;return(I=c.value)==null?void 0:I.ColorMapping}],([I,O])=>{try{pp()&&(d.value=I||[]),y()}catch(L){Pe.error("Error in filamentMap watch:",L),d.value=[]}},{immediate:!0});const v=I=>{if(!u.value||!I)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentColor)??""},E=I=>{if(!u.value||!I)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentType)??""},b=se([]);Ye(()=>{var I;return(I=c.value)==null?void 0:I.ColorMapping},I=>{I&&(b.value=new Array(O1).fill(!1))},{immediate:!0});const S=I=>{if(I===""||!u.value)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentName)??""},w=se(-1),C=I=>{{d.value[w.value].mapFilamentColor=I.filament_color,d.value[w.value].mapFilamentType=I.filament_type,d.value[w.value].mapFilamentName=I.filament_name,d.value[w.value].trayId=Number(I.tray_id),d.value[w.value].canvasId=0,d.value[w.value].isSuccess=!0,l.value[w.value].mapFilamentColor=I.filament_color,l.value[w.value].mapFilamentType=I.filament_type,l.value[w.value].mapFilamentName=I.filament_name,l.value[w.value].trayId=Number(I.tray_id),l.value[w.value].canvasId=0,l.value[w.value].isSuccess=!0;return}},_=I=>{const O=(f.value-1)*O1+I;w.value=O};return(I,O)=>{const L=Pn,R=Mw,F=pr,W=Dp;return ne(),Te("div",sze,[G("div",aze,[be(L,null,{default:Re(()=>[be(P(Fle))]),_:1}),G("div",cze,[G("span",null,Ue(I.$t("multiColor.autoFeed")),1),be(R,{modelValue:i.value,"onUpdate:modelValue":O[0]||(O[0]=J=>i.value=J),loading:o.value,onChange:a,"active-color":"#409EFF","inactive-color":"#DCDFE6"},null,8,["modelValue","loading"])]),G("div",lze,[be(F,{class:"icon-btn",onClick:g,disabled:f.value<=1},{default:Re(()=>[be(P(Hle))]),_:1},8,["disabled"]),G("span",null,Ue(f.value)+"/"+Ue(h.value),1),be(F,{class:"icon-btn",onClick:m,disabled:f.value>=h.value},{default:Re(()=>[be(P(Vle))]),_:1},8,["disabled"])])]),G("div",uze,[p.value&&p.value.length>0?(ne(),Te(Ft,{key:0},[(ne(!0),Te(Ft,null,Rr(p.value,(J,Y)=>(ne(),Te("div",{key:Y,class:"tray-container"},[J.gFilamentName?(ne(),Ze(W,{key:0,placement:"top",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,"popper-style":{padding:"8px",background:"#333334",color:"white",textAlign:"center",width:"100px",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("div",{class:"slot-type",style:Ut({backgroundColor:J.gFilamentColor,color:P(Gc)(J.gFilamentColor)})},Ue(J.gFilamentType),5)]),default:Re(()=>[yt(" "+Ue(J.gFilamentName),1)]),_:2},1024)):(ne(),Te("div",{key:1,class:"slot-type",style:Ut({backgroundColor:J.gFilamentColor,color:P(Gc)(J.gFilamentColor)})},Ue(J.gFilamentType),5)),be(P(Qle)),be(W,{placement:P(n)?"bottom":"left",visible:b.value[Y],"onUpdate:visible":M=>b.value[Y]=M,trigger:"click",width:300,"popper-style":{padding:"8px",background:"#434343"}},{reference:Re(()=>[G("div",{class:"slot-id-container",style:Ut({backgroundColor:J.mapFilamentColor?J.mapFilamentColor:r.value,color:P(Gc)(J.mapFilamentColor)}),onClick:M=>_(Y)},[P(pp)()&&!J.isSuccess?(ne(),Te(Ft,{key:0},[],64)):(ne(),Te(Ft,{key:1},[G("span",null,Ue(J.trayId+1),1),G("div",null,[be(P($le),{class:"arrow-down hor-line",style:Ut({"--fill-color":P(Gc)(J.mapFilamentColor)})},null,8,["style"])]),be(W,{placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:22,"popper-style":{padding:"8px",background:"#333334",color:"white",textAlign:"center",width:"100px",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("span",null,Ue(J.mapFilamentType),1)]),default:Re(()=>[yt(" "+Ue(J.mapFilamentName),1)]),_:2},1024)],64)),G("div",fze,[be(P(qW),{class:"arrow-down",style:Ut({"--fill-color":P(Gc)(J.mapFilamentColor)})},null,8,["style"])])],12,dze)]),default:Re(()=>[be(oze,{canvas:I.canvas,gFilamentType:J.gFilamentType,gFilamentName:J.gFilamentName,onMappingUpdate:C,onClosePopover:M=>b.value[Y]=!1},null,8,["canvas","gFilamentType","gFilamentName","onClosePopover"])]),_:2},1032,["placement","visible","onUpdate:visible"])]))),128)),p.value.length<4?(ne(!0),Te(Ft,{key:0},Rr(4-p.value.length,J=>(ne(),Te("div",{key:"filler-"+J,class:"tray-container tray-placeholder"}))),128)):Ke("",!0)],64)):Ke("",!0)]),I.existEmptyMapping?(ne(),Te("div",hze,[G("span",null,Ue(I.$t("multiColor.existEmptyMappingNote")),1)])):(ne(),Te("div",pze,[G("span",null,Ue(I.$t("multiColor.selectCANVASNote")),1)]))])}}}),gze=rr(mze,[["__scopeId","data-v-cf19f61d"]]),vze={class:"myDialogHeader"},yze={class:"print-task-content"},Eze={class:"file-info"},bze={class:"model-preview"},Sze=["src"],Aze={class:"print-info"},Cze={class:"info-group"},wze={class:"print-time"},Tze={class:"info-group"},Ize={class:"material-weight"},Pze={class:"info-group"},Oze={class:"material-weight"},_ze={class:"print-bed-options"},Rze={class:"target-checkbox"},kze={class:"label-text"},xze={key:0,class:"target-checkbox"},Dze={class:"label-text"},Lze={class:"target-checkbox"},Nze={class:"label-text"},Mze={class:"bottom-container"},Bze=768,Fze=Je({__name:"print-preview",props:{modelValue:Boolean,fileData:{type:Object,default:()=>({name:"",previewImage:"",printTime:"",materialWeight:"",TotalLayers:0})},canvas:{type:Object,default:()=>({})}},emits:["confirm-print","ams-confirm-print","update:modelValue","confirm-print-mqtt"],setup(e,{emit:t}){Dre(R=>({"52b48529":I.value}));const n=di(),r=e,i=V(()=>n.canvasConnected??!1),{amsMappingInfoData:o}=Vt("amsMappingInfoData"),{canvasPreviewMap:s}=Vt("canvasPreviewMap"),a=()=>s.value.findIndex(R=>R.mapFilamentColor===""),c=se(!1),l=V(()=>{const R=r.fileData.materialWeight,F=typeof R=="number"?R:Number(R);return Number.isNaN(F)?"--":F.toFixed(2)}),u=t,d=se({timeLapse:!1,bedLeveling:!1,openCANVAS:!0,selectedBed:"A"});let f=null;const h=se(!1),p=se(window.innerWidth),g=V(()=>p.value>=Bze?"calc(50vh - 380px)":"5vh"),m=()=>{p.value=window.innerWidth};ln(()=>{window.addEventListener("resize",m)}),xi(()=>{window.removeEventListener("resize",m)});const y=V({get:()=>r.modelValue,set:R=>u("update:modelValue",R)}),v=se(!0),E=()=>{h.value||(v.value=!1)};Ye(()=>r.fileData.previewImage,()=>{v.value=!0});const b=()=>{d.value.timeLapse=!1,d.value.bedLeveling=!1,d.value.openCANVAS=!0,d.value.selectedBed="A",c.value=!1,I.value=_.value};Ye(()=>y.value,R=>{R?(h.value=!1,f!==null&&(clearTimeout(f),f=null)):(h.value=!0,f!==null&&clearTimeout(f),f=window.setTimeout(()=>{b(),f=null},500))});const S=()=>{if(i.value){if(a()!==-1){c.value=!0;return}{const R={filename:r.fileData.name,storage_media:xn.Local,config:{delay_video:d.value.timeLapse,printer_check:d.value.bedLeveling,print_layout:d.value.selectedBed,bedlevel_force:!1,slot_map:s.value.map(F=>({t:F.t,canvas_id:F.canvasId,tray_id:F.trayId}))}};Pe.log("MQTT多色打印",JSON.parse(JSON.stringify(R))),u("confirm-print-mqtt",R)}}else{const R={filename:r.fileData.name,storage_media:xn.Local,config:{delay_video:d.value.timeLapse,printer_check:d.value.bedLeveling,print_layout:d.value.selectedBed}};Pe.log("MQTT单色打印",R),u("confirm-print-mqtt",R)}y.value=!1},w=()=>{y.value=!1},C=R=>`data:image/png;base64,${R}`,_=se("#333334"),I=se("#333334"),O=R=>{const F=performance.now();I9e(R.target).then(W=>{const J=P9e(I.value,W);if(Pe.log("色差距离:",J,"颜色1:",I.value,"颜色2:",W),J<1.2){const M=Xn(W).luminance()>.5?"#1c1c1d":"#585858";Pe.log(`颜色太相似 (ΔE=${J}),自动选择对比色: ${M}`),I.value=M}}).catch(W=>{Pe.error("Failed to get or analyze main color of image:",W),I.value=_.value}).finally(()=>{const J=performance.now()-F;Pe.log(`[性能统计] 模型图/背景色色差分析总耗时: ${J.toFixed(2)}ms`)})};function L(R){Pe.log("映射更新,选择的颜色:",R)}return(R,F)=>{const W=pr,J=WG,Y=zG,M=Zd;return ne(),Ze(M,{modelValue:y.value,"onUpdate:modelValue":F[4]||(F[4]=B=>y.value=B),"show-close":!1,width:"auto",top:g.value,style:Ut({backgroundColor:_.value,padding:"0px 0px 6px",maxWidth:i.value?"446px":"420px",minWidth:"100px",borderRadius:"4px",overflow:"hidden"})},{header:Re(()=>[G("div",vze,[G("span",null,Ue(R.$t("sendPrintTask")),1),be(W,{class:"close-dialog-btn",type:"info",onClick:w,size:"small"},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",yze,[G("div",Eze,Ue(P(mp)(e.fileData.name)),1),G("div",bze,[vn(G("img",{src:C(e.fileData.previewImage),alt:"模型预览",class:"model-image",onError:E,onLoad:O},null,40,Sze),[[_r,v.value]]),vn(be(P(oue),{class:"model-image"},null,512),[[_r,!v.value&&!h.value]])]),G("div",Aze,[G("div",Cze,[be(P(Rce)),G("span",wze," "+Ue(e.fileData.printTime||"--"),1)]),G("div",Tze,[be(P(Dce)),G("span",Ize," "+Ue(l.value)+"g",1)]),G("div",Pze,[be(P(Zle)),G("span",Oze," "+Ue(e.fileData.totalLayers),1)])]),vn(be(gze,{existEmptyMapping:c.value,canvas:e.canvas,onMappingUpdate:L},null,8,["existEmptyMapping","canvas"]),[[_r,i.value]]),G("div",_ze,[be(Y,{modelValue:d.value.selectedBed,"onUpdate:modelValue":F[0]||(F[0]=B=>d.value.selectedBed=B)},{default:Re(()=>[be(J,{value:"A"},{default:Re(()=>[yt(Ue(R.$t("texturedPlate")),1)]),_:1}),be(J,{value:"B"},{default:Re(()=>[yt(Ue(R.$t("smoothPlate")),1)]),_:1})]),_:1},8,["modelValue"])]),G("div",{class:je(["print-options",{"two-options":!0}])},[vn(G("label",Rze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[1]||(F[1]=B=>d.value.openCANVAS=B)},null,512),[[Y0,d.value.openCANVAS]]),F[5]||(F[5]=G("span",{class:"checkmark"},null,-1)),G("span",kze,Ue(R.$t("multiColor.openCANVAS")),1)],512),[[_r,!1]]),!P(jn)()&&P(n).isCameraUpgraded?(ne(),Te("label",xze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[2]||(F[2]=B=>d.value.timeLapse=B)},null,512),[[Y0,d.value.timeLapse]]),F[6]||(F[6]=G("span",{class:"checkmark"},null,-1)),G("span",Dze,Ue(R.$t("timeLapse")),1)])):Ke("",!0),G("label",Lze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[3]||(F[3]=B=>d.value.bedLeveling=B)},null,512),[[Y0,d.value.bedLeveling]]),F[7]||(F[7]=G("span",{class:"checkmark"},null,-1)),G("span",Nze,Ue(R.$t("bedLeveling")),1)])])]),G("div",Mze,[be(W,{class:"cancel-btn",onClick:w},{default:Re(()=>[yt(Ue(R.$t("buttons.cancel")),1)]),_:1}),be(W,{class:"confirm-btn",type:"primary",onClick:S},{default:Re(()=>[yt(Ue(R.$t("buttons.print")),1)]),_:1})])]),_:1},8,["modelValue","top","style"])}}}),Tee=rr(Fze,[["__scopeId","data-v-e2c0238c"]]),Uze=Je({__name:"customLoading",setup(e){return(t,n)=>{const r=Pn;return ne(),Ze(r,{class:"is-loading"},{default:Re(()=>[be(P(dl))]),_:1})}}});class jze{static hexToRgb(t){const n=t.replace(/^#/,"");if(!/^([0-9A-Fa-f]{3}){1,2}$/.test(n))return console.error(`[ColorTool] 无效的十六进制颜色:${t},请传入如#FF6464或FF6464的格式`),null;const r=n.length===3?n.split("").map(a=>a.repeat(2)).join(""):n,i=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),s=parseInt(r.slice(4,6),16);return[i,o,s]}static normalizeRgb(t,n=16){const r=t.map(o=>Math.max(0,Math.min(255,o))),i=255/(n-1);return r.map(o=>Math.round(o/i)*i)}static rgbToHsv(t,n,r){const i=t/255,o=n/255,s=r/255,a=Math.max(i,o,s),c=Math.min(i,o,s);let l=0,u=0;const d=a*100,f=a-c;if(a!==0&&(u=f/a*100),f!==0){switch(a){case i:l=(o-s)/f+(o<s?6:0);break;case o:l=(s-i)/f+2;break;case s:l=(i-o)/f+4;break}l=l/6*360}return[l,u,d]}static isSimilar(t,n,r={}){const{threshold:i=11,blackLevel1:o=15,blackLevel2:s=50,level1Compensation:a=.2,level2Compensation:c=.7,gradientFactor:l=.5,greenHueRange:u=[60,160],greenThreshold:d=20,redOrangeRange:f=[0,40],redOrangeThreshold:h=8,highBrightnessThreshold:p=80,lowSaturationThreshold:g=20}=r;let m,y;if(typeof t=="string"?m=this.hexToRgb(t):m=Array.isArray(t)&&t.length===3?t:null,typeof n=="string"?y=this.hexToRgb(n):y=Array.isArray(n)&&n.length===3?n:null,!m||!y)return{isSimilar:!1,difference:1/0,category:"invalid"};const v=(m[0]+m[1]+m[2])/3,E=(y[0]+y[1]+y[2])/3,b=Math.abs(v-E),[S,w,C]=this.rgbToHsv(...m),[_,I,O]=this.rgbToHsv(...y);let L="normal";const R=v<=o&&E<=o,F=!R&&v<=s&&E<=s,W=S>=u[0]&&S<=u[1]&&_>=u[0]&&_<=u[1]&&w>=g&&I>=g,J=S>=f[0]&&S<=f[1]&&_>=f[0]&&_<=f[1]&&w>=g&&I>=g,Y=C>=p&&O>=p,M=w<g||I<g;R?L="pure-black":F?L="dark-gray":W?L="green":J?L="red-orange":Y?L="high-brightness":M&&(L="low-saturation");let B;if(F){const A=1-Math.min(v,E)/s*l,T=Math.abs(m[0]-y[0]),k=Math.abs(m[1]-y[1]),j=Math.abs(m[2]-y[2]);B=(T*.35+k*.2+j*.35+b*.1)*c*A}else if(R){const z=Math.abs(m[0]-y[0]),A=Math.abs(m[1]-y[1]),T=Math.abs(m[2]-y[2]);B=(z*.3+A*.2+T*.3+b*.2)*a}else if(W){const z=Math.min(Math.abs(S-_),360-Math.abs(S-_))/2,A=Math.abs(w-I),T=Math.abs(C-O),k=1+T/100*.8;B=Math.sqrt(.6*z*z+.1*A*A+.3*T*T)/k}else if(J){const z=Math.min(Math.abs(S-_),360-Math.abs(S-_))/2,A=Math.abs(w-I),T=Math.abs(C-O);B=Math.sqrt(.7*z*z+.2*A*A+.1*T*T)}else if(Y){const z=Math.min(Math.abs(S-_),360-Math.abs(S-_))/2,A=Math.abs(w-I),T=Math.abs(C-O);B=.5*z+.3*A+.2*T}else if(M){const z=Math.abs(C-O),A=Math.sqrt(Math.pow(m[0]-y[0],2)+Math.pow(m[1]-y[1],2)+Math.pow(m[2]-y[2],2));B=z*.7+A*.3}else{const z=Math.min(Math.abs(S-_),360-Math.abs(S-_))/2,A=Math.abs(w-I),T=Math.abs(C-O);B=Math.sqrt(.5*z*z+.3*A*A+.2*T*T)}let q;return W?q=B<d:J?q=B<h:q=B<i,{isSimilar:q,difference:parseFloat(B.toFixed(2)),category:L}}}const Hze=[{colorName:"white",colorHex:"#FFFFFF"},{colorName:"yellow",colorHex:"#FFF242"},{colorName:"light_yellow_green",colorHex:"#DBF47A"},{colorName:"green",colorHex:"#09CC3A"},{colorName:"dark_green",colorHex:"#077747"},{colorName:"blue_green",colorHex:"#0B6283"},{colorName:"cyan_green",colorHex:"#0BE2A0"},{colorName:"sky_blue",colorHex:"#74D9F3"},{colorName:"light_blue",colorHex:"#48A7FA"},{colorName:"dark_blue",colorHex:"#2850DF"},{colorName:"purple",colorHex:"#433089"},{colorName:"light_purple",colorHex:"#A03BF7"},{colorName:"pink_purple",colorHex:"#F32FF8"},{colorName:"light_pink_purple",colorHex:"#D4B1DD"},{colorName:"pink",colorHex:"#F95D77"},{colorName:"red",colorHex:"#F72221"},{colorName:"brown",colorHex:"#7C4C00"},{colorName:"orange",colorHex:"#F88D36"},{colorName:"beige",colorHex:"#FCEBD7"},{colorName:"light_brown",colorHex:"#D2C5A3"},{colorName:"dark_brown",colorHex:"#AF7832"},{colorName:"dark_gray",colorHex:"#898989"},{colorName:"light_gray",colorHex:"#BCBCBC"},{colorName:"black",colorHex:"#000000"}];function VE(e){const t=e/255;return t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92}function vH(e,t,n){const r=VE(e),i=VE(t),o=VE(n),s=r*.4124564+i*.3575761+o*.1804375,a=r*.2126729+i*.7151522+o*.072175,c=r*.0193339+i*.119192+o*.9503041;return[s*100,a*100,c*100]}function yH(e,t,n){const s=e/95.047,a=t/100,c=n/108.883,l=.008856,u=903.3,d=s>l?Math.cbrt(s):(u*s+16)/116,f=a>l?Math.cbrt(a):(u*a+16)/116,h=c>l?Math.cbrt(c):(u*c+16)/116,p=116*f-16,g=500*(d-f),m=200*(f-h);return[p,g,m]}function EH(e){if(!e||!/^#?[0-9A-Fa-f]{3}([0-9A-Fa-f]{3})?$/.test(e))return null;const t=jze.hexToRgb(e);return t||null}function zze(e,t,n,r,i,o){const s=Math.sqrt(t*t+n*n),a=Math.sqrt(i*i+o*o),c=(s+a)/2,l=.5*(1-Math.sqrt(Math.pow(c,7)/(Math.pow(c,7)+Math.pow(25,7)))),u=(1+l)*t,d=(1+l)*i,f=Math.sqrt(u*u+n*n),h=Math.sqrt(d*d+o*o);let p=Math.atan2(n,u)*180/Math.PI,g=Math.atan2(o,d)*180/Math.PI;p<0&&(p+=360),g<0&&(g+=360);const m=r-e,y=h-f;let v=g-p;v>180&&(v-=360),v<-180&&(v+=360);const E=2*Math.sqrt(f*h)*Math.sin(v*Math.PI/360),b=(e+r)/2,S=(f+h)/2;let w=(p+g)/2;Math.abs(p-g)>180&&(w+=180),w>360&&(w-=360);const C=1-.17*Math.cos((w-30)*Math.PI/180)+.24*Math.cos(2*w*Math.PI/180)+.32*Math.cos((3*w+6)*Math.PI/180)-.2*Math.cos((4*w-63)*Math.PI/180),_=30*Math.exp(-Math.pow((w-275)/25,2)),I=2*Math.sqrt(Math.pow(S,7)/(Math.pow(S,7)+Math.pow(25,7))),O=1+.015*Math.pow(b-50,2)/Math.sqrt(20+Math.pow(b-50,2)),L=1+.045*S,R=1+.015*S*C,F=-Math.sin(2*_*Math.PI/180)*I,W=1,J=1,Y=1;return Math.sqrt(Math.pow(m/(W*O),2)+Math.pow(y/(J*L),2)+Math.pow(E/(Y*R),2)+F*(y/(J*L))*(E/(Y*R)))}function Wze(e,t=50){const n=EH(e);if(!n)return null;const[r,i,o]=vH(n[0],n[1],n[2]),[s,a,c]=yH(r,i,o);let l=Number.POSITIVE_INFINITY,u=null;for(const d of Hze){const f=EH(d.colorHex);if(!f)continue;const[h,p,g]=vH(f[0],f[1],f[2]),[m,y,v]=yH(h,p,g),E=zze(s,a,c,m,y,v);E<l&&(l=E,u=d)}return u&&l<t?{name:u.colorName,hex:u.colorHex,deltaE:parseFloat(l.toFixed(4))}:null}const Ya=20;var Ai=(e=>(e.File="file",e.PrintHistory="printHistory",e.UDisk="UDisk",e))(Ai||{});function Vze(){const{t:e}=Eo(),t=El(),n=di(),r=n,i=se([]),o=se([]),s=se(""),a=se(""),c=se(""),l=se(!1),u=se(1),d=se(50),f=se(1),h=se(50),p=se("/"),g=se(0),m=se(0),y=se({}),v=se(new Map),E=se(new Map),b=se(new Map),S=se(new Map),w=se(!1),C=se(null),_=se(!1),I=se(!1),O=se(!1),L=()=>{C.value||(C.value=Zt({message:e("toastMessages.loadingData"),type:"info",duration:0,icon:hn(Uze),dangerouslyUseHTMLString:!0}))},R=()=>{C.value&&(C.value.close(),C.value=null)};xi(()=>{R()}),ln(()=>{var ue,Ee;j.value.length===0&&L(),Ye(()=>{var He,Xe;return(Xe=(He=n.deviceStatus)==null?void 0:He.external_device)==null?void 0:Xe.u_disk},He=>{He!==void 0&&(Pe.log("u盘状态发生变化",He),E.value.clear(),b.value.clear(),S.value.clear(),o.value=[],f.value=1,h.value=50,m.value=0,p.value="/",K(xn.UDisk,"/"))}),Ye(()=>n.isRegisterSuccess,He=>{He&&(K(xn.Local),Ie())}),((Ee=(ue=n.deviceStatus)==null?void 0:ue.external_device)==null?void 0:Ee.u_disk)&&(p.value="/",K(xn.UDisk,"/",0,Ya))}),se([]);const F=se("file"),W=V(()=>r.status),J=V(()=>n.subStatus);Ye(W,ue=>{(ue===wt.Completed||ue===wt.Stopped)&&(L(),K(xn.Local),setTimeout(()=>{K(xn.UDisk,"/")},1e3),Ie())},{immediate:!0}),Ye(J,ue=>{(ue===De.PrintComplete||ue===De.Stopped)&&(Pe.log("打印完成或停止5s后刷新历史任务列表..."),setTimeout(()=>{Ie()},4e3),K(xn.Local),setTimeout(()=>{K(xn.UDisk,"/")},1e3),Pe.log("打印完成或停止,清空当前打印缩略图..."),n.currentThumbnail="")}),Ye(()=>n.status,(ue,Ee)=>{Ee===Ge.FileSending&&ue!==Ge.FileSending&&(Pe.log("[ALL]旧状态-文件传输中,新状态-非文件传输中2s后将刷新文件列表..."),ce(xn.Local),setTimeout(async()=>{var He;if(await K(xn.Local),Pe.log("[ALL]刷新文件列表成功"),n.isPrinting){const Xe=(He=n.printerInfo)==null?void 0:He.filename;if(Xe&&!i.value.some(qe=>qe.filename===Xe)){for(let We=1;We<=3;We++)if(await new Promise(ht=>setTimeout(ht,1e3)),ce(xn.Local),Pe.log(`[ALL]第${We}次刷新本地文件列表...`),await K(xn.Local),i.value.some(ht=>ht.filename===Xe)){Pe.log("[ALL]找到文件,停止重试");return}Pe.log("[ALL]重试3次后仍未找到文件")}}},1e3))});const Y=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted||n.isMainLoading&&n.isLoadCompleteCanvas||n.isMainUnLoading&&n.isEjectFilamentComplete||n.isMainAutoLevel&&n.isAutoLevelingComplete||n.isMainPid&&n.isPidCompleted||n.isMainResonanceTesting&&n.isResonanceCompleted||n.isMainHoming&&n.isHomed)),M=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted||n.isMainUnLoading&&n.isEjectFilamentComplete||n.isMainLoading&&n.isLoadCompleteCanvas||n.isMainAutoLevel&&n.isAutoLevelingComplete||n.isMainPid&&n.isPidCompleted||n.isMainResonanceTesting&&n.isResonanceCompleted||n.isMainHoming&&n.isHomed)),B=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted)),q=V(()=>!n.isIdle),z=V(()=>n.isPrinting),A=V(()=>!n.isIdle),T=V(()=>!n.isIdle),k=V(()=>n.historytaskDetails),j=V(()=>{{const ue=[];return F.value==="file"||F.value==="printHistory"?i.value&&i.value.length>0&&ue.push(...i.value.map(Ee=>({name:Ee.filename,usedSize:0,totalSize:0,storageType:0,type:1,CreateTime:Ee.create_time??0,FileSize:Ee.size??0,Thumbnail:"",LayerHeight:Ee.layer??0,TotalLayers:Ee.layer??0,EstFilamentLength:Ee.total_filament_used??0}))):F.value==="UDisk"&&o.value&&o.value.length>0&&ue.push(...o.value.map(Ee=>({name:Ee.filename,usedSize:0,totalSize:0,storageType:1,type:1,CreateTime:Ee.create_time??0,FileSize:Ee.size??0,Thumbnail:"",LayerHeight:Ee.layer??0,TotalLayers:Ee.layer??0,EstFilamentLength:Ee.total_filament_used??0}))),ue}});Ye(j,ue=>{ue&&ue.length>0&&R()}),Ye(w,ue=>{ue&&R()});const re=V(()=>n.canvas),me=se([]);Ye(()=>{var ue,Ee;return(Ee=(ue=re.value)==null?void 0:ue.canvas_info)==null?void 0:Ee.canvas_list},(ue,Ee)=>{if(!ue&&!Ee)return;if(!ue||!Ee){Pe.log("canvas_list信息发生变化空值变化",ue),me.value=ue||[];return}if(ue.length!==Ee.length){Pe.log("canvas_list信息发生变化长度变化",ue),me.value=ue;return}const He=JSON.stringify(ue),Xe=JSON.stringify(Ee);He!==Xe&&(Pe.log("canvas_list信息发生变化内容变化",ue),me.value=ue)},{deep:!0});const te=V(()=>{var He,Xe,qe,It,We;const ue=[];if(!ee.value.color_map||!me.value||me.value.length===0)return Pe.warn("缺少Gcode文件多色信息或多色耗材信息为空无法进行多色映射"),ue;const Ee=[];for(const $e of me.value)if($e!=null&&$e.tray_list)for(const ht of $e.tray_list)Ee.push({canvasId:$e.canvas_id||0,tray:ht});for(let $e=0;$e<ee.value.color_map.length;$e++){const ht=ee.value.color_map[$e];let Ht=!1,_t="无",qt=null,nn=null,kn=!1;const Jn=ht.color,oi=fm(ht.name);for(const{canvasId:Se,tray:Oe}of Ee){const ct=Oe.filament_color||"",gt=fm(Oe.filament_name),Et=Oe.status===Oo.Empty;if(Jn&&ct&&Jn.toLowerCase()===ct.toLowerCase()&&oi&&gt&&oi===gt&&!Et){ue.push({t:ht.t,gFilamentColor:ht.color,gFilamentType:((He=Pi(ht.name))==null?void 0:He.type)||"",gFilamentName:ht.name,canvasId:Se,trayId:Oe.tray_id||0,mapFilamentName:Oe.filament_name||"",mapFilamentColor:Oe.filament_color||"",mapFilamentType:Oe.filament_type||"",isSuccess:!0}),Ht=!0,_t="绝对-名称",kn=!0;break}}if(!Ht)for(const{canvasId:Se,tray:Oe}of Ee){const ct=Oe.filament_color||"",gt=Oe.status===Oo.Empty,Et=Oe.filament_type||"",$n=((Xe=Pi(ht.name))==null?void 0:Xe.type)||"";if(Jn&&ct&&Jn.toLowerCase()===ct.toLowerCase()&&$n&&Et&&$n===Et&&!gt){ue.push({t:ht.t,gFilamentColor:ht.color,gFilamentType:$n,gFilamentName:ht.name,canvasId:Se,trayId:Oe.tray_id||0,mapFilamentName:Oe.filament_name||"",mapFilamentColor:Oe.filament_color||"",mapFilamentType:Et,isSuccess:!0}),Ht=!0,_t="绝对-类型",kn=!0;break}}if(Pe.log("gcodeNormName============:",oi),!Ht){const Se=Wze(Jn)||null;Se&&(qt=Se.name,nn=Se.hex);for(const{canvasId:Oe,tray:ct}of Ee){const gt=yd(ct.filament_color||""),Et=fm(ct.filament_name),$n=ct.status===Oo.Empty;if(Et&&!(oi&&oi!==Et)&&!(!Jn||!gt)&&gt===nn&&!$n){ue.push({t:ht.t,gFilamentColor:ht.color,gFilamentType:((qe=Pi(ht.name))==null?void 0:qe.type)||"",gFilamentName:ht.name,canvasId:Oe,trayId:ct.tray_id||0,mapFilamentName:ct.filament_name||"",mapFilamentColor:ct.filament_color||"",mapFilamentType:ct.filament_type||"",isSuccess:!0}),Ht=!0,_t="相似-名称",kn=!0;break}}}if(!Ht)for(const{canvasId:Se,tray:Oe}of Ee){const ct=yd(Oe.filament_color||""),gt=Oe.status===Oo.Empty,Et=Oe.filament_type||"",$n=((It=Pi(ht.name))==null?void 0:It.type)||"";if(!(!Jn||!ct)&&!($n&&Et&&$n!==Et)&&ct===nn&&!gt){ue.push({t:ht.t,gFilamentColor:ht.color,gFilamentType:$n,gFilamentName:ht.name,canvasId:Se,trayId:Oe.tray_id||0,mapFilamentName:Oe.filament_name||"",mapFilamentColor:Oe.filament_color||"",mapFilamentType:Et,isSuccess:!0}),Ht=!0,_t="相似-类型",kn=!0;break}}Ht||ue.push({t:ht.t,gFilamentColor:ht.color,gFilamentType:((We=Pi(ht.name))==null?void 0:We.type)||"",gFilamentName:ht.name,canvasId:-1,trayId:-1,mapFilamentName:"",mapFilamentColor:"",mapFilamentType:"",isSuccess:!1}),Pe.log("AI颜色映射 - 单色结果",{colorIndex:$e,gcodeName:ht.name,gcodeHex:Jn,gcodeNormName:oi,matchType:_t,standardName:qt,standardHex:nn,isMappedToTray:kn})}return ue}),X=V(()=>t.amsMappingInfoData),fe=()=>{const ue={FilePath:"xxxxx"};return t.getAmsMappingInfo(ue)},le=V(()=>t.mockAmsInfo1),ve=V(()=>{var Ee;const ue=[];return(Ee=le.value)!=null&&Ee.AmsBoxs&&le.value.AmsBoxs.forEach((He,Xe)=>{He!=null&&He.TrayList&&He.TrayList.forEach((qe,It)=>{ue.push(qe)})}),ue});ui("amsMappingInfoData",{amsMappingInfoData:X}),ui("slotArray",{slotArray:ve});const Z=V(()=>te.value);ui("canvasPreviewMap",{canvasPreviewMap:Z});const ae=V(()=>{{const ue=k.value||[],Ee=j.value||[],He=new Map(Ee.map(qe=>[qe.name,{exists:!0,TotalLayers:qe.TotalLayers}]));return ue.map(qe=>{var It;return{Thumbnail:"",TaskName:qe.task_name,BeginTime:qe.begin_time,EndTime:qe.end_time,TaskStatus:qe.task_status,SliceInformation:{},AlreadyPrintLayer:0,TaskId:qe.task_id,MD5:"",CurrentLayerTalVolume:0,TimeLapseVideoStatus:qe.time_lapse_video_status,TimeLapseVideoUrl:qe.time_lapse_video_url,TimeLapseVideoSize:qe.time_lapse_video_size,TimeLapseVideoDuration:qe.time_lapse_video_duration,ErrorStatusReason:0,noExistPrintFile:!He.has(qe.task_name),TotalLayers:(It=He.get(qe.task_name))==null?void 0:It.TotalLayers}})}}),pe=async(ue,Ee)=>{{if(_.value)return;if(Ee=="back"){if(p.value=="/")return;const Xe=p.value.split("/").filter(qe=>qe);Xe.length>0&&(Xe.pop(),p.value=Xe.length>0?"/"+Xe.join("/")+"/":"/")}else{if(p.value.split("/").length>6){Pe.warn("U盘层级大于5级不允许进入下一级",p.value),Lt(xt.CustomMessage,0,"error",e("toastMessages.UDiskLevelTooDeep"));return}p.value=p.value+ue+"/"}f.value=1;const He=p.value||"/";b.value.has(He)?h.value=b.value.get(He):h.value=1,S.value.has(He)?m.value=S.value.get(He):m.value=0,Pe.log("当前文件夹路径:",p.value),K(xn.UDisk,p.value,0,Ya)}},K=async(ue=xn.Local,Ee,He=0,Xe=Ya)=>{var qe,It;if(ue==xn.Local){const We=Math.floor(He/Ya)+1;if(u.value=We,v.value.has(We)){Pe.log("使用本地文件缓存,页码:",We),i.value=v.value.get(We),O.value=!0;return}if(He>g.value){O.value=!0;return}I.value=!0;let $e;try{$e=await n.getFileList(ue,Ee,He,Xe)}finally{I.value=!1,O.value=!0}if(w.value=$e.file_list.length===0,i.value=$e.file_list,((qe=$e.file_list)==null?void 0:qe.length)===0)d.value=1,g.value=0;else{const ht=$e.total??0;d.value=Math.max(1,Math.ceil(ht/Ya)),g.value=ht}v.value.set(We,$e.file_list),Pe.log("缓存本地文件数据,页码:",We),O.value=!0}else if(ue==xn.UDisk){const We=Math.floor(He/Ya)+1,$e=Ee||"/";if(E.value.has($e)&&E.value.get($e).has(We)&&(o.value=E.value.get($e).get(We),h.value=b.value.get($e),S.value.has($e)&&(m.value=S.value.get($e)),o.value.length!==0)){Pe.log("使用U盘文件缓存路径:",$e,"页码:",We),f.value=We;return}{const Ht=S.value.get($e)??m.value;if(He>Ht){Pe.log("下边界处理offset:",He,"totalForDir:",Ht);return}}_.value=!0;const ht=await n.getFileList(ue,Ee,He,Xe);if(_.value=!1,!ht.res)return;if(f.value=We,o.value=ht.file_list,((It=ht.file_list)==null?void 0:It.length)===0)h.value=1,b.value.set($e,1),m.value=0,S.value.set($e,0);else{const Ht=ht.total??0;h.value=Math.max(1,Math.ceil(Ht/Ya)),b.value.set($e,h.value),m.value=Ht,S.value.set($e,Ht)}{const Ht=o.value.filter(qt=>!qt.filename.toLowerCase().endsWith(".gcode")),_t=o.value.filter(qt=>qt.filename.toLowerCase().endsWith(".gcode"));o.value=[...Ht,..._t]}E.value.has($e)||E.value.set($e,new Map),E.value.get($e).set(We,o.value)}},ce=(ue,Ee)=>{ue===xn.Local?(v.value.clear(),Pe.log("清除本地文件缓存")):ue===xn.UDisk&&E.value.has("/")&&(E.value.get("/").clear(),Pe.log("清除U盘文件缓存路径:","/"))},ye=async(ue,Ee=xn.Local)=>{const He=[];He.push(ue),await n.deletePrintFile(He,Ee),ce(Ee),K(Ee)},ee=V(()=>n.previewFileDetail),$=async ue=>{if(ue===""){Pe.log("获取文件详情(单个)时,url为空!",ue);return}l.value=!1;{s.value=ue,a.value=ue;let Ee;if(F.value==="UDisk"?(c.value=await n.getFileThumbnail(ue,xn.UDisk,!1),Ee=await n.getFileDetail(ue,xn.UDisk,void 0,!0)):(c.value=await n.getFileThumbnail(ue,xn.Local,!1),Ee=await n.getFileDetail(ue,xn.Local,void 0,!0)),Ee.error_code!=_be)return;if(Array.isArray(n.previewFileDetail.color_map)&&n.previewFileDetail.color_map.length===0){Lt(xt.CustomMessage,0,"error",e("toastMessages.InvalidFile"));return}await Cn(),l.value=!0}},ge=V(()=>{{const ue=ee.value;return{Thumbnail:c.value,EstTime:(ue==null?void 0:ue.print_time)??0,EstWeight:(ue==null?void 0:ue.total_filament_used)??0}}}),ie=async ue=>{{const Ee=await n.getFileDetail(ue,xn.Local,void 0,!1);if(Ee.error_code!=0){Lt(xt.ErrorCodeAndCustom,Ee.error_code,"error",e("toastMessages.exportFileFailed"));return}qm(ue,df.Local)}},Ie=async()=>{await n.getPrintHistoryList()},Ce=async ue=>{const Ee=[];Ee.push(ue),await n.deletePrintHistory(Ee),Ie()},oe=()=>F.value=="UDisk"?xn.UDisk:xn.Local,Ne=async ue=>{ue.storage_media=oe(),y.value=ue,Pe.log("本次打印参数:",JSON.parse(JSON.stringify(y.value))),(await n.startPrint(ue)).error_code===Eh.BedMeshDataMissing&&(y.value.config.bedlevel_force=!0,Ne(y.value))},x=(ue,Ee)=>Ee?t.startPrintAmsWithMapping(ue):(t.curPrintFileName=mp(ue.Filename),t.startPrint(ue)),N=V(()=>F.value==="file"?u.value:F.value==="UDisk"?f.value:1),U=V(()=>F.value==="file"?d.value:F.value==="UDisk"?h.value:1),de=async(ue,Ee,He)=>{F.value==="file"?(d.value=Ee,await K(xn.Local,He,(ue-1)*Ya,Ya)):(h.value=Ee,await K(xn.UDisk,p.value,(ue-1)*Ya,Ya))},we=ue=>{const Ee=ue/1048576;let He=0;return Ee<20?He=1e3:Ee<100?He=3e3:Ee<500?He=3500:Ee<1e3?He=4500:He=5500,Math.max(1e3,Math.min(5500,He))};function Ae(ue){F.value=ue}return{onDeletePrintFile:ye,onGetPrintFileInfo:$,onConfirmPrint:x,onConfirmPrintMqtt:Ne,onDeletePrintHistory:Ce,getFileList:K,calculateProcessingTime:we,switchTab:Ae,onUploadError:ue=>{Pe.error("Upload failed:",ue)},onGetAmsMappingInfo:fe,onPageChange:de,onGetUDiskFileList:pe,canvas:re,fileListData:j,printHistoryTaskDetailData:ae,printFileInfoData:ge,btnDisabled:B,currentTab:F,historyListDisabledDeleteBtn:z,historyListDisabledExportBtn:A,fileListDisabledExportBtn:T,amsMappingInfoData:X,loadingMessage:C,ListTab:Ai,currentThumbnail:c,hasGetThumbnailSuccess:l,fileListPrintBtnDisabled:Y,currentPage:N,totalPages:U,currentFolderPath:p,importBtnDisabled:q,historyListPrintBtnDisabled:M,uDiskListLoading:_,localListLoading:I,localListFetched:O,onExportPrintFile:ie}}const Gze={class:"file-list-wrapper"},Jze={class:"file-list-container"},Zze={key:0,class:"table-loading-container"},Yze={class:"empty-state"},Xze={class:"empty-content"},Qze={class:"empty-title"},Kze={key:0,class:"table-expand-content"},qze={key:0,class:"pagination-container"},$ze={class:"page-input-wrapper"},eWe={class:"page-input-container bg-color"},tWe={class:"page-separator"},nWe="delete",rWe="deleteFile",iWe=Je({__name:"print-file-list",props:{fileList:{type:Array,default:()=>[]},amsMappingInfoData:{type:Object},printFileInfo:{type:Object,default:()=>({})},btnDisabled:{type:Boolean,default:!1},fileListDisabledExportBtn:{type:Boolean,default:!1},hasGetThumbnailSuccess:{type:Boolean,default:!1},fileListPrintBtnDisabled:{type:Boolean,default:!1},currentPageProp:{type:Number,default:1},totalPagesProp:{type:Number,default:1},currentFolderPath:{type:String,default:"/"},currentTab:{type:String,default:Ai.File},canvas:{type:Object,default:()=>({})},uDiskListLoading:{type:Boolean,default:!1},localListLoading:{type:Boolean,default:!1},localListFetched:{type:Boolean,default:!1}},emits:["start-print","export-printFile","delete-printFile","get-printFileInfo","confirm-print","get-amsMapping","prevFilePage","nextFilePage","pageChange","getFileList","confirm-print-mqtt"],setup(e,{emit:t}){const n=di(),{isMobile:r}=gs(),i=jn(),{t:o}=Eo(),s=e,a=t,c=se([]),l=se([]),u=se(!1),d=se(""),f=se(""),h=se(!1),p=se(!1),g=V(()=>o("dialogs.deleteFileConfirmation",{fileName:d.value})),m=V(()=>s.currentPageProp),y=V(()=>s.totalPagesProp),v=se(s.currentPageProp),E=se("back"),b=eo({name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:0}),S=fe=>s.btnDisabled,w=V(()=>s.currentTab===Ai.UDisk?l.value:c.value),C=V(()=>{const fe=[...s.fileList];if(s.currentTab===Ai.UDisk&&s.currentFolderPath!=="/"){const le={name:"..",FileSize:0,TotalLayers:0,CreateTime:0,EstFilamentLength:0,isBackRow:!0};fe.unshift(le)}return fe}),_=V(()=>s.currentTab===Ai.File&&(!s.localListFetched||s.localListLoading)),I=fe=>fe.name,O=fe=>!fe.endsWith(".gcode");function L(fe){if(fe<19693)return"--";const le=new Date(fe*1e3),ve=le.getFullYear(),Z=String(le.getMonth()+1).padStart(2,"0"),ae=String(le.getDate()).padStart(2,"0"),pe=String(le.getHours()).padStart(2,"0"),K=String(le.getMinutes()).padStart(2,"0"),ce=String(le.getSeconds()).padStart(2,"0");return`${ve}-${Z}-${ae} ${pe}:${K}:${ce}`}function R(fe){return fe===0?"-":fe.toString()}const F=fe=>{f.value=d.value,s.currentTab===Ai.UDisk&&s.currentFolderPath!=="/"?d.value=s.currentFolderPath+fe.name:d.value=fe.name,M.value=!0,a("get-printFileInfo",d.value),p.value=!0,B.value=!1},W=async fe=>{try{s.currentTab===Ai.UDisk?await qm(fe,df.Udisk):await qm(fe,df.Local)}catch(le){Pe.error("File export failed:",le)}},J=()=>{s.currentTab===Ai.UDisk?a("pageChange",m.value-1,y.value,s.currentFolderPath+s.currentFolderPath):a("pageChange",m.value-1,y.value)},Y=()=>{s.currentTab===Ai.UDisk?a("pageChange",m.value+1,y.value,s.currentFolderPath):a("pageChange",m.value+1,y.value)},M=se(!1),B=se(!1),q=()=>{h.value=!1,p.value=!1,M.value=!1,B.value=!1,d.value="",Object.assign(b,{name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:0})};Ye(()=>s.amsMappingInfoData,fe=>{!fe||!p.value||(M.value=!0,M.value&&B.value&&(h.value=!0,p.value=!1))});const z=fe=>{fe&&Object.assign(b,{name:d.value,previewImage:fe==null?void 0:fe.Thumbnail,printTime:fe!=null&&fe.EstTime?tZ(fe.EstTime):"00h 00m 00s",materialWeight:(fe==null?void 0:fe.EstWeight)??0})};Ye([()=>s.printFileInfo,()=>s.hasGetThumbnailSuccess],([fe])=>{!fe||!s.hasGetThumbnailSuccess||Object.keys(fe).length===0||!p.value||(z(fe),B.value=!0,M.value&&B.value&&(h.value=!0,p.value=!1))}),Ye(()=>h.value,fe=>{fe||q()}),Ye(()=>s.currentPageProp,fe=>{v.value=fe});const A=(fe,le)=>{a("confirm-print",fe,le)},T=fe=>{var le,ve;if(((ve=(le=n.deviceStatus)==null?void 0:le.extruder)==null?void 0:ve.filament_detected)===$C.NoFilament&&!n.canvasConnected){Lt(xt.CustomMessage,0,"error",o("toastMessages.noFilamentDetected"));return}a("confirm-print-mqtt",fe)},k=fe=>{if(fe.isBackRow){if(E.value="back",s.currentTab===Ai.UDisk&&s.uDiskListLoading){Pe.log("U盘加载中时忽略点击");return}a("getFileList",s.currentFolderPath,"back");return}if(O(fe.name)){if(E.value="forward",s.currentTab===Ai.UDisk&&s.uDiskListLoading)return;a("getFileList",fe.name,E.value);return}const le=fe.name;b.totalLayers=fe.TotalLayers;const ve=s.currentTab===Ai.UDisk?l:c;ve.value.includes(le)?ve.value=[]:ve.value=[le]};function j(fe){d.value=fe.name,u.value=!0}function re(){d.value&&(a("delete-printFile",d.value),u.value=!1)}const me=fe=>{const Z=fe.target.value.replace(/[^0-9]/g,"");v.value=parseInt(Z)},te=()=>{const fe=parseInt(v.value.toString())||1,le=Math.max(1,Math.min(fe,y.value));v.value=le,a("pageChange",le,y.value)},X=()=>{var fe,le;{if(s.currentTab===Ai.UDisk&&!n.isUDiskInserted)return o("table.emptyState.noUdisk");if(s.currentTab===Ai.UDisk&&((le=(fe=n.deviceStatus)==null?void 0:fe.external_device)!=null&&le.u_disk)&&n.printerBusy)return o("table.emptyState.loadingFile");if(s.currentTab===Ai.File)return o("table.emptyState.noFile")}return o("table.emptyState.noFile")};return(fe,le)=>{const ve=Pn,Z=pr,ae=Ww,pe=zw;return ne(),Te("div",Gze,[G("div",Jze,[_.value?(ne(),Te("div",Zze,[be(ve,{class:"table-loading-icon is-loading"},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Ze(pe,{key:1,data:C.value,class:je(["uniform-table",{"mobile-uniform-table":P(r)}]),"expand-row-keys":w.value,onRowClick:k,"row-key":I},{empty:Re(()=>[G("div",Yze,[e.currentTab===P(Ai).UDisk&&!P(n).isUDiskInserted?(ne(),Ze(P(yue),{key:0,class:"empty-icon"})):e.currentTab===P(Ai).File&&!_.value?(ne(),Ze(P(jO),{key:1,class:"empty-icon"})):e.currentTab===P(Ai).UDisk&&P(n).printerBusy?(ne(),Ze(P(Z3),{key:2,class:"empty-Loading-icon spin"})):e.currentTab===P(Ai).UDisk&&!e.uDiskListLoading?(ne(),Ze(P(jO),{key:3,class:"empty-icon"})):Ke("",!0),G("div",Xze,[G("h3",Qze,Ue(X()),1)])])]),default:Re(()=>[be(ae,{type:"expand",width:"1","expand-row-keys":w.value,"row-key":I},{default:Re(({row:K})=>[!O(K.name)&&!K.isBackRow?(ne(),Te("div",Kze,[be(Z,{type:"primary",onClick:ce=>F(K),disabled:e.fileListPrintBtnDisabled},{default:Re(()=>[yt(Ue(fe.$t("buttons.startPrint")),1)]),_:2},1032,["onClick","disabled"]),!P(i)&&!(e.currentTab===P(Ai).UDisk&&e.currentFolderPath!=="/")?(ne(),Ze(Z,{key:0,type:"primary",onClick:ce=>W(K.name),disabled:e.fileListDisabledExportBtn},{default:Re(()=>[yt(Ue(fe.$t("buttons.export")),1)]),_:2},1032,["onClick","disabled"])):Ke("",!0),e.currentTab!==P(Ai).UDisk?(ne(),Ze(Z,{key:1,type:"primary",onClick:ce=>j(K),disabled:S(K)},{default:Re(()=>[yt(Ue(fe.$t("buttons.delete")),1)]),_:2},1032,["onClick","disabled"])):Ke("",!0)])):Ke("",!0)]),_:1},8,["expand-row-keys"]),be(ae,{label:fe.$t("fileTable.fileName"),"min-width":P(r)?"50%":void 0,"show-overflow-tooltip":""},{default:Re(({row:K})=>[G("span",{class:je({"ellipsis-text":P(r)})},[K.isBackRow?(ne(),Ze(P(UO),{key:0,style:{display:"inline-block","vertical-align":"middle","margin-right":"10px",transform:"translateY(-1px)"}})):O(K.name)?(ne(),Ze(P(mue),{key:1,style:{display:"inline-block","vertical-align":"middle","margin-right":"4px"}})):K.isBackRow?Ke("",!0):(ne(),Ze(P(Cue),{key:2,style:{display:"inline-block","vertical-align":"middle","margin-right":"4px"}})),yt(" "+Ue(K.isBackRow?fe.$t("buttons.backToParent"):P(mp)(K.name)||"-"),1)],2)]),_:1},8,["label","min-width"]),be(ae,{label:fe.$t("fileTable.fileSize"),"min-width":P(r)?"30%":void 0,width:P(r)?void 0:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":P(nZ)(K.FileSize)),1)]),_:1},8,["label","min-width","width"]),be(ae,{label:fe.$t("fileTable.layerHeight"),"min-width":P(r)?"20%":void 0,width:P(r)?void 0:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":K.TotalLayers||"-"),1)]),_:1},8,["label","min-width","width"]),P(r)?Ke("",!0):(ne(),Te(Ft,{key:0},[be(ae,{label:fe.$t("fileTable.createTime"),width:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":L(K.CreateTime)),1)]),_:1},8,["label"]),be(ae,{label:fe.$t("fileTable.filamentConsume"),width:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":(()=>{const ce=R(K.EstFilamentLength);return ce==="-"?ce:ce+"g"})()),1)]),_:1},8,["label"])],64))]),_:1},8,["data","class","expand-row-keys"]))]),P(pp)()?(ne(),Te("div",qze,[be(Z,{class:"page-button",onClick:J,disabled:m.value<=1},{default:Re(()=>[be(P(UO))]),_:1},8,["disabled"]),G("div",$ze,[G("div",eWe,[vn(G("input",{"onUpdate:modelValue":le[0]||(le[0]=K=>v.value=K),class:"page-number-input",onInput:me,onKeyup:Wc(te,["enter"]),type:"text",maxlength:"2"},null,544),[[Qz,v.value]]),G("span",tWe,"/ "+Ue(y.value),1)])]),be(Z,{class:"page-button",onClick:Y,disabled:m.value>=y.value},{default:Re(()=>[be(P(fue))]),_:1},8,["disabled"])])):Ke("",!0),be(al,{modelValue:u.value,"onUpdate:modelValue":le[1]||(le[1]=K=>u.value=K),"confirm-title":rWe,"confirm-message":g.value,"confirm-btn-txt":nWe,onConfirm:re},null,8,["modelValue","confirm-message"]),be(Tee,{modelValue:h.value,"onUpdate:modelValue":le[2]||(le[2]=K=>h.value=K),"file-data":b,amsMappingInfoData:e.amsMappingInfoData,canvas:e.canvas,onConfirmPrint:A,onConfirmPrintMqtt:T},null,8,["modelValue","file-data","amsMappingInfoData","canvas"])])}}}),oWe=rr(iWe,[["__scopeId","data-v-b3782355"]]),sWe={class:"table-expand-content"},aWe={key:0,class:"rtm-loading-container"},cWe={class:"loading-more"},lWe="deleteRecord",uWe="delete",dWe=Je({__name:"print-history-list",props:{printHistoryList:{type:Array,default:()=>[]},printFileInfo:{type:Object,default:()=>({})},btnDisabled:{type:Boolean,default:!1},historyListDisabledDeleteBtn:{type:Boolean,default:!1},historyListDisabledExportBtn:{type:Boolean,default:!1},hasGetThumbnailSuccess:{type:Boolean,default:!1},historyListPrintBtnDisabled:{type:Boolean,default:!1},canvas:{type:Object,default:()=>({})}},emits:["start-print","export-printFile","delete-printHistory","get-printFileInfo","confirm-print","confirm-print-mqtt"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=se(!1),o=di(),s=jn(),a=e,c=t,l=V(()=>n.value?{width:"100%"}:{width:"100%"}),u=se([]),d=se(!1),f=se(null),h=se(""),p=se(!1),g=V(()=>r("dialogs.deleteRecordConfirmation",{record:h.value})),m={0:"Other",1:"Complete",2:"Cancel",3:"Cancel",4:"Printing",5:"Pause"},y={1:"#0079D1",3:"#FFFFFF",default:"#E0E0E0"},v={fontFamily:"var(--app-font-family)",fontSize:"14px",fontWeight:"350",lineHeight:"20px",letterSpacing:"0em"},E=eo({name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:""}),b=V(()=>C.value?_.value:a.printHistoryList),S=A=>a.historyListPrintBtnDisabled,w=A=>!1,C=V(()=>!1),_=se([]);Ye(()=>a.printHistoryList,A=>{C.value||(_.value=A)},{deep:!0});const I=(A,T)=>{c("confirm-print",A,T)},O=A=>{c("confirm-print-mqtt",A)},L=A=>{var T,k;if(((k=(T=o.deviceStatus)==null?void 0:T.extruder)==null?void 0:k.filament_detected)===$C.NoFilament&&!o.canvasConnected){Lt(xt.CustomMessage,0,"error",r("toastMessages.noFilamentDetected"));return}h.value=A.TaskName,c("get-printFileInfo",A.TaskName),p.value=!0};Ye([()=>a.printFileInfo,()=>a.hasGetThumbnailSuccess],([A])=>{!A||!a.hasGetThumbnailSuccess||Object.keys(A).length===0||!p.value||(Object.assign(E,{name:h.value,previewImage:A==null?void 0:A.Thumbnail,printTime:A!=null&&A.EstTime?tZ(A.EstTime):"00h 00m 00s",materialWeight:(A==null?void 0:A.EstWeight)??0}),i.value=!0)},{deep:!0}),Ye(()=>i.value,A=>{A||(p.value=!1)});const R=A=>m[A]||"Unknow",F=A=>{const T=y[A]||y.default;return{...v,color:T}},W=(A,T)=>{const k=T-A,j=Math.floor(k/3600),re=Math.floor(k%3600/60);return`${String(j).padStart(2,"0")}h${String(re).padStart(2,"0")}m`},J=A=>{const T=new Date(A*1e3),k=le=>String(le).padStart(2,"0"),j=T.getFullYear(),re=k(T.getMonth()+1),me=k(T.getDate()),te=k(T.getHours()),X=k(T.getMinutes()),fe=k(T.getSeconds());return`${j}-${re}-${me} ${te}:${X}:${fe}`},Y=A=>{const T=A.TaskId;E.totalLayers=A.TotalLayers,u.value.includes(T)?u.value=[]:u.value=[T]},M=A=>{c("export-printFile",A)};function B(A){f.value=A.TaskId,h.value=mp(A.TaskName),d.value=!0}function q(){f.value&&(c("delete-printHistory",f.value),d.value=!1)}const z=A=>{};return ln(async()=>{}),(A,T)=>{const k=pr,j=Bg,re=Ww,me=zw,te=Pn;return ne(),Te("div",{class:je(["control-container",{mobile:P(n)}]),onScroll:z},[be(me,{data:b.value,"empty-text":A.$t("table.noData"),style:Ut(l.value),class:je(["uniform-table",{"mobile-uniform-table":P(n)}]),"expand-row-keys":u.value,onRowClick:Y,"row-key":X=>X.TaskId,scroll:{y:!1}},{default:Re(()=>[be(re,{type:"expand",width:"1"},{default:Re(({row:X})=>[G("div",sWe,[be(j,{content:A.$t("tooltip.fileNotExist"),placement:"top",disabled:!w(X)},{default:Re(()=>[be(k,{type:"primary",onClick:Nr(fe=>L(X),["stop"]),disabled:S(X)},{default:Re(()=>[yt(Ue(A.$t("reprint")),1)]),_:2},1032,["onClick","disabled"])]),_:2},1032,["content","disabled"]),P(s)?Ke("",!0):(ne(),Ze(j,{key:0,content:A.$t("tooltip.fileNotExist"),placement:"top",disabled:!w(X)},{default:Re(()=>[be(k,{type:"primary",onClick:Nr(fe=>M(X.TaskName),["stop"]),disabled:e.historyListDisabledExportBtn},{default:Re(()=>[yt(Ue(A.$t("export")),1)]),_:2},1032,["onClick","disabled"])]),_:2},1032,["content","disabled"])),be(k,{type:"primary",onClick:fe=>B(X),disabled:e.historyListDisabledDeleteBtn},{default:Re(()=>[yt(Ue(A.$t("delete")),1)]),_:2},1032,["onClick","disabled"])])]),_:1}),be(re,{label:A.$t("fileName"),"min-width":P(n)?"50%":void 0,"show-overflow-tooltip":""},{default:Re(({row:X})=>[G("span",{class:je({"ellipsis-text":P(n)})},Ue(P(mp)(X.TaskName)),3)]),_:1},8,["label","min-width"]),be(re,{width:P(n)?void 0:"160","min-width":P(n)?"20%":"160",label:A.$t("status")},{default:Re(({row:X})=>[G("span",{style:Ut(F(X.TaskStatus))},Ue(A.$t(`status.${R(X.TaskStatus)}`)),5)]),_:1},8,["width","min-width","label"]),P(n)?Ke("",!0):(ne(),Ze(re,{key:0,width:"200",label:A.$t("startTime")},{default:Re(({row:X})=>[yt(Ue(J(X.BeginTime)),1)]),_:1},8,["label"])),be(re,{width:P(n)?void 0:"160","min-width":P(n)?"30%":void 0,label:A.$t("totalConsumption")},{default:Re(({row:X})=>[yt(Ue(W(X.BeginTime,X.EndTime)),1)]),_:1},8,["width","min-width","label"]),P(n)?Ke("",!0):(ne(),Ze(re,{key:1,width:"160",label:A.$t("fileSize")},{default:Re(()=>[...T[2]||(T[2]=[yt("-",-1)])]),_:1},8,["label"]))]),_:1},8,["data","empty-text","style","class","expand-row-keys","row-key"]),P(s)&&P(o).rtmHistoryLoading?(ne(),Te("div",aWe,[G("div",cWe,[be(te,{class:"is-loading"},{default:Re(()=>[be(P(dl))]),_:1}),G("span",null,Ue(A.$t("loadingMore")),1)])])):Ke("",!0),be(Tee,{modelValue:i.value,"onUpdate:modelValue":T[0]||(T[0]=X=>i.value=X),canvas:e.canvas,"file-data":E,onConfirmPrint:I,onConfirmPrintMqtt:O},null,8,["modelValue","canvas","file-data"]),be(al,{modelValue:d.value,"onUpdate:modelValue":T[1]||(T[1]=X=>d.value=X),"confirm-title":lWe,"confirm-message":g.value,"confirm-btn-txt":uWe,onConfirm:q},null,8,["modelValue","confirm-message"])],34)}}}),fWe=rr(dWe,[["__scopeId","data-v-35929abf"]]),hWe={class:"import-button-container"},pWe=["accept"],mWe=Je({__name:"import-button",props:{accept:{type:String,default:".gcode"},disabled:{type:Boolean,default:!0}},emits:["upload-success","upload-error"],setup(e,{emit:t}){const{t:n}=Eo(),r=t,i=se(null),o=se(!1),s=se(0),a=se(""),c=di();Ye(()=>c.isConnected,p=>{!p&&o.value&&pp()&&(Pe.error("MQTT连接状态变化检测到断开 - 正在上传文件:",a.value),o.value=!1,a.value="",s.value=0,Zt.error(n("printStatus.offline")+","+n("toastMessages.uploadFileFailed")))});const l=async()=>{qi.printerId?f():!o.value&&i.value&&(i.value.value="",i.value.click())},u=p=>{if(!p||typeof p!="object")return;const{uploadedBytes:g,totalBytes:m}=p;if(typeof g!="number"||typeof m!="number"||m<=0)return;const y=g/m*100,v=Math.floor(y);s.value=v,c.isMainFileSending&&(c.currentUploadFileProgress=v,Pe.log("[MQTT] 文件传输进度:",v)),c.currentSendingFileName&&(o.value=!0,a.value=c.currentSendingFileName)};let d=!1;ln(()=>{d||(qr.on("upload_progress",u),d=!0,Pe.log("[上传进度] 已注册全局事件监听器")),c.isMainFileSending&&(o.value=!0,a.value=c.currentSendingFileName,s.value=c.currentUploadFileProgress,Pe.log("[上传进度] 恢复上传状态:",{fileName:c.currentSendingFileName,progress:c.currentUploadFileProgress}))});const f=async()=>{const p=await ib.openFileDialog("GCODE (*.gcode)|*.gcode");if(p&&p.length>0){let g=p[0];g=g.replace(/\\/g,"/");const m=g.split("/").pop()||"";try{o.value=!0,a.value=m,c.currentSendingFileName=m,s.value=0,await ib.uploadFile({filePath:g,fileName:m,printerId:qi.printerId??""}),r("upload-success",{fileName:a.value,fileSize:0,timestamp:new Date})}catch(y){Pe.error("File upload failed:",y),Lt(xt.CustomMessage,0,"error",y.message)}finally{s.value===100?setTimeout(()=>{(o.value||a.value)&&(o.value=!1,a.value="")},1e3):(o.value=!1,a.value="")}}},h=async p=>{var y;const m=(y=p.target.files)==null?void 0:y[0];if(m){if(!m.name.toLowerCase().endsWith(".gcode")){Zt.error("Only supports uploading .gcode files");return}o.value=!0,a.value=m.name,s.value=0;try{if(pp()){if(Pe.log("开始上传前检查MQTT连接状态:",c.isConnected),!c.isConnected)throw new Error(n("printStatus.offline")+","+n("toastMessages.uploadFileFailed"));const v={file:m,targetPath:df.Local,onProgress:E=>{s.value=Math.floor(E*100)},onConnectionCheck:()=>c.isConnected};await Tbe(v),r("upload-success",{fileName:m.name,fileSize:m.size,timestamp:new Date})}}catch(v){c.isConnected?r("upload-error",v instanceof Error?v.message:n("toastMessages.uploadFileFailed")):r("upload-error",n("printStatus.offline")+", "+n("toastMessages.uploadFileFailed"))}finally{s.value===100?setTimeout(()=>{(o.value||a.value)&&(o.value=!1,a.value="")},1e3):(o.value=!1,a.value="")}}};return(p,g)=>{const m=pr;return ne(),Te("div",hWe,[G("input",{type:"file",ref_key:"fileInput",ref:i,style:{display:"none"},accept:e.accept,onChange:h},null,40,pWe),be(m,{type:"info",size:"small",class:"import-button small-btn-size global-font-14",onClick:l,disabled:e.disabled},{default:Re(()=>[G("span",null,[be(P(eV))]),yt(" "+Ue(p.$t("import")),1)]),_:1},8,["disabled"])])}}}),gWe=rr(mWe,[["__scopeId","data-v-73636b9e"]]),vWe={class:"title-container"},yWe={class:"left-buttons"},EWe={class:"right-buttons bg-color232425"},bWe={class:"control-container"},SWe=Je({__name:"file-list",setup(e){const{fileListData:t,printHistoryTaskDetailData:n,printFileInfoData:r,btnDisabled:i,historyListDisabledDeleteBtn:o,historyListDisabledExportBtn:s,fileListDisabledExportBtn:a,currentTab:c,amsMappingInfoData:l,hasGetThumbnailSuccess:u,fileListPrintBtnDisabled:d,currentPage:f,totalPages:h,importBtnDisabled:p,historyListPrintBtnDisabled:g,localListFetched:m,localListLoading:y,uDiskListLoading:v,onDeletePrintFile:E,onGetPrintFileInfo:b,onConfirmPrint:S,onConfirmPrintMqtt:w,onDeletePrintHistory:C,switchTab:_,onUploadError:I,onGetAmsMappingInfo:O,onPageChange:L,ListTab:R,currentFolderPath:F,onGetUDiskFileList:W,canvas:J,onExportPrintFile:Y}=Vze(),M=jn(),B=V(()=>c.value===R.File||c.value===R.UDisk?oWe:fWe);return(q,z)=>{const A=pr;return ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(q.$t("file")),1)]),default:Re(()=>[G("div",vWe,[G("div",yWe,[be(A,{size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).File}]),onClick:z[0]||(z[0]=T=>P(_)(P(R).File))},{default:Re(()=>[yt(Ue(q.$t("printerFile")),1)]),_:1},8,["class"]),P(M)?Ke("",!0):(ne(),Ze(A,{key:0,size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).UDisk}]),onClick:z[1]||(z[1]=T=>P(_)(P(R).UDisk))},{default:Re(()=>[yt(Ue(q.$t("buttons.eDisk")),1)]),_:1},8,["class"])),be(A,{size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).PrintHistory}]),onClick:z[2]||(z[2]=T=>P(_)(P(R).PrintHistory))},{default:Re(()=>[yt(Ue(q.$t("printHistory")),1)]),_:1},8,["class"])]),G("div",EWe,[be(gWe,{accept:".gcode",disabled:P(p),onUploadError:P(I)},null,8,["disabled","onUploadError"])])]),G("div",bWe,[vn((ne(),Ze(Br(B.value),{fileList:P(t),printHistoryList:P(n),amsMappingInfoData:P(l),printFileInfo:P(r),btnDisabled:P(i),historyListPrintBtnDisabled:P(g),historyListDisabledDeleteBtn:P(o),historyListDisabledExportBtn:P(s),fileListDisabledExportBtn:P(a),hasGetThumbnailSuccess:P(u),fileListPrintBtnDisabled:P(d),currentPageProp:P(f),totalPagesProp:P(h),currentFolderPath:P(F),currentTab:P(c),canvas:P(J),uDiskListLoading:P(v),localListFetched:P(m),localListLoading:P(y),onGetFileList:P(W),onPageChange:P(L),onDeletePrintFile:P(E),onGetPrintFileInfo:P(b),onGetAmsMapping:P(O),onConfirmPrint:P(S),onConfirmPrintMqtt:P(w),onDeletePrintHistory:P(C),onExportPrintFile:P(Y)},null,40,["fileList","printHistoryList","amsMappingInfoData","printFileInfo","btnDisabled","historyListPrintBtnDisabled","historyListDisabledDeleteBtn","historyListDisabledExportBtn","fileListDisabledExportBtn","hasGetThumbnailSuccess","fileListPrintBtnDisabled","currentPageProp","totalPagesProp","currentFolderPath","currentTab","canvas","uDiskListLoading","localListFetched","localListLoading","onGetFileList","onPageChange","onDeletePrintFile","onGetPrintFileInfo","onGetAmsMapping","onConfirmPrint","onConfirmPrintMqtt","onDeletePrintHistory","onExportPrintFile"])),[[_r,!0]])])]),_:1})}}}),bH=rr(SWe,[["__scopeId","data-v-ff76a677"]]),AWe={class:"temperature-name"},CWe={class:"temperature-value"},wWe="modify",TWe="confirmTemperature",IWe=Je({__name:"temp-control",props:{name:{type:String,required:!0},currentValue:{type:[Number,String],required:!0},targetValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},editable:{type:Boolean,default:!0},iconComponent:{type:Object,required:!0},tempDisabled:{type:Boolean,default:!1}},emits:["update","confirm"],setup(e,{emit:t}){const{t:n}=Eo(),r=e,i=t,o=V(()=>typeof r.currentValue=="number"?r.currentValue.toFixed(2):r.currentValue),s=V(()=>typeof r.currentValue=="number"),a=se(r.targetValue);Ye(()=>r.targetValue,g=>{a.value=g});const c=se(!1),l=se(!1),u=V(()=>n("dialogs.updateTemperatureConfirmation",{device:n(`temperature.${r.name}`),temperature:a.value}));function d(g){if(g==null||isNaN(g)){a.value=r.targetValue;return}g>r.max?(Pe.log("温度输入超过最大值"),a.value=r.max):g<r.min?(Pe.log("温度输入超过最小值"),a.value=r.min):c.value||(a.value=r.targetValue),i("update",a.value)}function f(){i("confirm",a.value),Pe.log("已确认将温度修改为目标温度",a.value),c.value=!1}function h(){a.value=r.targetValue,c.value=!1}function p(){c.value=!0,l.value=!0,Pe.log("目标温度",a.value)}return(g,m)=>{const y=Pn,v=Dve,E=al;return ne(),Te(Ft,null,[G("div",{class:"temperature-control-row",onKeydown:Wc(p,["enter"])},[be(y,null,{default:Re(()=>[(ne(),Ze(Br(e.iconComponent)))]),_:1}),G("span",AWe,Ue(g.$t(`temperature.${e.name}`)),1),G("span",CWe,[yt(Ue(o.value),1),s.value?(ne(),Te(Ft,{key:0},[yt("℃")],64)):Ke("",!0),e.editable?(ne(),Te(Ft,{key:1},[yt(" / ")],64)):Ke("",!0)]),e.editable?(ne(),Ze(v,{key:0,modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=b=>a.value=b),modelModifiers:{number:!0},min:e.min,max:e.max,disabled:e.tempDisabled,class:"temperature-input",controls:!1,"data-unit":"℃",onChange:d},null,8,["modelValue","min","max","disabled"])):Ke("",!0)],32),be(E,{modelValue:l.value,"onUpdate:modelValue":m[1]||(m[1]=b=>l.value=b),"confirm-title":TWe,"confirm-message":u.value,"confirm-btn-txt":wWe,onConfirm:f,onCancel:h},null,8,["modelValue","confirm-message"])],64)}}}),GE=rr(IWe,[["__scopeId","data-v-1eb676e7"]]);function PWe(){El();const e=di(),t=V(()=>e.deviceStatus),n=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.extruder)==null?void 0:d.temperature}),r=V(()=>{var d,f;return(f=(d=e.deviceStatus)==null?void 0:d.extruder)==null?void 0:f.target}),i=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.heater_bed)==null?void 0:d.temperature}),o=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.heater_bed)==null?void 0:d.target}),s=V(()=>{var u,d;return e.isChassisFanUpgraded?(d=(u=e.deviceStatus)==null?void 0:u.ztemperature_sensor)==null?void 0:d.temperature:"--"}),a=V(()=>!(e.isPrinting||e.isIdle||e.isMainExtrudering));return{onNozzleConfirm:u=>(Pe.log("确认喷嘴温度:",u),e.temperatureControl({extruder:u})),deviceStatus:t,onBedConfirm:u=>(Pe.log("确认热床温度:",u),e.temperatureControl({heater_bed:u})),tempDisabled:a,extruderTemperature:n,extruderTargetTemperature:r,hotBedTemperature:i,hotBedTargetTemperature:o,boxTemperature:s}}const OWe={class:"control-container"},_We={class:"header"},RWe={class:"label"},kWe={class:"value"},xWe={class:"temperature-display"},DWe=Je({__name:"device-temp",setup(e){const{onNozzleConfirm:t,onBedConfirm:n,tempDisabled:r,extruderTemperature:i,extruderTargetTemperature:o,hotBedTemperature:s,hotBedTargetTemperature:a,boxTemperature:c}=PWe();return(l,u)=>(ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(l.$t("temperature.temperature")),1)]),default:Re(()=>[G("div",OWe,[G("div",_We,[G("span",RWe,Ue(l.$t("temperature.name")),1),G("span",kWe,Ue(l.$t("temperature.currentTarget")),1)]),G("div",xWe,[be(GE,{name:"nozzle",currentValue:P(i)||0,targetValue:P(o)||0,min:0,max:350,iconComponent:P(Mce),tempDisabled:P(r),onConfirm:P(t)},null,8,["currentValue","targetValue","iconComponent","tempDisabled","onConfirm"]),be(GE,{name:"heatedbed",currentValue:P(s)||0,targetValue:P(a)||0,min:0,max:110,iconComponent:P(Uce),tempDisabled:P(r),onConfirm:P(n)},null,8,["currentValue","targetValue","iconComponent","tempDisabled","onConfirm"]),be(GE,{name:"chamber",currentValue:P(c)??"--",min:0,max:100,editable:!1,tempDisabled:P(r),iconComponent:P(zce)},null,8,["currentValue","tempDisabled","iconComponent"])])])]),_:1}))}}),SH=rr(DWe,[["__scopeId","data-v-05855162"]]),LWe={class:"myDialogHeader font-size14"},NWe={style:{margin:"14px 10px"}},MWe={class:"dialog-content font-size14"},BWe={key:0,class:"image-container"},FWe={class:"dialog-footer"},UWe=Je({__name:"ai-detection-prompt",props:{modelValue:{type:Boolean,default:!1},message:{type:String,required:!0},imageUrl:{type:String,default:""}},emits:["confirm","update:modelValue","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=t,o=V({get:()=>r.modelValue,set:c=>i("update:modelValue",c)}),s=()=>{i("close"),o.value=!1},a=()=>{i("confirm"),o.value=!1};return(c,l)=>{const u=pr,d=Dw,f=Zd;return ne(),Ze(f,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=h=>o.value=h),width:P(n)?"90%":"31%",style:Ut(P(n)?{top:"50%",transform:"translateY(-50%)",padding:0,backgroundColor:"#1c1d1e",borderRadius:"4px",overflow:"hidden"}:{padding:0,backgroundColor:"#1c1d1e",maxWidth:"440px",borderRadius:"4px",overflow:"hidden"}),"show-close":!1,"close-on-click-modal":!1},{header:Re(()=>[G("div",LWe,[G("span",NWe,Ue(c.$t("dialogs.errorNotice")),1),be(u,{class:"close-dialog-btn",type:"info",onClick:s,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",MWe,[e.imageUrl?(ne(),Te("div",BWe,[be(d,{src:e.imageUrl,alt:e.message,class:"detection-image","preview-src-list":[e.imageUrl],"initial-index":0,fit:"contain","preview-teleported":""},null,8,["src","alt","preview-src-list"])])):Ke("",!0),G("p",{class:"dialog-message",style:Ut({textAlign:"center",marginTop:e.imageUrl?"16px":"0"})},Ue(e.message),5)]),G("div",FWe,[be(u,{class:"confirm-btn",type:"primary",onClick:a},{default:Re(()=>[yt(Ue(c.$t("buttons.confirm")),1)]),_:1})])]),_:1},8,["modelValue","width","style"])}}}),AH=rr(UWe,[["__scopeId","data-v-9019dc31"]]),L5="data:image/jpeg;base64,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",jWe={key:0,class:"connection-failed font-size16"},HWe={key:1,class:"connection-failed font-size16"},zWe={key:2,class:"connection-failed font-size16"},WWe={key:3,class:"relative flex justify-center items-center"},VWe=["src"],GWe={key:0},JWe={key:1},CH=3,ZWe=Je({__name:"monitor",setup(e){El();const t=di(),n=t,r=Ije(),{t:i}=Eo(),o=se(0),s=se(0),a=se(!1),c=se(null),l=se(!1),u=se(!1),d=se(!1),f=se("");function h(){if(!_.value||!O.value||!I.value)return null;try{const T=I.value.querySelector("video");if(!T||T.readyState!==HTMLMediaElement.HAVE_ENOUGH_DATA)return Pe.warn("[AI] RTC视频元素未准备好无法截取帧"),null;const k=document.createElement("canvas");k.width=T.videoWidth||T.clientWidth,k.height=T.videoHeight||T.clientHeight;const j=k.getContext("2d");if(!j)return Pe.warn("[AI] 无法获取canvas上下文"),null;j.drawImage(T,0,0,k.width,k.height);const re=k.toDataURL("image/png");return Pe.log("[AI] 成功截取RTC视频帧"),re}catch(T){return Pe.error("[AI] 截取RTC视频帧失败:",T),null}}Ye(()=>t.exceptionCodeList,T=>{if(!(!T||!T.includes(zc.NoodleDefect)&&!T.includes(zc.foreignDetection))){if(O.value){const k=h();f.value=k||L5}else f.value=L5;Pe.log("[AI] 显示异常提示框"),T.includes(zc.foreignDetection)?d.value=!0:u.value=!0,t.setExceptionCodeList([])}}),Ye(()=>t.isPrinting,T=>{T||(d.value=!1)}),Ye(()=>{var T,k;return(k=(T=t.deviceStatus)==null?void 0:T.machine_status)==null?void 0:k.sub_status_reason_code},T=>{if(T===oV.NoodleDefect){if(O.value){const k=h();f.value=k||L5}else f.value=L5;Pe.log("[AI] 显示炒面异常提示框"),u.value=!0}});const p=V(()=>{var T,k,j,re;return[{key:"noodleDetection",title:i("aiDetection.noodleDetection"),description:i("aiDetection.noodleDetectionDesc"),value:(((k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.status)??0)===1?rc.On:rc.Off},{key:"foreignObjectDetection",title:i("aiDetection.foreignObjectDetection"),description:i("aiDetection.foreignObjectDetectionDesc"),value:(((re=(j=t.aiDetectionSettings)==null?void 0:j.foreign_object_detection)==null?void 0:re.status)??0)===1?rc.On:rc.Off}]}),g=V(()=>{var T,k,j;return(j=(k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.frequency)==null?void 0:j.toString()}),m=V(()=>{var T,k,j;return(j=(k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.handing)==null?void 0:j.toString()}),y=V(()=>p.value.map(T=>({...T})));async function v(){await t.getAIDetectionSettings(),l.value=!0}function E(){l.value=!1}function b(T){try{Pe.log("[AI] 保存AI设置:",T),(T.spaghetti_detection.status===rc.On||T.foreign_object_detection.status===rc.On)&&t.deviceControlModel.lightValue===bJ.Off&&(t.setLight(!0),Pe.log("[AI] 打开灯光")),t.setAIDetectionSettings(T)}catch(k){Pe.error("[AI] 保存AI设置失败:",k)}}function S(){Pe.log("[AI] 用户确认了炒面缺陷提示",t.exceptionCodeList),u.value=!1}async function w(){if(!a.value)try{a.value=!0,await r.getVideoStreamUrl(),r.refreshKey=Date.now(),o.value+=1}catch{}finally{setTimeout(()=>{a.value=!1},1e3)}}const C=V(()=>t.cameraConnection&&t.isRegisterSuccess),_=V(()=>"false".toLowerCase()==="true"),I=se(null),O=se(!1),L=se(!1),R=se(0),F=V(()=>_.value?O.value:r.isPlaying),W=V(()=>_.value?L.value:r.isLoading);async function J(){var T;if(O.value||L.value){Pe.log("[RTC] 已经在播放或加载中,无需重复开始");return}try{if(L.value=!0,Pe.log("[RTC] 开始启动观看"),await D5.startWatching(void 0,void 0)){await M();const j=D5.getCurrentVideoTrack();if(Pe.log("[RTC] 获取视频轨道:",j?"存在":"不存在",j?{isPlaying:j.isPlaying}:null),j&&I.value){const re=I.value.childNodes.length;Pe.log("[RTC] 清理容器前子节点数量:",re);try{for(;I.value.firstChild;)I.value.removeChild(I.value.firstChild);Pe.log("[RTC] 容器清理完成,清理前子节点数:",re)}catch(te){Pe.warn("[RTC] 清理容器子节点失败:",te)}try{Pe.log("[RTC] 停止视频轨道,停止前 isPlaying:",j.isPlaying),j.stop(),Pe.log("[RTC] 视频轨道已停止")}catch(te){Pe.warn("[RTC] 停止视频轨道失败:",te)}Pe.log("[RTC] 准备播放视频轨道到容器"),await j.play(I.value),Pe.log("[RTC] videoTrack.play() 调用完成,播放后 isPlaying:",j.isPlaying),await Y();const me=(T=I.value)==null?void 0:T.querySelector("video");me&&Pe.log("[RTC] 视频元素状态:",{readyState:me.readyState,videoWidth:me.videoWidth,videoHeight:me.videoHeight,clientWidth:me.clientWidth,clientHeight:me.clientHeight,paused:me.paused,ended:me.ended,currentTime:me.currentTime}),O.value=!0,R.value=0,Pe.log("[RTC] 视频播放已启动")}else Pe.warn("[RTC] 视频轨道或容器不可用",{videoTrack:j?"存在":"不存在",container:I.value?"存在":"不存在"}),O.value=!1}else Pe.warn("[RTC] 启动观看失败"),O.value=!1}catch(k){Pe.error("[RTC] startWatching 失败:",k),O.value=!1,R.value<CH?(R.value++,Pe.log(`[RTC] 准备重试 (${R.value}/${CH})3秒后重试...`),setTimeout(()=>{J()},3e3)):(Pe.error("[RTC] 已达到最大重试次数,停止重试"),R.value=0)}finally{L.value=!1}}async function Y(){return new Promise(T=>{let k=0;const j=100,re=()=>{var te;k++;const me=(te=I.value)==null?void 0:te.querySelector("video");if(me)if(me.style.width="100%",me.style.height="100%",me.style.objectFit="contain",me.style.display="block",me.style.visibility="visible",me.style.opacity="1",me.style.zIndex="1",me.style.position="relative",me.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)Pe.log("[RTC] 视频元素已有数据"),T();else{let X=null,fe=!1;const le=()=>{fe||(fe=!0,X&&(clearTimeout(X),X=null),me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.log("[RTC] 视频数据已加载,画面显示正常"),T())},ve=()=>{fe||(fe=!0,X&&(clearTimeout(X),X=null),me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.log("[RTC] 视频开始播放"),T())};me.addEventListener("loadeddata",le,{once:!0}),me.addEventListener("playing",ve,{once:!0}),X=setTimeout(()=>{fe||(fe=!0,me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.warn("[RTC] 等待视频数据加载超时,但继续显示"),T())},8e3)}else k>=j?(Pe.warn("[RTC] 等待视频元素超时"),T()):setTimeout(re,100)};re()})}async function M(){return new Promise(T=>{let k=0;const j=50,re=()=>{k++,I.value?T():k>=j?(Pe.warn("[RTC] 等待容器元素超时"),T()):setTimeout(re,100)};re()})}async function B(){var T;try{(T=D5.getCurrentVideoTrack())==null||T.stop(),await D5.stopWatching()}catch(k){Pe.error("[RTC] stopWatching 失败:",k)}finally{O.value=!1}}async function q(){_.value?O.value?await B():await J():await r.openVideoStream()}ln(async()=>{_.value?await J():C.value&&(await w(),r.isPlaying=!0)}),xi(async()=>{c.value&&(clearTimeout(c.value),c.value=null),_.value&&await B()}),Ye(C,async(T,k)=>{c.value&&(clearTimeout(c.value),c.value=null),T&&!k?_.value?await J():(await w(),r.isPlaying=!0):!T&&k&&(_.value?(await B(),Pe.log("[RTC] 不满足播放条件停止RTC播放")):(r.isPlaying=!1,s.value++,Pe.log("[VIDEO] 不满足播放条件,停止视频播放")))}),Ye(()=>t.isCameraUpgraded,async T=>{var k;T&&((k=t.deviceAttributes)==null?void 0:k.machine_model)==tc.C2&&(_.value?((O.value||L.value)&&(await B(),await new Promise(j=>setTimeout(j,500))),await J()):(r.isPlaying=!0,await w()))});function z(){Pe.error("[VIDEO] Image load error"),r.isPlaying&&(s.value+=1,s.value>=3&&(Pe.log("[VIDEO] 多次加载失败,尝试重新打开视频流"),r.isPlaying=!1,setTimeout(()=>{r.openVideoStream(),s.value=0},2e3)))}function A(){s.value>0&&(s.value=0,Pe.log("[VIDEO] Image loaded successfully, reset retry counter",{isPlaying:r.isPlaying}))}return(T,k)=>{const j=pr,re=Gw;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(T.$t("camera.title")),1)]),actions:Re(()=>[Ke("",!0)]),default:Re(()=>{var me;return[vn((ne(),Te("div",{class:je("video-container"+(F.value?" is-playing":""))},[P(t).cameraConnection?!P(t).isCameraUpgraded&&((me=P(t).deviceAttributes)==null?void 0:me.machine_model)==P(tc).C2?(ne(),Te("div",HWe,Ue(T.$t("camera.cameraNotUpgraded")),1)):!P(r).cameraConnection||!P(n).isConnected?(ne(),Te("div",zWe,[be(P(FO)),k[4]||(k[4]=yt(" Connection failed ",-1))])):(ne(),Te("div",WWe,[_.value?(ne(),Te("div",{key:1,ref_key:"rtcContainerRef",ref:I,style:{width:"100%",background:"#000",position:"relative"}},null,512)):(ne(),Te("img",{class:"video-img",key:o.value,src:P(r).videoUrl,alt:"",onError:z,onLoad:A},null,40,VWe)),W.value?Ke("",!0):(ne(),Ze(j,{key:2,class:"video-control-btn",onClick:q},{default:Re(()=>[F.value?(ne(),Te("span",GWe,[be(P(KC),{width:"26",height:"26"})])):(ne(),Te("span",JWe,[be(P(QC),{width:"26",height:"26"})]))]),_:1}))])):(ne(),Te("div",jWe,[be(P(FO)),k[3]||(k[3]=yt(" Camera not connected ",-1))]))],2)),[[re,W.value]])]}),_:1}),P(t).isNeedShowAiSetting?(ne(),Ze(Tje,{key:0,modelValue:l.value,"onUpdate:modelValue":k[0]||(k[0]=me=>l.value=me),"detection-items":y.value,"detection-frequency":g.value,"anomaly-handling":m.value,onSave:b,onClose:E},null,8,["modelValue","detection-items","detection-frequency","anomaly-handling"])):Ke("",!0),be(AH,{modelValue:u.value,"onUpdate:modelValue":k[1]||(k[1]=me=>u.value=me),message:P(i)("aiDetection.noodleDefectAlert"),"image-url":f.value,onConfirm:S},null,8,["modelValue","message","image-url"]),be(AH,{modelValue:d.value,"onUpdate:modelValue":k[2]||(k[2]=me=>d.value=me),message:P(i)("aiDetection.foreignObjectDetectionAlert"),"image-url":f.value,onConfirm:S},null,8,["modelValue","message","image-url"])],64)}}}),wH=rr(ZWe,[["__scopeId","data-v-27c11937"]]),YWe={class:"control-container"},XWe={class:"export-container"},QWe=Je({__name:"history-video-table",props:{tableData:{type:Array,default:()=>[]},exportTimeLapseListData:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},showCreateTime:{type:Boolean,default:!0},showSelectAll:{type:Boolean,default:!0}},emits:["export-video"],setup(e,{emit:t}){const n=t,r=e;Ye(()=>r.exportTimeLapseListData,c=>{!c||Object.keys(c).length===0||c.forEach((l,u)=>{})});const i=se([]),o=c=>{i.value=c},s=()=>{const c=[];for(let l=0;l<i.value.length;l++){if(i.value[l].TimeLapseVideoStatus===Y3.hasGenerated){Pe.log(),qm(i.value[l].TimeLapseVideoUrl,df.Local);continue}c.push(i.value[l].TimeLapseVideoUrl)}n("export-video",c)},a=c=>{const l=new Date(c*1e3),u=y=>String(y).padStart(2,"0"),d=l.getFullYear(),f=u(l.getMonth()+1),h=u(l.getDate()),p=u(l.getHours()),g=u(l.getMinutes()),m=u(l.getSeconds());return`${d}-${f}-${h} ${p}:${g}:${m}`};return(c,l)=>{const u=Ww,d=zw,f=pr;return ne(),Te("div",YWe,[be(d,{data:e.tableData,"empty-text":c.$t("table.noData"),onSelectionChange:o,"row-key":"BeginTime",class:"uniform-table"},{default:Re(()=>[be(u,{type:"selection",width:"35"}),e.showSelectAll?(ne(),Ze(u,{key:0,label:c.$t("table.selectAll"),"min-width":"6%"},null,8,["label"])):Ke("",!0),be(u,{label:c.$t("table.fileName"),"min-width":"20%","show-overflow-tooltip":""},{default:Re(({row:h})=>[yt(Ue(P(mp)(h.TaskName)),1)]),_:1},8,["label"]),be(u,{label:c.$t("table.fileSize"),"min-width":"13%"},{default:Re(({row:h})=>[yt(Ue(P(nZ)(h.TimeLapseVideoSize)),1)]),_:1},8,["label"]),e.showCreateTime?(ne(),Ze(u,{key:1,label:c.$t("table.creationTime"),"min-width":"18%"},{default:Re(({row:h})=>[yt(Ue(a(h.BeginTime)),1)]),_:1},8,["label"])):Ke("",!0),be(u,{label:c.$t("table.videoDuration"),"min-width":"10%"},{default:Re(({row:h})=>[yt(Ue(h.TimeLapseVideoDuration)+"s",1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"]),G("div",XWe,[be(f,{type:"info",disabled:e.disabled||i.value.length===0,onClick:s,class:"export-btn"},{default:Re(()=>[yt(Ue(c.$t("buttons.export")),1)]),_:1},8,["disabled"])])])}}}),KWe=rr(QWe,[["__scopeId","data-v-02fe7137"]]);function qWe(){const{t:e}=Eo(),t=El(),n=di(),r=se(),i=V(()=>!n.isIdle),o=V(()=>{{const d=n.websocketHistorytaskDetails;if(!d)return;const f=[];for(let h=0;h<d.length;h++)(d[h].TimeLapseVideoStatus===Y3.hasGenerated||d[h].TimeLapseVideoStatus===Y3.hasNoGenerated)&&f.push(d[h]);return r.value=f,f}}),s=V(()=>n.videoGeneratedSuccessUrls),a=V(()=>{var d;return(d=t.exportTimeLapseListData)==null?void 0:d.Data}),c=se([]),l=se("");return Ye(()=>n.subStatus,async d=>{if(d==De.TimeLapseVideoGeneratingComplete){await n.getPrintHistoryList();const f=s.value.shift();f&&(Pe.log("延时摄影合成成功,正在下载文件... ",f),await qm(f,df.Local),Pe.log("------------请求下载成功(直链方式)--------"),l.value=c.value.shift()??"",Pe.log("延时摄影合成成功,正在合成下一个视频... ",l.value),l.value&&await n.exportTimeLapse(l.value))}else d==De.TimeLapseVideoGeneratingFailed&&(Pe.log("延时摄影合成失败:",l.value),Zt.error(e("toastMessages.TimeLapseVideoGenerateFailed")+l.value),s.value.shift(),l.value=c.value.shift()??"",l.value&&(Pe.log("延时摄影合成失败,正在合成下一个视频... ",l.value),await n.exportTimeLapse(l.value)),await n.getPrintHistoryList())}),{onExportTimeLapse:async d=>{if(Pe.log("需要合成的延时视频: ",d),d.length>0)c.value=d,l.value=c.value.shift()??"",l.value&&await n.exportTimeLapse(l.value);else return!1},tableData:o,exportTimeLapseListData:a,btnDisabled:i}}const $We={class:"tableData-container"},eVe=Je({__name:"video-history",setup(e){const{isMobile:t}=gs(),{tableData:n,exportTimeLapseListData:r,onExportTimeLapse:i,btnDisabled:o}=qWe();return(s,a)=>(ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(s.$t("table.videoList")),1)]),default:Re(()=>[G("div",$We,[be(KWe,{tableData:P(n),disabled:P(o),exportTimeLapseListData:P(r),showCreateTime:!P(t),showSelectAll:!P(t),onExportVideo:P(i)},null,8,["tableData","disabled","exportTimeLapseListData","showCreateTime","showSelectAll","onExportVideo"])])]),_:1}))}}),TH=rr(eVe,[["__scopeId","data-v-50c90669"]]);function tVe(){const e=di(),t=se(!1),n=se([]),r=`historyEditFilamentColorMono:${qi.sn}`;ln(()=>{try{const d=localStorage.getItem(r);if(d){const f=JSON.parse(d);Array.isArray(f)&&(n.value=f.slice(0,6))}}catch(d){Pe.error("加载单色历史耗材颜色缓存失败",d)}});const i=async()=>{await e.loadFilament()},o=async()=>{await e.unloadFilament()},s=()=>{Pe.log("编辑按钮被点击"),t.value=!0},a=V(()=>!(e.isIdle||e.isMainHoming||e.autoLeveling||e.isMainPid||e.isMainResonanceTesting||e.isMainSelfTest||e.isMainHoming||e.isMainExtrudering)),c=V(()=>!(e.isIdle||e.isPrintStopped)),l=V(()=>!(e.isIdle||e.isPrintStopped));return{showEditDialog:t,historyEditFilamentColor:n,editBtnDisabled:a,feedBtnDisabled:c,unfeedBtnDisabled:l,onFeedClick:i,onUnfeedClick:o,onEditClick:s,onUpdateFilament:async d=>{const f=d.filament_color,h=n.value.indexOf(f);h!==-1&&n.value.splice(h,1),n.value.unshift(f),n.value.length>6&&h===-1&&n.value.pop();try{localStorage.setItem(r,JSON.stringify(n.value))}catch(g){Pe.log("保存单色历史耗材颜色缓存失败",g)}await e.setMonoFilamentInfo(d)?Pe.log("更新耗材成功"):Pe.log("更新耗材失败")}}}var Iee=(e=>(e.Idle="-1",e.Feeding="0",e.Unloading="1",e))(Iee||{});const ec="#2f302f";function nVe(){El();const e=di(),t=se(!1),n=se(!0),r=se("-1"),i=se("#FF912F"),o=se(ic.Lite),s=se(0),a=V(()=>r.value!="-1"),c=se(jg.Idle),l=se(!1),u=se("-1"),d=se(!1),f=se("-1"),h=se(0),p=se([]),g=`historyEditFilamentColor:${qi.sn}`,m=se(),y=se(),v=se("-1"),E=async()=>{await e.getCanvasInfoCanvas()},b=V(()=>e.canvas);function S(ve){return ve.filament_color==""&&ve.status==Oo.Empty?wi.NoFilament:ve.filament_color==""?wi.NoRecognition:ve.filament_name}const w=V(()=>{var pe,K,ce,ye;const ve=[{id:"0",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"26%",left:"29.5%",enable:!0,status:Oo.Empty},{id:"1",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"50%",left:"29.5%",enable:!1,status:Oo.Empty},{id:"2",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"50%",left:"60%",enable:!0,status:Oo.Empty},{id:"3",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"26%",left:"60%",enable:!0,status:Oo.Empty}],Z=(ye=(ce=(K=(pe=b.value)==null?void 0:pe.canvas_info)==null?void 0:K.canvas_list)==null?void 0:ce[0])==null?void 0:ye.tray_list;if(!Array.isArray(Z)||Z.length===0)return ve;const ae=[];for(let ee=0;ee<Z.length;ee++){const $=Z[ee];$.tray_id==0?ae.push({id:String($.tray_id),filament_name:S($),filament_color:yd($.filament_color)||ec,filament_type:$.filament_type||"",brand:$.brand,top:"26%",left:"29.5%",enable:!0,status:$.status}):$.tray_id==1?ae.push({id:String($.tray_id),filament_name:S($),filament_color:yd($.filament_color)||ec,filament_type:$.filament_type||"",brand:$.brand,top:"50%",left:"29.5%",enable:!1,status:$.status}):$.tray_id==2?ae.push({id:String($.tray_id),filament_name:S($),filament_color:yd($.filament_color)||ec,filament_type:$.filament_type||"",brand:$.brand,top:"50%",left:"60%",enable:!0,status:$.status}):$.tray_id==3&&ae.push({id:String($.tray_id),filament_name:S($),filament_color:yd($.filament_color)||ec,filament_type:$.filament_type,brand:$.brand,top:"26%",left:"60%",enable:!0,status:$.status})}return ae.length?ae:ve}),C=ve=>(m.value=w.value.find(Z=>Z.id===String(ve)),m.value),_=ve=>w.value.find(Z=>Z.id===String(ve));Ye(()=>e.LoadedSlotId,ve=>{v.value=String(e.LoadedSlotId),y.value=_(String(ve))},{immediate:!0}),Ye(()=>e.status,ve=>{(ve===Ge.Loading||ve===Ge.UnLoading)&&e.currentActiveTrayId!==-1&&(u.value=String(e.currentActiveTrayId),f.value="0",d.value=!0,m.value=C(u.value))},{immediate:!0}),Ye(()=>e.isLoadCompleteCanvas,ve=>{e.canvasConnected&&e.isMainLoading&&(u.value="-1",f.value="-1",d.value=!1)},{immediate:!0}),Ye(()=>e.isUnloadCompleteCanvas,ve=>{e.canvasConnected&&e.isMainUnLoading&&(u.value="-1",f.value="-1",d.value=!1)},{immediate:!0}),Ye(()=>e.currentActiveTrayId,ve=>{(e.isMainLoading||e.isMainUnLoading)&&(u.value=String(ve),f.value="0",d.value=!0,m.value=C(u.value))},{immediate:!0}),ln(()=>{try{const ve=localStorage.getItem(g);if(ve){const Z=JSON.parse(ve);Array.isArray(Z)&&(p.value=Z.slice(0,6))}}catch(ve){Pe.error("Failed to load cached filament colors",ve)}}),ln(()=>{Ye(()=>e.isRegisterSuccess,ve=>{ve&&E()},{immediate:!0})});const I=se(0),O=4,L=se([{id:b0.CheckDuringInsertion,label:"multiColor.insertDetection",value:!0,description:"multiColor.insertDetectionDesc",note:"multiColor.insertDetectionNote",activeColor:"#409EFF",loading:!1},{id:b0.CheckDuringPowerOn,label:"multiColor.bootDetection",value:!1,description:"multiColor.bootDetectionDesc",inactiveColor:"#DCDFE6",loading:!1},{id:b0.AutoFeed,label:"multiColor.autoMaterialContinuation",value:!0,description:"multiColor.autoMaterialContinuationDesc",activeColor:"#409EFF",loading:!1}]),R=V(()=>L.value.filter(ve=>ve.id===b0.AutoFeed)),F=async(ve,Z)=>{if(R.value[Z].id===b0.AutoFeed){L.value[2].loading=!0;try{await e.setAutoFillFilamentCanvas(ve)&&(L.value[2].value=ve,Pe.log("设置自动续料开关",ve))}catch(ae){Pe.error("Failed to set auto-refill",ae)}finally{L.value[2].loading=!1}}Pe.log("点击开关1",R.value[Z].label,R.value[Z].value)};Ye(()=>r.value,ve=>{var Z;i.value=((Z=_(ve))==null?void 0:Z.filament_color)??"",Pe.log("当前选中槽位的颜色变化",ve,i.value)},{immediate:!0});const W=ve=>{var Z;return((Z=w.value.find(ae=>ae.id===String(ve)))==null?void 0:Z.filament_name)===wi.NoRecognition},J=ve=>{var Z;return((Z=w.value.find(ae=>ae.id===String(ve)))==null?void 0:Z.status)===Oo.Empty},Y=async ve=>{{const Z=ve;Z.canvas_id=h.value,Z.tray_id=Number(r.value);const ae=Z.filament_color,pe=p.value.indexOf(ae);pe!==-1&&p.value.splice(pe,1),p.value.unshift(ae),p.value.length>6&&pe===-1&&p.value.pop();try{localStorage.setItem(g,JSON.stringify(p.value))}catch(ce){Pe.log("保存历史耗材颜色缓存失败",ce)}await e.setFilamentInfoCanvas(Z)&&(i.value=Z.filament_color)}},M=()=>{t.value=!0,Pe.log("编辑图标被点击了,槽位:",r.value)},B=(ve,Z)=>{r.value=String(Number(ve)),i.value=Z,Pe.log("盘位被点击",r.value,i.value)},q=(ve,Z)=>{r.value=String(Number(ve)),i.value=Z,t.value=!0,Pe.log("盘位被双击,显示编辑框",r.value,i.value)},z=se(!1),A=()=>{z.value=!0},T=ve=>{s.value=ve,I.value=ve,Pe.log(`托盘导航被点击, ${ve}`)};Ye(()=>e.canvasAutoRefill,ve=>{Pe.log("自动续料的开关变化",ve),L.value[2].value=ve??!1},{immediate:!0});const k=async()=>{Pe.log(`[ CANVASid:${h.value} ][ 槽位id:${u.value} ]进料按钮被点击`),f.value="0",await e.loadFilamentCanvas(h.value,Number(r.value))&&E(),u.value="-1",f.value="-1",d.value=!1},j=async()=>{Pe.log(`[ CANVASid:${h.value} ][ 槽位id:${u.value} ]退料按钮被点击`),f.value="1",await e.unloadFilamentCanvas(h.value,Number(r.value))&&E(),u.value="-1",f.value="-1",d.value=!1},re=ve=>ve===ic.Lite?L.value.filter(Z=>Z.id===b0.AutoFeed):L.value,me=ve=>{Pe.log("耗材名称更新")},te=ds,X=V(()=>!(e.isIdle||e.isMainHoming||e.isPaused||e.isFilamentInterruption)||d.value||!a.value||v.value===r.value||W(Number(r.value))||J(Number(r.value))),fe=V(()=>!(e.isIdle||e.isMainHoming||e.isPaused||e.isFilamentInterruption)||d.value||!a.value||v.value!==r.value||W(Number(r.value))||J(Number(r.value))),le=V(()=>!(e.isIdle||e.isMainHoming)||d.value||!a.value);return{filterSettingSwitchs:R,filamentFrom:te,showEditDialog:t,showSettingDialog:z,enbleEditFilament:n,curSelectSlotColor:i,amsListCurrentPage:I,amsListSlotsPerPage:O,curSelectSlotId:r,curVersion:o,curTrayNavIndex:s,isSelectSlot:a,isFeedWithdrawSloting:d,curAmsStatus:c,curAutoFeedSwitch:l,curFeedWithdrawSlotId:u,canvas:b,liteTrays:w,feedBtnDisabled:X,unfeedBtnDisabled:fe,editBtnDisabled:le,historyEditFilamentColor:p,curFeedWithdrawStatus:f,curActiveTrayInfo:m,curLoadedTrayInfo:y,onEditClick:M,onSwitchChange:F,onSettingClick:A,onSlotClick:B,onSlotDoubleClick:q,onTrayNavClick:T,onFeedClick:k,onUnfeedClick:j,getSettingSwitchs:re,onUpdateMaterial:me,onUpdateFilament:Y}}const rVe={class:"dialog-header"},iVe={class:"dialog-content bg-color"},oVe={class:"setting-item"},sVe={class:"setting-title"},aVe={class:"setting-item"},cVe={class:"setting-title"},lVe={class:"setting-item"},uVe={class:"setting-title"},dVe={class:"setting-item"},fVe={class:"setting-title"},hVe={class:"custom-color-picker"},pVe={class:"color-category"},mVe={class:"category-title"},gVe={class:"color-grid"},vVe=["onClick"],yVe={class:"color-category"},EVe={class:"category-title"},bVe={class:"color-grid more-colors"},SVe=["onClick"],AVe={class:"setting-item"},CVe={class:"setting-title"},wVe={class:"temperature-range"},TVe={style:{"margin-right":"10px"}},IVe={style:{"margin-left":"10px"}},PVe={class:"bottom-container"},OVe=Je({__name:"update-filament-mono",props:{title:{type:String,default:""},modelValue:{type:Boolean,default:!1},curBrand:{type:String,default:"?"},curFilamentType:{type:String,default:"?"},curFilamentName:{type:String,default:"?"},curColor:{type:String,default:"#409eff"},historyEditFilamentColor:{type:Array,default:()=>[]}},emits:["update:modelValue","update-filament"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=t,i=e,o=se(["ELEGOO","Generic"]),s=V(()=>String(h.value??"").trim().toUpperCase()),a=V(()=>s.value==="ELEGOO"?DZ():s.value==="GENERIC"?LZ():l4()),c=V(()=>NZ()),l=se(!1),u=se(!1),d=se(!1),f=se(i.curFilamentName),h=se(i.curBrand),p=se(i.curFilamentType),g=se(!1),m=se(""),y=se(!1),v=(W,J)=>{const Y=Pi(W),M=String(J??"").trim().toUpperCase();return M?M==="ELEGOO"?!!(Y!=null&&Y.elegoo):M==="GENERIC"?!!(Y!=null&&Y.generic):!0:!0},E=V(()=>{const W=String(p.value??"").trim(),J=s.value;let Y;return W?Y=ob(W)||[]:Y=a.value,J&&(Y=Y.filter(M=>v(M,J))),!W&&!J?l4():Y}),b=["#FFFFFF","#FFF242","#DBF47A","#09CC3A","#077747","#0B6283","#0BE2A0","#74D9F3","#48A7FA","#2850DF","#433089","#A03BF7","#F32FF8","#D4B1DD","#F95D77","#F72221","#7C4C00","#F88D36","#FCEBD7","#D2C5A3","#AF7832","#898989","#BCBCBC","#000000"],S=W=>{m.value=W,g.value=!1,y.value=!1},w=()=>{var W,J,Y,M;return{canvas_id:0,tray_id:0,brand:h.value,filament_type:(W=Pi(f.value))==null?void 0:W.type,filament_name:f.value,filament_code:(J=Pi(f.value))==null?void 0:J.code,filament_color:m.value||i.curColor,filament_min_temp:(Y=Pi(f.value))==null?void 0:Y.temperature.min,filament_max_temp:(M=Pi(f.value))==null?void 0:M.temperature.max}};function C(){l.value=!1;const W=Pi(f.value);if(!s.value){const Y=o.value.find(M=>v(f.value,M));Y&&(h.value=Y)}if(!String(p.value??"").trim()){const Y=W==null?void 0:W.type;Y&&(p.value=Y)}}function _(){d.value=!1;const W=E.value;W.length>0?f.value=W[0]:f.value=""}function I(){u.value=!1;const W=E.value;W.includes(f.value)||(f.value=W[0]||"")}const O=V({get:()=>i.modelValue,set:W=>r("update:modelValue",W)});Ye(O,W=>{W&&(f.value=i.curFilamentName,h.value=i.curBrand,p.value=i.curFilamentType,m.value="",l.value=!1,u.value=!1,y.value=!1)});const L=()=>{p.value="",f.value="",h.value="",m.value=ec,l.value=!1,u.value=!1,y.value=!1},R=()=>{if(!o.value.includes(h.value)){u.value=!0;return}if(f.value===wi.NoRecognition||f.value===wi.NoFilament){l.value=!0;return}const W=m.value||i.curColor||"";if(!b.some(Y=>String(Y).toUpperCase()===String(W).toUpperCase())){y.value=!0;return}l.value=!1,u.value=!1,y.value=!1,r("update-filament",w()),m.value="",O.value=!1},F=()=>{O.value=!1};return(W,J)=>{const Y=pr,M=Ug,B=Fg,q=Dp,z=Zd;return ne(),Ze(z,{modelValue:O.value,"onUpdate:modelValue":J[4]||(J[4]=A=>O.value=A),width:P(n)?" 90%":"500px","show-close":!1,"close-on-click-modal":!1,style:{padding:0},class:"bg-color"},{header:Re(()=>[G("div",rVe,[G("span",null,Ue(e.title),1),be(Y,{class:"close-btn",type:"info",size:"small",onClick:F},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>{var A,T;return[G("div",iVe,[G("div",oVe,[G("span",sVe,Ue(W.$t("multiColor.manufacturer")),1),be(B,{modelValue:h.value,"onUpdate:modelValue":J[0]||(J[0]=k=>h.value=k),class:je(["select-filament",{"error-select":u.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:I},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(o.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",aVe,[G("span",cVe,Ue(W.$t("multiColor.filamentType")),1),be(B,{modelValue:p.value,"onUpdate:modelValue":J[1]||(J[1]=k=>p.value=k),class:je(["select-filament",{"error-select":d.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:_},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(c.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",lVe,[G("span",uVe,Ue(W.$t("multiColor.filamentSilk")),1),be(B,{modelValue:f.value,"onUpdate:modelValue":J[2]||(J[2]=k=>f.value=k),class:je(["select-filament",{"error-select":l.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:C},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(E.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",dVe,[G("span",fVe,Ue(W.$t("multiColor.color")),1),be(q,{"popper-style":P(n)?{left:"50%",transform:"translateX(-50%)",marginTop:"8px",padding:0}:{marginLeft:"8px",padding:0},placement:P(n)?"bottom":"right","show-arrow":!1,width:"330",trigger:"click",visible:g.value,"onUpdate:visible":J[3]||(J[3]=k=>g.value=k)},{reference:Re(()=>[be(Y,{class:je(["color-button",{"error-color":y.value}]),style:Ut({backgroundColor:m.value||e.curColor})},null,8,["class","style"])]),default:Re(()=>[G("div",hVe,[G("div",pVe,[G("div",mVe,[yt(Ue(W.$t("multiColor.historyColor"))+" ",1),be(P(J3))]),G("div",gVe,[(ne(!0),Te(Ft,null,Rr(e.historyEditFilamentColor,(k,j)=>(ne(),Te("div",{key:"box-"+j,class:"color-dot",style:Ut({backgroundColor:k}),onClick:re=>S(k)},null,12,vVe))),128))])]),G("div",yVe,[G("div",EVe,[yt(Ue(W.$t("multiColor.moreColor"))+" ",1),be(P(J3))]),G("div",bVe,[(ne(),Te(Ft,null,Rr(b,(k,j)=>G("div",{key:"more-"+j,class:"color-dot",style:Ut({backgroundColor:k}),onClick:re=>S(k)},null,12,SVe)),64))])])])]),_:1},8,["popper-style","placement","visible"])]),G("div",AVe,[G("span",CVe,Ue(W.$t("multiColor.nozzleTmperature")),1),G("div",wVe,[G("span",TVe,Ue((A=P(Pi)(f.value))==null?void 0:A.temperature.min)+"°C",1),be(P(rV)),G("span",IVe,Ue((T=P(Pi)(f.value))==null?void 0:T.temperature.max)+"°C",1)])]),G("div",PVe,[be(Y,{class:"cancel-btn",type:"info",onClick:F},{default:Re(()=>[yt(Ue(W.$t("buttons.cancel")),1)]),_:1}),be(Y,{class:"reset-btn",type:"primary",onClick:L},{default:Re(()=>[yt(Ue(W.$t("buttons.reset")),1)]),_:1}),be(Y,{class:"confirm-btn",type:"primary",onClick:R},{default:Re(()=>[yt(Ue(W.$t("buttons.confirm")),1)]),_:1})])])]}),_:1},8,["modelValue","width"])}}}),_Ve=rr(OVe,[["__scopeId","data-v-0ed6e997"]]),RVe={key:0,class:"loading-container"},kVe={key:1,class:"single-color"},xVe={class:"preview"},DVe={class:"tray-label"},LVe={key:1,class:"tray-label"},NVe={class:"actions"},MVe=Je({__name:"single-color",setup(e){const{onFeedClick:t,onUnfeedClick:n,onEditClick:r,onUpdateFilament:i,showEditDialog:o,historyEditFilamentColor:s,editBtnDisabled:a,feedBtnDisabled:c,unfeedBtnDisabled:l}=tVe(),u=di(),d=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.brand)??""}),f=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_type)??""}),h=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_name)??""}),p=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_color)??""}),g=V(()=>u.canvas===void 0);return(m,y)=>{const v=Pn,E=Dp,b=pr;return ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(m.$t("filament")),1)]),default:Re(()=>[g.value?(ne(),Te("div",RVe,[be(v,{class:"loading-icon is-loading"},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("div",kVe,[G("div",xVe,[be(P(Hue),{class:"single-filament-rack",style:Ut({"--curFilamentColor":p.value,"--tray-length":"110px"}),onDblclick:Nr(P(r),["stop"])},null,8,["style","onDblclick"]),be(P(Fue),{class:"tray-guideline"}),h.value?(ne(),Ze(E,{key:0,placement:"top",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,"popper-style":{padding:"8px",background:p.value||"#333334",color:P(Gc)(p.value||"#333334"),textAlign:"center",width:"auto",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("span",DVe,Ue(f.value),1)]),default:Re(()=>[yt(" "+Ue(h.value),1)]),_:1},8,["popper-style"])):(ne(),Te("span",LVe,Ue(f.value),1))]),G("div",NVe,[be(b,{type:"primary",class:"action-btn",disabled:P(c),onClick:P(t)},{default:Re(()=>[yt(Ue(m.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(b,{type:"primary",class:"action-btn",disabled:P(l),onClick:P(n)},{default:Re(()=>[yt(Ue(m.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(b,{class:"edit-btn",disabled:P(a),onClick:P(r)},{default:Re(()=>[yt(Ue(m.$t("buttons.edit")),1)]),_:1},8,["disabled","onClick"])])])),be(_Ve,{modelValue:P(o),"onUpdate:modelValue":y[0]||(y[0]=S=>En(o)?o.value=S:null),curBrand:d.value,curFilamentType:f.value,curFilamentName:h.value,curColor:p.value,historyEditFilamentColor:P(s),onUpdateFilament:P(i)},null,8,["modelValue","curBrand","curFilamentType","curFilamentName","curColor","historyEditFilamentColor","onUpdateFilament"])]),_:1})}}}),IH=rr(MVe,[["__scopeId","data-v-6700aeb5"]]),BVe={class:"dialog-header"},FVe={class:"dialog-content bg-color"},UVe={class:"setting-item"},jVe={class:"setting-title"},HVe={key:1,class:"font-size12"},zVe={class:"setting-item"},WVe={class:"setting-title"},VVe={class:"setting-item"},GVe={class:"setting-title"},JVe={key:1,class:"font-size12"},ZVe={class:"setting-item"},YVe={class:"setting-title"},XVe={class:"custom-color-picker"},QVe={class:"color-category"},KVe={class:"category-title"},qVe={class:"color-grid"},$Ve=["onClick"],eGe={class:"color-category"},tGe={class:"category-title"},nGe={class:"color-grid more-colors"},rGe=["onClick"],iGe={class:"setting-item"},oGe={class:"setting-title"},sGe={class:"temperature-range"},aGe={style:{"margin-right":"10px"}},cGe={style:{"margin-left":"10px"}},lGe={class:"bottom-container"},uGe=Je({__name:"update-filament",props:Dm({title:{type:String,default:""},temperatureMin:{type:Number,default:190},temperatureMax:{type:Number,default:220},modelValue:{type:Boolean,default:!1},enbleEditFilament:{type:Boolean,default:!1},curSelectSlotColor:{type:String,default:"#409eff"},curSelectSlotId:{type:String,default:""},liteTrays:{type:Array,default:()=>[]},historyEditFilamentColor:{type:Array,default:()=>[]}},{curFilamentName:{type:String,default:""},curFilamentNameModifiers:{},curFilamentType:{type:String,default:""},curFilamentTypeModifiers:{},curBrand:{type:String,default:""},curBrandModifiers:{}}),emits:Dm(["update:modelValue","update:filamentName","update-color","update:manufacturer","update-filament"],["update:curFilamentName","update:curFilamentType","update:curBrand"]),setup(e,{emit:t}){const{isMobile:n}=gs(),r=t,i=se(["ELEGOO","Generic"]),o=e,s=V(()=>String(C.value??"").trim().toUpperCase()),a=V(()=>l4()),c=A=>{const T=String(A??"").trim();return T?a.value.find(j=>j.toUpperCase().trim()===T.toUpperCase())??"":""},l=A=>{const T=Pi(A);if(A&&(T!=null&&T.type)){w.value=T.type;return}A||(w.value="")},u=A=>{const T=c(A);S.value!==T&&(S.value=T),l(T)},d=V(()=>s.value==="ELEGOO"?DZ():s.value==="GENERIC"?LZ():l4()),f=V(()=>{const A=s.value,T=NZ();return A?T.filter(k=>(ob(k)||[]).some(re=>h(re,A))):T}),h=(A,T)=>{const k=Pi(A),j=String(T??"").trim().toUpperCase();return j?j==="ELEGOO"?!!(k!=null&&k.elegoo):j==="GENERIC"?!!(k!=null&&k.generic):!0:!0},p=V(()=>{const A=String(w.value??"").trim(),T=s.value;let k;return A?k=ob(A)||[]:k=d.value,T&&(k=k.filter(j=>h(j,T))),!A&&!T?a.value:k}),g=se(!1),m=se(!1),y=se(!1),v=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.filament_name}),E=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.brand}),b=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.filament_type}),S=Nh(e,"curFilamentName"),w=Nh(e,"curFilamentType"),C=Nh(e,"curBrand");ln(()=>{Ye(v,A=>{A&&u(A)},{immediate:!0}),Ye(E,A=>{if(A&&C.value!==A){const T=i.value.find(k=>k.toUpperCase().trim()===A.toUpperCase().trim());T?C.value=T:C.value=A}},{immediate:!0}),Ye(b,A=>{if(!A)return;if(!w.value){w.value=A;return}if(String(w.value).trim().toUpperCase()!==String(A).trim().toUpperCase()){const k=f.value;(k.length===0||!k.includes(w.value))&&(w.value=A)}},{immediate:!0}),Ye(()=>o.curSelectSlotColor,A=>{A&&!I.value&&(I.value="")},{immediate:!0}),Ye(s,A=>{if(!w.value)return;const T=f.value;A&&T.length>0&&!T.includes(w.value)&&(w.value="")},{immediate:!0})});const _=se(!1),I=se(""),O=se(!1),L=["#FFFFFF","#FFF242","#DBF47A","#09CC3A","#077747","#0B6283","#0BE2A0","#74D9F3","#48A7FA","#2850DF","#433089","#A03BF7","#F32FF8","#D4B1DD","#F95D77","#F72221","#7C4C00","#F88D36","#FCEBD7","#D2C5A3","#AF7832","#898989","#BCBCBC","#000000"],R=A=>{I.value=A,_.value=!1,O.value=!1},F=()=>{var A,T,k,j;return{canvas_id:0,tray_id:0,brand:C.value,filament_type:(A=Pi(S.value))==null?void 0:A.type,filament_name:S.value,filament_code:(T=Pi(S.value))==null?void 0:T.code,filament_color:I.value?I.value:o.curSelectSlotColor,filament_min_temp:(k=Pi(S.value))==null?void 0:k.temperature.min,filament_max_temp:(j=Pi(S.value))==null?void 0:j.temperature.max}};function W(){if(g.value=!1,!s.value){const A=i.value.find(T=>h(S.value,T));A&&(C.value=A)}u(S.value)}function J(){m.value=!1;const A=p.value;A.length>0?u(A[0]):u("")}function Y(){y.value=!1;const A=p.value,T=String(S.value??""),k=c(T);if(!k){T?u(""):A.length>0&&u(A[0]);return}if(!A.includes(k)){const j=A[0]||"";u(j)}w.value&&!f.value.includes(w.value)&&(w.value="")}const M=V({get:()=>o.modelValue,set:A=>r("update:modelValue",A)});Ye(M,A=>{if(!A)return;const T=o.liteTrays.find(me=>me.id===o.curSelectSlotId),k=(T==null?void 0:T.filament_name)??"",j=(T==null?void 0:T.brand)??"",re=(T==null?void 0:T.filament_type)??"";if(k?u(k):S.value="",re?w.value=re:k||(w.value=""),j){const me=i.value.find(te=>te.toUpperCase().trim()===j.toUpperCase().trim());C.value=me??j}else C.value="";if(!k&&C.value&&w.value&&!S.value){const me=p.value;me.length>0&&u(me[0])}I.value="",g.value=!1,y.value=!1,m.value=!1,O.value=!1},{immediate:!0});const B=()=>{if(!(!i.value.find(A=>A===C.value)&&(y.value=!0,y.value))&&!((S.value===wi.NoRecognition||S.value===wi.NoFilament)&&(g.value=!0,g.value))){if(o.enbleEditFilament){const A=(I.value?I.value:o.curSelectSlotColor)||"",T=String(A).toUpperCase()===String(ec).toUpperCase();if(O.value=T,O.value)return}g.value=!1,y.value=!1,r("update-filament",F()),I.value="",M.value=!1}},q=()=>{Pe.log("重置按钮被点击了"),I.value=ec,w.value="",S.value="",C.value="",g.value=!1,y.value=!1,O.value=!1},z=()=>{M.value=!1,I.value="",u(v.value??""),C.value=E.value,g.value=!1,y.value=!1,O.value=!1};return(A,T)=>{const k=pr,j=Ug,re=Fg,me=Dp,te=Zd;return ne(),Ze(te,{modelValue:M.value,"onUpdate:modelValue":T[4]||(T[4]=X=>M.value=X),width:P(n)?" 90%":"500px","show-close":!1,"close-on-click-modal":!1,style:{padding:0},class:"bg-color"},{header:Re(()=>[G("div",BVe,[G("span",null,Ue(e.title),1),be(k,{class:"close-btn",type:"info",size:"small",onClick:z},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>{var X,fe;return[G("div",FVe,[G("div",UVe,[G("span",jVe,Ue(A.$t("multiColor.manufacturer")),1),e.enbleEditFilament?(ne(),Ze(re,{key:0,modelValue:C.value,"onUpdate:modelValue":T[0]||(T[0]=le=>C.value=le),class:je(["select-filament",{"error-select":y.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:Y},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(i.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])):(ne(),Te("span",HVe,Ue(C.value),1))]),G("div",zVe,[G("span",WVe,Ue(A.$t("multiColor.filamentType")),1),be(re,{modelValue:w.value,"onUpdate:modelValue":T[1]||(T[1]=le=>w.value=le),class:je(["select-filament",{"error-select":m.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:J},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(f.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",VVe,[G("span",GVe,Ue(A.$t("multiColor.filamentSilk")),1),e.enbleEditFilament?(ne(),Ze(re,{key:0,modelValue:S.value,"onUpdate:modelValue":T[2]||(T[2]=le=>S.value=le),class:je(["select-filament",{"error-select":g.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:W},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(p.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])):(ne(),Te("span",JVe,Ue(S.value),1))]),G("div",ZVe,[G("span",YVe,Ue(A.$t("multiColor.color")),1),be(me,{"popper-style":P(n)?{left:"50%",transform:"translateX(-50%)",marginTop:"8px",padding:0}:{marginLeft:"8px",padding:0},placement:P(n)?"bottom":"right","show-arrow":!1,width:"330",trigger:"click",visible:_.value,"onUpdate:visible":T[3]||(T[3]=le=>_.value=le)},{reference:Re(()=>[be(k,{class:je(["color-button",{"error-color":O.value}]),disabled:!e.enbleEditFilament,style:Ut({backgroundColor:I.value||e.curSelectSlotColor})},null,8,["class","disabled","style"])]),default:Re(()=>[G("div",XVe,[G("div",QVe,[G("div",KVe,[yt(Ue(A.$t("multiColor.historyColor"))+" ",1),be(P(J3))]),G("div",qVe,[(ne(!0),Te(Ft,null,Rr(e.historyEditFilamentColor,(le,ve)=>(ne(),Te("div",{key:"box-"+ve,class:"color-dot",style:Ut({backgroundColor:le}),onClick:Z=>R(le)},null,12,$Ve))),128))])]),G("div",eGe,[G("div",tGe,[yt(Ue(A.$t("multiColor.moreColor"))+" ",1),be(P(J3))]),G("div",nGe,[(ne(),Te(Ft,null,Rr(L,(le,ve)=>G("div",{key:"more-"+ve,class:"color-dot",style:Ut({backgroundColor:le}),onClick:Z=>R(le)},null,12,rGe)),64))])])])]),_:1},8,["popper-style","placement","visible"])]),G("div",iGe,[G("span",oGe,Ue(A.$t("multiColor.nozzleTmperature")),1),G("div",sGe,[G("span",aGe,Ue((X=P(Pi)(S.value))==null?void 0:X.temperature.min)+"°C",1),be(P(rV)),G("span",cGe,Ue((fe=P(Pi)(S.value))==null?void 0:fe.temperature.max)+"°C",1)])]),G("div",lGe,[be(k,{class:"cancel-btn",type:"info",onClick:z},{default:Re(()=>[yt(Ue(A.$t("buttons.cancel")),1)]),_:1}),be(k,{class:"reset-btn",type:"primary",onClick:q},{default:Re(()=>[yt(Ue(A.$t("buttons.reset")),1)]),_:1}),be(k,{class:"confirm-btn",type:"primary",onClick:B},{default:Re(()=>[yt(Ue(A.$t("buttons.confirm")),1)]),_:1})])])]}),_:1},8,["modelValue","width"])}}}),Pee=rr(uGe,[["__scopeId","data-v-72c9a817"]]),dGe={class:"vertical-icon-card"},fGe={key:2,class:"icon-number font-size12"},hGe={key:1,class:"name-text font-size14"},pGe={class:"name-wrapper font-size14"},mGe=Je({__name:"tray-card",props:{amsSlot:{},displayHeaderMode:{default:"icon"},curSelectSlotId:{},curFeedWithdrawSlotId:{},curAmsStatus:{}},emits:["update:modelValue","update-switch","click-slot","update-filament"],setup(e,{emit:t}){const n=se(!1),r=se(!1),i=e,o=se(i.amsSlot.filamentName),s=se(i.amsSlot.brand),a=se(i.amsSlot.filamentColor),c=t;function l(){return{ams_type:ic.Standard,ams_id:u(i.amsSlot.id),tray_id:i.amsSlot.id,target_brand:s.value,target_type:i.amsSlot.filamentType,target_name:o.value,target_color:a.value}}function u(g){return g[0]}const d=()=>{n.value=!0};function f(){c("update-filament",l())}const h=()=>{c("click-slot",i.amsSlot.id)},p=()=>{r.value=!0,Pe.log("刷新图标被点击了!",i.amsSlot.id)};return(g,m)=>{const y=Pn,v=pr;return ne(),Te("div",dGe,[G("div",{class:je(["icon-container",{"refrsh-show":g.displayHeaderMode!=="name"}])},[g.displayHeaderMode==="icon"||g.displayHeaderMode==="both"?(ne(),Te(Ft,{key:0},[g.curFeedWithdrawSlotId!=g.amsSlot.id?(ne(),Ze(y,{key:0,class:je(["refresh-icon",{"is-loading":r.value}]),onClick:p},{default:Re(()=>[be(P(QV))]),_:1},8,["class"])):(ne(),Ze(y,{key:1,class:je(["loading-icon",{"is-loading":g.amsSlot.id===g.curFeedWithdrawSlotId&&g.curAmsStatus!==P(jg).Idle}])},{default:Re(()=>[be(P(Z3))]),_:1},8,["class"])),g.curFeedWithdrawSlotId!=g.amsSlot.id?(ne(),Te("span",fGe,[St(g.$slots,"icon-number",{},()=>[m[5]||(m[5]=yt("5",-1))],!0)])):Ke("",!0)],64)):(ne(),Te("span",hGe,[St(g.$slots,"header-name",{},void 0,!0)]))],2),G("div",{class:je(["hollow-circle-container",{"with-border":g.amsSlot.id===g.curSelectSlotId}])},[G("div",{class:je(["hollow-circle",{"with-question":g.amsSlot.from===P(ds).Null,"with-slash":!g.amsSlot.enabled,"thin-border":!g.amsSlot.enabled||g.amsSlot.from===P(ds).Null}]),style:Ut({borderColor:g.amsSlot.filamentColor}),onClick:m[0]||(m[0]=E=>h())},null,6)],2),G("div",pGe,[St(g.$slots,"name",{},void 0,!0)]),be(v,{class:"bottom-btn",disabled:!g.amsSlot.enabled,onClick:d},{default:Re(()=>[g.amsSlot.enabled?g.amsSlot.from===P(ds).Rfid?(ne(),Ze(P(tle),{key:1})):(ne(),Ze(P(BO),{key:2})):(ne(),Ze(P(BO),{key:0,class:"edit-false-icon"}))]),_:1},8,["disabled"]),be(Pee,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=E=>n.value=E),enbleEditFilament:g.amsSlot.enabled&&(g.amsSlot.from===P(ds).User||g.amsSlot.from===P(ds).Null),curFilamentName:o.value,"onUpdate:curFilamentName":m[2]||(m[2]=E=>o.value=E),curBrand:s.value,"onUpdate:curBrand":m[3]||(m[3]=E=>s.value=E),curFilamentColor:a.value,"onUpdate:curFilamentColor":m[4]||(m[4]=E=>a.value=E),onUpdateFilament:f},null,8,["modelValue","enbleEditFilament","curFilamentName","curBrand","curFilamentColor"])])}}}),gGe=rr(mGe,[["__scopeId","data-v-c38531c2"]]),vGe={class:"dialog-header font-size16"},yGe={key:0},EGe={key:1},bGe={class:"dialog-content bg-color"},SGe={class:"setting-header"},AGe={class:"setting-title"},CGe={key:0,class:"temperature-humidity-container"},wGe={class:"humidity"},TGe={class:"humidity-value font-size14"},IGe={class:"temperature"},PGe={class:"temperature-value font-size14"},OGe={class:"setting-description"},_Ge={key:0,class:"setting-note"},RGe={key:0,class:"bottom-container"},kGe=Je({__name:"multi-color-setting",props:{curVersion:{type:String,default:ic.Standard},humidity:{type:Number,default:35},temperature:{type:Number,default:35},settingSwitchs:{type:Array,default:()=>[]},modelValue:{type:Boolean,default:!1},showHumidity:{type:Boolean,default:!1},showReturnBtn:{type:Boolean,default:!1}},emits:["update:modelValue","confirm","update-switch"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=V({get:()=>r.modelValue,set:c=>o("update:modelValue",c)}),o=t,s=()=>{i.value=!1},a=(c,l)=>{var u;(u=r.settingSwitchs[l])!=null&&u.loading||o("update-switch",c,l)};return(c,l)=>{const u=pr,d=Mw,f=Zd;return ne(),Ze(f,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=h=>i.value=h),width:P(n)?" 90%":"500px","show-close":!1,style:Ut({padding:0,maxHeight:P(n)?"80vh":"70vh",overflow:"auto"}),class:"bg-color"},{header:Re(()=>[G("div",vGe,[e.curVersion===P(ic).Standard?(ne(),Te("span",yGe,Ue(c.$t("multiColor.CanvasPro"))+Ue(c.$t("setting")),1)):(ne(),Te("span",EGe,Ue(c.$t("multiColor.CanvasLite"))+Ue(c.$t("setting")),1)),be(u,{class:"close-btn",type:"info",size:"small",onClick:s},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",bGe,[(ne(!0),Te(Ft,null,Rr(e.settingSwitchs,(h,p)=>(ne(),Te("div",{class:"setting-item",key:p},[G("div",SGe,[be(d,{modelValue:h.value,"onUpdate:modelValue":g=>h.value=g,disabled:h.loading,onChange:g=>a(!!g,p)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"]),G("span",AGe,Ue(c.$t(h.label)),1),p===0&&e.showHumidity?(ne(),Te("div",CGe,[G("div",wGe,[be(P(nV)),G("span",TGe,Ue(e.humidity)+"%RH",1)]),G("div",IGe,[be(P(nue)),G("span",PGe,Ue(e.temperature)+"℃",1)])])):Ke("",!0)]),G("div",OGe,Ue(c.$t(h.description)),1),h.note?(ne(),Te("div",_Ge,Ue(c.$t(h.note)),1)):Ke("",!0)]))),128)),e.showReturnBtn?(ne(),Te("div",RGe,[be(u,{onClick:s},{default:Re(()=>[...l[1]||(l[1]=[yt("返回",-1)])]),_:1})])):Ke("",!0)])]),_:1},8,["modelValue","width","style"])}}}),xGe=rr(kGe,[["__scopeId","data-v-0ca0532d"]]),DGe={key:0,class:"square-mark"},LGe={key:1,class:"square-mark"},NGe=Je({__name:"tray-card-nav",props:{tray:{type:Array,default:()=>[]},selected:{type:Boolean,default:!1}},emits:["click"],setup(e){return(t,n)=>(ne(),Te("div",{class:je(["all-container",{selected:e.selected}]),onClick:n[0]||(n[0]=r=>t.$emit("click"))},[(ne(!0),Te(Ft,null,Rr(e.tray,(r,i)=>(ne(),Te("div",{key:i,class:"square",style:Ut({backgroundColor:r.from===P(ds).Null||!r.enabled?"#333334":r.filamentColor})},[r.from===P(ds).Null&&r.enabled?(ne(),Te("span",DGe,"?")):Ke("",!0),r.enabled?Ke("",!0):(ne(),Te("span",LGe,"/"))],4))),128))],2))}}),MGe=rr(NGe,[["__scopeId","data-v-dd06faea"]]),BGe="data:image/png;base64,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",FGe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAYAAADcD8w1AAAQAElEQVR4AezbWajlVXYG8F2lluVYzmNpnetYpVY5RiQOFBF8EoJBKyAoJvRD++B7hEiZ0BCQhIaYQDBN4kMIiOBTIjiEKisO1xmc53vLea7BqdQasn67+U7+59S1feq3bvx67b2Gb6299v4P55xbi9vv/t/iiy+++E/WrVt363XXXXdfyRcK711zzTUfXnnllZtvvPHGuVtuuWX+ggsumDv66KPnjjjiiLkjjzzyZxE/MatXr8Yxd9ttt81fcsklnSP2SJzGgXlAZ7xmzZq5m2++ef6qq66aO+mkkzoPfcBviOgj2U488cS5Wtv8HXfcMX/ttdfOH3fccZ2HLSj/d4866qiPqvZPjj322I/L553jjz/+seXLl//rGWec8Ytaz8oLL7xwv+m2LtToRdXUfW644YaDCssPOeSQW4v4V4VrDjrooNX77LPP8qVLlx5/6KGHnrxr167RV199taISjs4+++zRypUrR6effvoETjvttBEM9VXQ6MwzzxydddZZoypytHXr1tEnn3yy4rDDDus6djGnnHLKKDj11FNHQE/OzMx0G99Vq1aN1LBly5YVS5Ys6frUwhcHKdZ4iJmZ3/Koh37RokUr5ubmVvz4448r1BwesVA8J5XfcTMzM8fUhh5bmzNTuf/48MMP/0X15dYDDjjgT2t8/Nq1a5e21sb9HQ9K2arBS+qEnliBl9dO/eUJJ5zw63PPPfePinBxLaC988477ZlnnmnPP/98e+utt9pHH33UXn/99VaFtffee699/vnn7Ysvvuj47LPPxrKa2D799NM+//jjj7s0B3Oxr776anv77bc7Jx549913O+8HH3zQ3n///TY/P9/lhx9+2PXsIH7z5s29ppdffrlLenF81UlmTtIBPYkfjzhre+2115ra1Jg1keoiwZgdvvzyy/b111+f8MMPP9zw/fff/1UdyGuvvvrq86qnR1RvF40bffvtt+9bDV6z//77//Uxxxzzm8I/1O792UUXXbSsZFuxYkWrxrdly5a1Aw88sNUl1OqUt/Ivntb222+/Vqe81SXW6rJqxdWlOb04MXVqW+14960rpNUJaHXVtCqs7dmzp9lQc34HH3zwOM9wjgcn8AX2ujoaTjXRya0WUE8dnlbrGnOqP0hNeIzVUae7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",UGe={class:"printer global-relative-offset"},jGe=["src"],HGe=["src"],zGe=["onClick","onDblclick"],WGe=Je({__name:"multi-color-machine-lite",props:{filamentName:{type:String,default:"PLA"},curFeedWithdrawSlotId:{type:String,default:""},curAmsStatus:{type:String,default:jg.Idle},curSelectSlotColor:{type:String,default:"#409eff"},isFeedWithdrawSloting:{type:Boolean,default:!1},curFeedWithdrawStatus:{type:String,default:Iee.Idle},canvas:{type:Object,default:()=>({})},trays:{type:Array,default:()=>[]},editBtnDisabled:{type:Boolean,default:!1},curActiveTrayInfo:{type:Object,default:()=>({})},curLoadedTrayInfo:{type:Object,default:()=>({})}},emits:["select-slot-id","double-click-slot"],setup(e,{emit:t}){const n=t,r=di(),i=e,o=V(()=>i.curFeedWithdrawSlotId!=="-1"&&i.isFeedWithdrawSloting),s=se(!1),a=se(!1);ln(()=>{}),Ye(()=>i.isFeedWithdrawSloting,L=>{L?(a.value=!1,s.value=!0):a.value=!0},{deep:!0});const c=se("-1"),l=se("#d8d8d8"),u=se("#d8d8d8"),d=V(()=>{var L;return r.isPrinting?((L=i.curLoadedTrayInfo)==null?void 0:L.filament_color)||l.value:i.isFeedWithdrawSloting&&i.curFeedWithdrawSlotId!=="-1"&&i.curActiveTrayInfo.filament_color||l.value}),f=V(()=>{var R;const L=[l.value,l.value,l.value,l.value];if(r.isPrinting){const F=Number(r.LoadedSlotId);!Number.isNaN(F)&&F>=0&&F<=3&&(L[F]=((R=i.curLoadedTrayInfo)==null?void 0:R.filament_color)??l.value)}if(i.isFeedWithdrawSloting){const F=Number(i.curFeedWithdrawSlotId);!Number.isNaN(F)&&F>=0&&F<=3&&(L[F]=d.value??l.value)}return L}),h=V(()=>{if(r.isPrinting){const L=Number(r.LoadedSlotId);if(!Number.isNaN(L)&&L>=0&&L<=3)return L}if(i.isFeedWithdrawSloting){const L=Number(i.curFeedWithdrawSlotId);if(!Number.isNaN(L)&&L>=0&&L<=3)return L}return-1}),p=V(()=>{const W=[1,1,1,1];if(r.isPrinting){const J=Number(r.LoadedSlotId);!Number.isNaN(J)&&J>=0&&J<=3&&(W[J]=2)}if(i.isFeedWithdrawSloting){const J=Number(i.curFeedWithdrawSlotId);!Number.isNaN(J)&&J>=0&&J<=3&&(W[J]=3)}return W}),g=L=>{const R=Number(L)-1,F=i.trays.find(W=>Number(W.id)===R);return(F==null?void 0:F.status)===Oo.Empty?l.value:(F==null?void 0:F.filament_color)||l.value},m=L=>{c.value=L.id,u.value=L.filament_color,n("select-slot-id",c.value,u.value)},y=L=>{i.editBtnDisabled||(c.value=L.id,u.value=L.filament_color,n("double-click-slot",c.value,u.value))},v=L=>{var R;return(R=Pi(L))==null?void 0:R.type},E=L=>!L.filament_type&&L.status===Oo.Empty?"'/'":!L.filament_type&&L.status!==Oo.Empty?"'?'":`'${L.filament_type||v(L.filament_name)}'`,b=L=>!(L==wi.NoFilament||L==wi.NoRecognition),S=L=>L.filament_name||"-",w=()=>{const L=i.curFeedWithdrawSlotId;return{0:{top:"37%",left:"14%"},1:{top:"60%",left:"14%"},2:{top:"60%",left:"95%"},3:{top:"37%",left:"95%"}}[L]||{}},C=()=>{const L=r.lastLoadedSlotId;return{0:{top:"37%",left:"14%"},1:{top:"60%",left:"14%"},2:{top:"60%",left:"95%"},3:{top:"37%",left:"95%"}}[L]||{top:"37%",left:"14%"}},_=V(()=>r.isFilamentInterruption),I=[{id:"1",component:fle},{id:"2",component:mle},{id:"3",component:yle},{id:"4",component:Sle}],O=[{id:"1",component:Ile},{id:"2",component:_le},{id:"3",component:xle},{id:"4",component:Nle}];return(L,R)=>{const F=Dp;return ne(),Te("div",UGe,[G("img",{src:P(BGe),class:"printer-machine",alt:""},null,8,jGe),(ne(),Te(Ft,null,Rr(I,W=>be(Br(W.component),{key:W.id,class:je(`printer-curve${W.id.trim()}`),style:Ut({"--curve-color":g(W.id)})},null,8,["class","style"])),64)),be(P(lle),{class:je(["printer-machine-header-line",{active:o.value,highlighted:h.value===0}]),style:Ut({"--curve-color":f.value[0],zIndex:p.value[0]})},null,8,["class","style"]),be(P(Iue),{class:je(["printer-machine-header-line-left2",{active:o.value,highlighted:h.value===1}]),style:Ut({"--curve-color":f.value[1],zIndex:p.value[1]})},null,8,["class","style"]),be(P(_ue),{class:je(["printer-machine-header-line-left3",{active:o.value,highlighted:h.value===2}]),style:Ut({"--curve-color":f.value[2],zIndex:p.value[2]})},null,8,["class","style"]),be(P(xue),{class:je(["printer-machine-header-line-left4",{active:o.value,highlighted:h.value===3}]),style:Ut({"--curve-color":f.value[3],zIndex:p.value[3]})},null,8,["class","style"]),be(P(sle),{class:"printer-machine-header",style:Ut({"--curve-color":d.value})},null,8,["style"]),G("img",{src:P(FGe),class:"printer-machine-top",alt:""},null,8,HGe),vn(be(P(Z3),{class:je(["printer-loading",{active:o.value}]),style:Ut(w())},null,8,["class","style"]),[[_r,o.value]]),vn(be(P(Z3),{class:je(["printer-loading interrupt-loading",{active:_.value}]),style:Ut(C())},null,8,["class","style"]),[[_r,_.value]]),(ne(),Te(Ft,null,Rr(O,W=>be(Br(W.component),{key:W.id,class:je([`slot-num${W.id.trim()}`,{active:(Number(c.value)+1).toString()===W.id}])},null,8,["class"])),64)),(ne(!0),Te(Ft,null,Rr(e.trays,(W,J)=>(ne(),Ze(F,{key:`${W.id}-${J}`,placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,disabled:!b(W.filament_name),"popper-style":{padding:"8px",background:W.filament_color||"#333334",color:P(Gc)(W.filament_color),textAlign:"center",width:"auto",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("div",{class:"hollow-circle",style:Ut({"--filamentType":E(W),"--curFilamentColor":W.filament_color,"--text-color":P(Gc)(W.filament_color),top:W.top,left:W.left}),onClick:Y=>m(W),onDblclick:Y=>y(W)},null,44,zGe)]),default:Re(()=>[yt(" "+Ue(S(W)),1)]),_:2},1032,["disabled","popper-style"]))),128))])}}}),VGe=rr(WGe,[["__scopeId","data-v-8da9606c"]]),GGe={key:0,class:"standard-container"},JGe={class:"standard-container__inner"},ZGe={class:"standard-tray-nav"},YGe={class:"standard-main-section"},XGe={class:"standard-left-panel"},QGe={class:"standard-vertical-group"},KGe={class:"standard-humidity-container"},qGe={class:"standard-humidity-display"},$Ge={class:"standard-instruction-text font-size14"},eJe={class:"standard-action-buttons"},tJe={class:"standard-left-action-buttons"},nJe={href:"https://www.elegoo.com.cn/",target:"_blank",rel:"noopener noreferrer"},rJe={class:"standard-right-action-buttons"},iJe={key:1,class:"lite-container"},oJe={class:"lite-wrapper"},sJe={key:0,class:"lite-btn-container global-relative-offset"},aJe={class:"lite-btn-group"},cJe={class:"lite-main-buttons"},lJe={class:"standard-instruction-text-lite font-size14"},uJe={key:1,class:"lite-mobile-btn-container global-relative-offset",style:{"--offset-top":"-2%","--offset-left":"-16%"}},dJe={href:"https://www.elegoo.com.cn/",target:"_blank",rel:"noopener noreferrer"},fJe=Je({__name:"mutil-color",props:{version:{type:String,default:ic.Standard}},setup(e){const{isMobile:t}=gs(),n={AmsBoxs:[],VtTray:{}},{filterSettingSwitchs:r,filamentFrom:i,curSelectSlotColor:o,showSettingDialog:s,showEditDialog:a,curSelectSlotId:c,curVersion:l,curAmsStatus:u,curTrayNavIndex:d,curFeedWithdrawSlotId:f,isSelectSlot:h,isFeedWithdrawSloting:p,canvas:g,liteTrays:m,feedBtnDisabled:y,unfeedBtnDisabled:v,editBtnDisabled:E,historyEditFilamentColor:b,curFeedWithdrawStatus:S,curActiveTrayInfo:w,curLoadedTrayInfo:C,onSwitchChange:_,onSettingClick:I,onEditClick:O,onSlotClick:L,onSlotDoubleClick:R,onTrayNavClick:F,onFeedClick:W,onUnfeedClick:J,onUpdateFilament:Y}=nVe();return(M,B)=>{const q=ku;return ne(),Ze(q,null,{title:Re(()=>[yt(Ue(M.$t("filament")),1)]),default:Re(()=>[P(l)===P(ic).Standard?(ne(),Te("div",GGe,[G("div",JGe,[G("div",ZGe,[(ne(!0),Te(Ft,null,Rr(n.AmsBoxs,(z,A)=>(ne(),Ze(MGe,{key:A,tray:z.TrayList,selected:P(d)===A,onClick:T=>P(F)(A)},null,8,["tray","selected","onClick"]))),128))]),G("div",YGe,[G("div",XGe,[be(gGe,{amsSlot:n.VtTray,"display-header-mode":"name","slot-type":P(i).Rfid,slotEnable:!0},{"header-name":Re(()=>[yt(Ue(M.$t("multiColor.filamentRack")),1)]),name:Re(()=>[...B[2]||(B[2]=[yt("PLA",-1)])]),_:1},8,["amsSlot","slot-type"])]),G("div",QGe,[G("div",KGe,[G("div",qGe,[be(P(Pn),null,{default:Re(()=>[(ne(),Ze(Br(P(nV))))]),_:1}),B[3]||(B[3]=G("span",{style:{color:"#66D3FE","padding-left":"2px"}},"45",-1))])])])]),G("div",$Ge,[G("span",null,Ue(M.$t("multiColor.feedNote")),1)]),G("div",eJe,[G("div",tJe,[be(P(pr),{type:"info",class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"]),G("a",nJe,[be(P(pr),{type:"info",class:"standard-action-btn"},{default:Re(()=>[yt(Ue(M.$t("buttons.guide")),1)]),_:1})])]),G("div",rJe,[be(P(pr),{type:"primary",disabled:!P(h)||P(p),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:!P(h)||P(p),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"])])])])])):P(l)===P(ic).Lite?(ne(),Te("div",iJe,[G("div",oJe,[be(VGe,{onSelectSlotId:P(L),onDoubleClickSlot:P(R),curFeedWithdrawSlotId:P(f),trays:P(m),curAmsStatus:P(u),curSelectSlotColor:P(o),canvas:P(g),isFeedWithdrawSloting:P(p),curFeedWithdrawStatus:P(S),editBtnDisabled:P(E),curActiveTrayInfo:P(w),curLoadedTrayInfo:P(C)},null,8,["onSelectSlotId","onDoubleClickSlot","curFeedWithdrawSlotId","trays","curAmsStatus","curSelectSlotColor","canvas","isFeedWithdrawSloting","curFeedWithdrawStatus","editBtnDisabled","curActiveTrayInfo","curLoadedTrayInfo"]),P(t)?Ke("",!0):(ne(),Te("div",sJe,[G("div",aJe,[be(P(pr),{class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"])]),G("div",cJe,[be(P(pr),{type:"primary",disabled:P(y),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:P(v),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{onClick:P(O),class:"lite-edit-btn",disabled:P(E)},{default:Re(()=>[yt(Ue(M.$t("buttons.edit")),1)]),_:1},8,["onClick","disabled"])]),G("div",lJe,[G("span",null,Ue(M.$t("multiColor.feedNote")),1)])])),P(t)?(ne(),Te("div",uJe,[be(P(pr),{type:"primary",disabled:P(y),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:P(v),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{onClick:P(O),class:"lite-edit-btn",disabled:P(E)},{default:Re(()=>[yt(Ue(M.$t("buttons.edit")),1)]),_:1},8,["onClick","disabled"]),G("a",dJe,[be(P(pr),{class:"standard-action-btn"},{default:Re(()=>[yt(Ue(M.$t("buttons.guide")),1)]),_:1})]),be(P(pr),{class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"])])):Ke("",!0)])])):Ke("",!0),be(xGe,{modelValue:P(s),"onUpdate:modelValue":B[0]||(B[0]=z=>En(s)?s.value=z:null),onUpdateSwitch:P(_),settingSwitchs:P(r),showHumidity:P(l)===P(ic).Standard,showReturnBtn:!1,curVersion:P(l)},null,8,["modelValue","onUpdateSwitch","settingSwitchs","showHumidity","curVersion"]),P(l)===P(ic).Lite?(ne(),Ze(Pee,{key:2,modelValue:P(a),"onUpdate:modelValue":B[1]||(B[1]=z=>En(a)?a.value=z:null),enbleEditFilament:P(c)!="-1",curSelectSlotColor:P(o),curSelectSlotId:P(c),liteTrays:P(m),historyEditFilamentColor:P(b),onUpdateFilament:P(Y)},null,8,["modelValue","enbleEditFilament","curSelectSlotColor","curSelectSlotId","liteTrays","historyEditFilamentColor","onUpdateFilament"])):Ke("",!0)]),_:1})}}}),PH=rr(fJe,[["__scopeId","data-v-67f3b399"]]),hJe={class:"flex-1 flex items-center justify-between mr-5"},pJe={key:0,class:"flex flex-col justify-between items-end"},mJe={class:"status-container"},gJe={class:"model-image"},vJe={class:"image-slot"},yJe=["src"],EJe={class:"flex-1 ml-[18px] flex flex-col"},bJe={key:0,class:"flex flex-col justify-between flex-1"},SJe={class:"filename-container"},AJe={class:"detail-title"},CJe={class:"detail-filename"},wJe={class:"detail-title"},TJe={class:"detail-text"},IJe={class:"detail-title"},PJe={class:"detail-text"},OJe={class:"flex items-center"},_Je={class:"ml-2"},RJe={key:1,class:"flex flex-col flex-1 justify-around"},kJe={class:"detail-title"},xJe={class:"detail-text"},DJe={class:"detail-title"},LJe={class:"detail-text"},NJe=Je({__name:"device-status",setup(e){El();const n=di(),r=C=>typeof C=="number"&&!isNaN(C)?Math.max(0,Math.min(100,C)):0,{printerInfo:i,status:o,deviceInfo:s,pauseDisableButton:a,resumeDisableBtn:c,stopDisableBtn:l,currentThumbnail:u,displayFileName:d,curProgress:f,curPrintLayer:h,totalPrintLayer:p,subStatus:g,isMQTTConnected:m,lastSubStatus:y,isFilamentInterruption:v,showPowerOffResumeDialog:E,powerOffResumeTitle:b,powerOffResumeMsg:S,powerOffResumeBtnTxt:w}=See();return ln(()=>{}),(C,_)=>{const I=pr,O=Dw,L=KG;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[G("div",hJe,[be(bee,{status:P(o),subStatus:P(g),isMQTTConnected:P(m),lastSubStatus:P(y)},null,8,["status","subStatus","isMQTTConnected","lastSubStatus"]),P(n).isPrinting?(ne(),Te("div",pJe,[G("span",null,[!P(n).isPaused&&!P(v)?(ne(),Ze(I,{key:0,class:"print-control-button",disabled:P(a),onClick:P(n).pausePrint},{default:Re(()=>[G("span",null,[be(P(KC))])]),_:1},8,["disabled","onClick"])):Ke("",!0),P(n).isPaused||P(v)?(ne(),Ze(I,{key:1,class:"print-control-button",disabled:P(c),onClick:_[0]||(_[0]=R=>P(n).resumePrint(1e4*6))},{default:Re(()=>[G("span",null,[be(P(QC))])]),_:1},8,["disabled"])):Ke("",!0),be(I,{class:"print-control-button",disabled:P(l),onClick:P(n).stopPrint},{default:Re(()=>[G("span",null,[be(P($W))])]),_:1},8,["disabled","onClick"])])])):Ke("",!0)])]),default:Re(()=>{var R;return[G("div",mJe,[G("div",gJe,[be(O,{src:P(u)},{error:Re(()=>[G("div",vJe,[G("img",{src:P(EJ),alt:"error"},null,8,yJe)])]),_:1},8,["src"])]),G("div",EJe,[P(n).isPrinting?(ne(),Te("div",bJe,[G("span",SJe,[G("span",AJe,Ue(C.$t("file"))+": ",1),G("span",CJe,Ue(P(d)),1)]),G("span",null,[G("span",wJe,Ue(C.$t("printStatus.layerProgress"))+": ",1),G("span",TJe,Ue(P(h))+"/"+Ue(P(p)),1)]),G("span",null,[G("span",IJe,Ue(C.$t("printStatus.remainingPrintTime"))+": ",1),G("span",PJe,Ue(P(eZ)(P(n).remainingPrintTime)),1)]),G("div",OJe,[be(L,{class:"flex-1 self-center",percentage:r((R=P(i))==null?void 0:R.Progress),"show-text":!1,"stroke-width":3},null,8,["percentage"]),G("span",_Je,Ue(P(f))+"% ",1)])])):Ke("",!0),P(n).isPrinting?Ke("",!0):(ne(),Te("div",RJe,[G("span",null,[G("span",kJe,Ue(C.$t("deviceName"))+": ",1),G("span",xJe,Ue(P(s).name),1)]),G("span",null,[G("span",DJe,Ue(C.$t("deviceIp"))+": ",1),G("span",LJe,Ue(P(s).ip),1)])]))])])]}),_:1}),be(al,{modelValue:P(E),"onUpdate:modelValue":_[1]||(_[1]=R=>En(E)?E.value=R:null),"confirm-title":P(b),"confirm-message":P(S),"confirm-btn-txt":P(w),onConfirm:_[2]||(_[2]=R=>P(n).resumePrint(1e4*6*2)),onCancel:P(n).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onCancel"])],64)}}}),MJe=rr(NJe,[["__scopeId","data-v-ad7b57fc"]]),BJe={class:"control-container"},FJe={class:"flex items-center gap-2 justify-between mb-[10px]"},UJe={class:"flex items-center"},jJe={class:"fan-container"},HJe=Je({__name:"device-control",setup(e){const{deviceControlModel:t,onchassisFanSpeedChange:n,onAuxiliaryFanSpeedChange:r,onModelFanSpeedChange:i,onLightChange:o,controlDisabled:s,move:a,moveToHome:c,setPrintSpeedPct:l,changeSpeedDisabled:u,chassisFanDisabled:d,lightDisabled:f,fanDisabled:h,auxiliaryFanDisabled:p,xyzDisabled:g,uiPrinterMode:m,chassisFanCmdStatus:y,auxiliaryFanCmdStatus:v,modelFanCmdStatus:E,lightCmdStatus:b,showLightOffDialog:S,onLightOffConfirm:w,onLightOffCancel:C}=Aee();return(_,I)=>{const O=Ug,L=Fg;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(_.$t("control.control")),1)]),default:Re(()=>[G("div",BJe,[G("div",FJe,[be(wee,{step:P(t).moveStep,"onUpdate:step":I[0]||(I[0]=R=>P(t).moveStep=R),"x-pos":P(t).xPos,"y-pos":P(t).yPos,"z-pos":P(t).zPos,disabled:P(s)},null,8,["step","x-pos","y-pos","z-pos","disabled"])]),be(Cee,{class:"self-center w-full",xyzDisabled:P(g),onHomeAll:I[1]||(I[1]=R=>P(c)("XYZ")),onHomeX:I[2]||(I[2]=R=>P(c)("X")),onHomeY:I[3]||(I[3]=R=>P(c)("Y")),onHomeZ:I[4]||(I[4]=R=>P(c)("Z")),onXUp:I[5]||(I[5]=R=>P(a)("X",1)),onXDown:I[6]||(I[6]=R=>P(a)("X",-1)),onYUp:I[7]||(I[7]=R=>P(a)("Y",1)),onYDown:I[8]||(I[8]=R=>P(a)("Y",-1)),onZUp:I[9]||(I[9]=R=>P(a)("Z",1)),onZDown:I[10]||(I[10]=R=>P(a)("Z",-1))},null,8,["xyzDisabled"]),G("div",UJe,[G("span",null,Ue(_.$t("control.printSpeed")),1),be(L,{modelValue:P(m),"onUpdate:modelValue":I[11]||(I[11]=R=>En(m)?m.value=R:null),placeholder:"",style:{width:"140px"},"show-arrow":!1,offset:4,class:"ml-[10px] no-border-select",disabled:P(u),onChange:P(l)},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(P(t).printModeOptions,R=>(ne(),Ze(O,{key:R.value,label:_.$t(R.label),value:R.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","onChange"])]),G("div",jJe,[be(wd,{class:"flex-1",title:_.$t("control.model"),value:P(t).modelFanSpeed,"onUpdate:value":I[12]||(I[12]=R=>P(t).modelFanSpeed=R),onChange:P(i),disabled:P(h),defaultOpenValue:100,cmdStatus:P(E),"component-type":P(na).ModelFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.sideFan"),value:P(t).auxiliaryFanSpeed,"onUpdate:value":I[13]||(I[13]=R=>P(t).auxiliaryFanSpeed=R),onChange:P(r),disabled:P(p),defaultOpenValue:100,cmdStatus:P(v),"component-type":P(na).AuxiliaryFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Case"),"show-input":!0,value:P(t).chassisFanSpeed,"onUpdate:value":I[14]||(I[14]=R=>P(t).chassisFanSpeed=R),onChange:P(n),disabled:P(d),defaultOpenValue:100,cmdStatus:P(y),"component-type":P(na).ExhaustGrille},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Lighting"),"show-input":!1,value:P(t).lightValue,"onUpdate:value":I[15]||(I[15]=R=>P(t).lightValue=R),onChange:P(o),disabled:P(f),defaultOpenValue:1,cmdStatus:P(b),"component-type":P(na).ChassisLight},{icon:Re(()=>[be(P(tV))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"])])])]),_:1}),be(al,{modelValue:P(S),"onUpdate:modelValue":I[16]||(I[16]=R=>En(S)?S.value=R:null),"confirm-title":_.$t("errorNotice"),"confirm-message":_.$t("aiDetection.lightOffConfirm"),"confirm-btn-txt":_.$t("close"),onConfirm:P(w),onCancel:P(C)},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm","onCancel"])],64)}}}),zJe=rr(HJe,[["__scopeId","data-v-5c7e7505"]]),WJe={key:0,class:"pc-layout"},VJe={class:"left"},GJe={class:"right"},JJe={key:1,class:"mobile-layout"},ZJe="6.2.5",YJe=Je({__name:"main-view",setup(e){var f;const{isMobile:t}=gs(),n=di(),r=V(()=>t.value?"":"content"),i=V(()=>t.value?"main-view-mobile ":"main-view"),o=V(()=>jn()),s=se(!0),a=se(null);Ye(()=>t.value,(h,p)=>{Pe.log("isMobile 变化",{newValue:h,oldValue:p,isInitialMount:s.value,previousIsMobile:a.value}),!s.value&&a.value!==null&&h!==a.value&&(Pe.log("移动端/桌面端切换,刷新页面",{from:a.value?"移动端":"桌面端",to:h?"移动端":"桌面端"}),location.reload()),a.value=h}),ln(()=>{setTimeout(()=>{s.value=!1,a.value=t.value,Pe.log("初始化完成,当前 isMobile:",t.value)},100)});const c=navigator,l=c.userAgent,u=((f=c.userAgentData)==null?void 0:f.brands)??[],d=u.length?u.map(h=>`${h.brand} ${h.version}`).join(", "):l;return Pe.log("浏览器信息:",d),(h,p)=>(ne(),Te("div",{class:je(i.value)},[be(Kue),G("div",{class:"version-info"},"v"+Ue(ZJe)),G("div",{class:je(r.value)},[P(t)===!1?(ne(),Te("div",WJe,[G("div",VJe,[be(P(sHe)),be(P(XHe)),be(P(bH))]),G("div",GJe,[be(P(wH)),be(P(SH)),vn(be(P(PH),null,null,512),[[_r,P(n).canvasConnected]]),vn(be(P(IH),null,null,512),[[_r,!P(n).canvasConnected]]),o.value?Ke("",!0):(ne(),Ze(P(TH),{key:0}))])])):Ke("",!0),P(t)?(ne(),Te("div",JJe,[be(P(MJe)),be(P(zJe)),vn(be(P(PH),null,null,512),[[_r,P(n).canvasConnected]]),vn(be(P(IH),null,null,512),[[_r,!P(n).canvasConnected]]),be(P(bH)),be(P(SH)),be(P(wH)),o.value?Ke("",!0):(ne(),Ze(P(TH),{key:0}))])):Ke("",!0)],2)],2))}}),XJe=rr(YJe,[["__scopeId","data-v-9a145184"]]),QJe=typeof window<"u"&&window.location.protocol==="file:",KJe=QJe?Nie("./"):pW("./"),qJe=ooe({history:KJe,routes:[{path:"/",redirect:"/index"},{path:"/index",name:"index",component:XJe}]});Array.prototype.at||(Array.prototype.at=function(e){const t=this.length,n=e>=0?e:t+e;if(!(n<0||n>=t))return this[n]});Pe.log("=== 环境变量配置 ===");Pe.log("当前模式 (MODE):","mqtt");Pe.log("是否开发环境 (DEV):",!1);Pe.log("是否生产环境 (PROD):",!0);Pe.log("协议类型 (VITE_PROTOCOL_TYPE):",Ws.protocolType);Pe.log("使用RTC拉流 (VITE_USE_RTC):",Ws.useRTC);Pe.log("原始值 VITE_USE_RTC:","false");Pe.log("原始值 VITE_PROTOCOL_TYPE:","MQTT");Pe.log("==================");const $Je=new URLSearchParams(window.location.search),OH=$Je.get("print_ip"),S6=tW(coe),eZe=Bae(),tZe=Aae(eZe);tZe(!0);S6.use($re());S6.use(qJe);S6.use(ou);S6.mount("#app");if(OH){const e=Eee();e.curPrintHost=OH}});export default nZe();</script><style rel="stylesheet" crossorigin>html.dark{color-scheme:dark;--el-color-primary: #0079d1;--el-color-primary-light-3: rgb(6, 91, 152);--el-color-primary-light-5: rgb(10, 71, 115);--el-color-primary-light-7: rgb(14, 50, 77);--el-color-primary-light-8: rgb(16, 40, 58);--el-color-primary-light-9: rgb(18, 30, 39);--el-color-primary-dark-2: rgb(51, 148, 218);--el-color-success: #67c23a;--el-color-success-light-3: rgb(78, 142, 47);--el-color-success-light-5: rgb(62, 107, 39);--el-color-success-light-7: rgb(45, 72, 31);--el-color-success-light-8: rgb(37, 55, 28);--el-color-success-light-9: rgb(28, 37, 24);--el-color-success-dark-2: rgb(133, 206, 97);--el-color-warning: #e6a23c;--el-color-warning-light-3: rgb(167, 119, 48);--el-color-warning-light-5: rgb(125, 91, 40);--el-color-warning-light-7: rgb(83, 63, 32);--el-color-warning-light-8: rgb(62, 48, 28);--el-color-warning-light-9: rgb(41, 34, 24);--el-color-warning-dark-2: rgb(235, 181, 99);--el-color-danger: #f56c6c;--el-color-danger-light-3: rgb(178, 82, 82);--el-color-danger-light-5: rgb(133, 64, 64);--el-color-danger-light-7: rgb(88, 46, 46);--el-color-danger-light-8: rgb(65, 38, 38);--el-color-danger-light-9: rgb(42, 29, 29);--el-color-danger-dark-2: rgb(247, 137, 137);--el-color-error: #f56c6c;--el-color-error-light-3: rgb(178, 82, 82);--el-color-error-light-5: rgb(133, 64, 64);--el-color-error-light-7: rgb(88, 46, 46);--el-color-error-light-8: rgb(65, 38, 38);--el-color-error-light-9: rgb(42, 29, 29);--el-color-error-dark-2: rgb(247, 137, 137);--el-color-info: #909399;--el-color-info-light-3: rgb(107, 109, 113);--el-color-info-light-5: rgb(82, 84, 87);--el-color-info-light-7: rgb(57, 58, 60);--el-color-info-light-8: rgb(45, 45, 47);--el-color-info-light-9: rgb(32, 33, 33);--el-color-info-dark-2: rgb(166, 169, 173);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;--el-bg-color-page: #0a0a0a;--el-bg-color: #141414;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #E5EAF3;--el-text-color-regular: #CFD3DC;--el-text-color-secondary: #A3A6AD;--el-text-color-placeholder: #8D9095;--el-text-color-disabled: #6C6E72;--el-border-color-darker: #636466;--el-border-color-dark: #58585B;--el-border-color: #4C4D4F;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2B2B2C;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393A;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1D1D1D;--el-fill-color-extra-light: #191919;--el-fill-color-blank: transparent;--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3)}html.dark .el-button{--el-button-disabled-text-color: rgba(255, 255, 255, .5)}html.dark .el-card{--el-card-bg-color: var(--el-bg-color-overlay)}html.dark .el-empty{--el-empty-fill-color-0: var(--el-color-black);--el-empty-fill-color-1: #4b4b52;--el-empty-fill-color-2: #36383d;--el-empty-fill-color-3: #1e1e20;--el-empty-fill-color-4: #262629;--el-empty-fill-color-5: #202124;--el-empty-fill-color-6: #212224;--el-empty-fill-color-7: #1b1c1f;--el-empty-fill-color-8: #1c1d1f;--el-empty-fill-color-9: #18181a}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-\[10px\]{margin-bottom:10px}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-\[10px\]{margin-left:10px}.ml-\[18px\]{margin-left:18px}.mr-1{margin-right:.25rem}.mr-5{margin-right:1.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-2{gap:.5rem}.self-end{align-self:flex-end}.self-center{align-self:center}.border{border-width:1px}.outline{outline-style:solid}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--ef-card-background-color: 0, 0%, 100%, .05;--app-font-family: "PingFang SC", "Microsoft YaHei", "微软雅黑", sans-serif}body{font-family:var(--app-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px}@media (max-width: 768px){body{font-size:12px}}body{background:#101112;margin:0;padding:0}#app{display:flex;flex-direction:column;position:relative;min-width:350px}#app .el-progress-bar__outer{background:#1c1c1d}#app .el-switch--large{height:auto}#app .el-switch--large .el-switch__core{min-width:46px;height:26px;border-radius:13px}#app .el-switch--large .el-switch__core .el-switch__action{width:18px;height:18px;left:3px}#app .el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}#app .no-border-input{--el-input-border-radius: 2px;--el-input-inner-height: 26px;border-radius:2px}#app .no-border-input .el-input__wrapper{background:#2e2f30;box-shadow:0 0 0 1px transparent inset}#app .no-border-input .el-input__wrapper:hover{box-shadow:0 0 0 1px transparent inset}#app .no-border-input .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}#app .no-border-input.is-disabled{opacity:1!important}#app .no-border-input.is-disabled .el-input__wrapper{background:#2e2f30!important;box-shadow:0 0 0 1px transparent inset!important}#app .no-border-input.is-disabled .el-input__inner{color:inherit!important;-webkit-text-fill-color:inherit!important}#app .no-border-input.is-disabled .el-input__prefix,#app .no-border-input.is-disabled .el-input__suffix{color:inherit!important}#app .no-border-input .el-input__suffix-inner>:first-child{margin-top:2px;margin-left:4px}#app .no-border-input .el-input__count .el-input__count-inner{background-color:transparent}.gray-button{border-radius:2px;background:#2e2f30;border:none;fill:#c2c2c2;padding:0;display:flex;align-items:center;justify-content:center}.gray-button:hover:not(:disabled){background:#303030}.gray-button:active:not(:disabled){background:#343536}.fdm-radio-button-group{gap:10px}.fdm-radio-button-group .el-radio-button:first-child .el-radio-button__inner{border-left:1px solid transparent;border-radius:4px}.fdm-radio-button-group .el-radio-button .el-radio-button__inner{border-radius:4px;box-shadow:none;border:1px solid transparent;background:#333334;padding:4px 8px;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.fdm-radio-button-group .el-radio-button .el-radio-button__inner:hover{background:#3e3e3f}.fdm-radio-button-group .el-radio-button.is-active .el-radio-button__inner{background:#0079d1;border:1px solid rgba(255,255,255,.3)!important}.fdm-radio-button-group .el-radio-button:last-child .el-radio-button__inner{border-left:1px solid transparent;border-radius:4px}.no-border-select .el-select__wrapper{box-shadow:none;background:#2e2f30}button:disabled{cursor:not-allowed!important}header[data-v-4c606fa3]{line-height:1.5;max-height:100vh}.logo[data-v-4c606fa3]{display:block;margin:0 auto 2rem}nav[data-v-4c606fa3]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-4c606fa3]{color:var(--color-text)}nav a.router-link-exact-active[data-v-4c606fa3]:hover{background-color:transparent}nav a[data-v-4c606fa3]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-4c606fa3]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-4c606fa3]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-4c606fa3]{margin:0 2rem 0 0}header .wrapper[data-v-4c606fa3]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-4c606fa3]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}#app .uniform-table[data-v-84b3efdf],#app .mobile-uniform-table[data-v-84b3efdf]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-84b3efdf]{min-width:280px}#app .uniform-table .el-table__header[data-v-84b3efdf],#app .mobile-uniform-table .el-table__header[data-v-84b3efdf],#app .uniform-table .el-table__body[data-v-84b3efdf],#app .mobile-uniform-table .el-table__body[data-v-84b3efdf]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-84b3efdf],#app .mobile-uniform-table .el-table__header th[data-v-84b3efdf]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-84b3efdf],#app .mobile-uniform-table .el-table__body tr[data-v-84b3efdf]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-84b3efdf]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-84b3efdf]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-84b3efdf]{padding:0!important}#app .el-table__expand-icon[data-v-84b3efdf]{display:none}#app .table-expand-content[data-v-84b3efdf]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-84b3efdf]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-84b3efdf],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-84b3efdf]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-84b3efdf]{max-width:300px;word-break:break-all}#app .font-size16[data-v-84b3efdf]{font-size:16px}#app .font-size14[data-v-84b3efdf]{font-size:14px}#app .font-size12[data-v-84b3efdf]{font-size:12px}#app .font-size24[data-v-84b3efdf]{font-size:24px}#app .font-size18[data-v-84b3efdf]{font-size:18px}#app .color-white-65[data-v-84b3efdf]{color:#ffffffa6}#app .bg-color[data-v-84b3efdf]{background-color:#333334}#app .bg_color434343[data-v-84b3efdf]{background-color:#434343}#app .bg-color232425[data-v-84b3efdf]{background-color:#232524}#app .global-font-14[data-v-84b3efdf]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-84b3efdf]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-84b3efdf]{width:auto;height:28px}}#app .small-btn-size[data-v-84b3efdf]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-84b3efdf]{width:auto;height:28px}}#app .global-relative-offset[data-v-84b3efdf]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-84b3efdf]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-84b3efdf],#app .confirm-btn[data-v-84b3efdf]{width:100px}.title-bar[data-v-84b3efdf]{border-radius:4px 4px 0 0;background:#282829;height:40px;display:flex;align-items:center;justify-content:space-between}.title-bar .store-box[data-v-84b3efdf]{cursor:pointer;display:flex;align-items:center;border-radius:4px;background:#000;font-weight:400;color:#fff;padding:6px 8px;opacity:.8}.title-bar .store-box[data-v-84b3efdf]:hover{background:#111}.lang-select[data-v-84b3efdf]{width:100px}.lang-select[data-v-84b3efdf] .el-select__wrapper{box-shadow:none}.lang-select-popover{color:#9e9e9e}.lang-select-popover.el-select__popper.el-popper{box-shadow:none!important;border:none!important}.lang-select-popover.el-select__popper.el-popper .el-popper__arrow:before{box-shadow:none!important;border:none!important}.lang-select-popover .el-select-dropdown__item{border-radius:4px;margin:0 2px;color:#9e9e9e!important}.lang-select-popover .el-select-dropdown__item.is-selected{color:#9e9e9e!important;font-weight:400}:root{--el-color-white: #ffffff;--el-color-black: #000000;--el-color-primary-rgb: 0, 121, 209;--el-color-success-rgb: 103, 194, 58;--el-color-warning-rgb: 230, 162, 60;--el-color-danger-rgb: 245, 108, 108;--el-color-error-rgb: 245, 108, 108;--el-color-info-rgb: 144, 147, 153;--el-font-size-extra-large: 20px;--el-font-size-large: 18px;--el-font-size-medium: 16px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px;--el-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary: 500;--el-font-line-height-primary: 24px;--el-index-normal: 1;--el-index-top: 1000;--el-index-popper: 2000;--el-border-radius-base: 4px;--el-border-radius-small: 2px;--el-border-radius-round: 20px;--el-border-radius-circle: 100%;--el-transition-duration: .3s;--el-transition-duration-fast: .2s;--el-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);--el-transition-all: all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade: opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade: transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear: opacity var(--el-transition-duration-fast) linear;--el-transition-border: border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow: box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color: color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large: 40px;--el-component-size: 32px;--el-component-size-small: 24px;color-scheme:light;--el-color-primary: #0079d1;--el-color-primary-light-3: rgb(77, 161, 223);--el-color-primary-light-5: rgb(128, 188, 232);--el-color-primary-light-7: rgb(179, 215, 241);--el-color-primary-light-8: rgb(204, 228, 246);--el-color-primary-light-9: rgb(230, 242, 250);--el-color-primary-dark-2: rgb(0, 97, 167);--el-color-success: #67c23a;--el-color-success-light-3: rgb(149, 212, 117);--el-color-success-light-5: rgb(179, 225, 157);--el-color-success-light-7: rgb(209, 237, 196);--el-color-success-light-8: rgb(225, 243, 216);--el-color-success-light-9: rgb(240, 249, 235);--el-color-success-dark-2: rgb(82, 155, 46);--el-color-warning: #e6a23c;--el-color-warning-light-3: rgb(238, 190, 119);--el-color-warning-light-5: rgb(243, 209, 158);--el-color-warning-light-7: rgb(248, 227, 197);--el-color-warning-light-8: rgb(250, 236, 216);--el-color-warning-light-9: rgb(253, 246, 236);--el-color-warning-dark-2: rgb(184, 130, 48);--el-color-danger: #f56c6c;--el-color-danger-light-3: rgb(248, 152, 152);--el-color-danger-light-5: rgb(250, 182, 182);--el-color-danger-light-7: rgb(252, 211, 211);--el-color-danger-light-8: rgb(253, 226, 226);--el-color-danger-light-9: rgb(254, 240, 240);--el-color-danger-dark-2: rgb(196, 86, 86);--el-color-error: #f56c6c;--el-color-error-light-3: rgb(248, 152, 152);--el-color-error-light-5: rgb(250, 182, 182);--el-color-error-light-7: rgb(252, 211, 211);--el-color-error-light-8: rgb(253, 226, 226);--el-color-error-light-9: rgb(254, 240, 240);--el-color-error-dark-2: rgb(196, 86, 86);--el-color-info: #909399;--el-color-info-light-3: rgb(177, 179, 184);--el-color-info-light-5: rgb(200, 201, 204);--el-color-info-light-7: rgb(222, 223, 224);--el-color-info-light-8: rgb(233, 233, 235);--el-color-info-light-9: rgb(244, 244, 245);--el-color-info-dark-2: rgb(115, 118, 122);--el-bg-color: #ffffff;--el-bg-color-page: #f2f3f5;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #303133;--el-text-color-regular: #606266;--el-text-color-secondary: #909399;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f6fc;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f5f7fa;--el-fill-color-lighter: #fafafa;--el-fill-color-extra-light: #fafcff;--el-fill-color-dark: #ebedf0;--el-fill-color-darker: #e6e8eb;--el-fill-color-blank: #ffffff;--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color: var(--el-fill-color-light);--el-disabled-text-color: var(--el-text-color-placeholder);--el-disabled-border-color: var(--el-border-color-light);--el-overlay-color: rgba(0, 0, 0, .8);--el-overlay-color-light: rgba(0, 0, 0, .7);--el-overlay-color-lighter: rgba(0, 0, 0, .5);--el-mask-color: rgba(255, 255, 255, .9);--el-mask-color-extra-light: rgba(255, 255, 255, .3);--el-border-width: 1px;--el-border-style: solid;--el-border-color-hover: var(--el-text-color-disabled);--el-border: var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey: var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color: inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);animation:indeterminate 3s infinite}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-button{--el-button-font-weight: var(--el-font-weight-primary);--el-button-border-color: var(--el-border-color);--el-button-bg-color: var(--el-fill-color-blank);--el-button-text-color: var(--el-text-color-regular);--el-button-disabled-text-color: var(--el-disabled-text-color);--el-button-disabled-bg-color: var(--el-fill-color-blank);--el-button-disabled-border-color: var(--el-border-color-light);--el-button-divide-border-color: rgba(255, 255, 255, .5);--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-color-primary-light-9);--el-button-hover-border-color: var(--el-color-primary-light-7);--el-button-active-text-color: var(--el-button-hover-text-color);--el-button-active-border-color: var(--el-color-primary);--el-button-active-bg-color: var(--el-button-hover-bg-color);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-hover-link-text-color: var(--el-text-color-secondary);--el-button-active-color: var(--el-text-color-primary);display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color)}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button{padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-fill-color-blank);--el-button-hover-border-color: var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{width:32px;border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:transparent;padding:2px;height:auto}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-active-color: var(--el-color-primary-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-primary-light-5);--el-button-hover-bg-color: var(--el-color-primary-light-3);--el-button-hover-border-color: var(--el-color-primary-light-3);--el-button-active-bg-color: var(--el-color-primary-dark-2);--el-button-active-border-color: var(--el-color-primary-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-primary-light-5);--el-button-disabled-border-color: var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color: var(--el-color-primary);--el-button-bg-color: var(--el-color-primary-light-9);--el-button-border-color: var(--el-color-primary-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-primary);--el-button-hover-border-color: var(--el-color-primary);--el-button-active-text-color: var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-success);--el-button-border-color: var(--el-color-success);--el-button-outline-color: var(--el-color-success-light-5);--el-button-active-color: var(--el-color-success-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-success-light-5);--el-button-hover-bg-color: var(--el-color-success-light-3);--el-button-hover-border-color: var(--el-color-success-light-3);--el-button-active-bg-color: var(--el-color-success-dark-2);--el-button-active-border-color: var(--el-color-success-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-success-light-5);--el-button-disabled-border-color: var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color: var(--el-color-success);--el-button-bg-color: var(--el-color-success-light-9);--el-button-border-color: var(--el-color-success-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-success);--el-button-hover-border-color: var(--el-color-success);--el-button-active-text-color: var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-warning);--el-button-border-color: var(--el-color-warning);--el-button-outline-color: var(--el-color-warning-light-5);--el-button-active-color: var(--el-color-warning-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-warning-light-5);--el-button-hover-bg-color: var(--el-color-warning-light-3);--el-button-hover-border-color: var(--el-color-warning-light-3);--el-button-active-bg-color: var(--el-color-warning-dark-2);--el-button-active-border-color: var(--el-color-warning-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-warning-light-5);--el-button-disabled-border-color: var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color: var(--el-color-warning);--el-button-bg-color: var(--el-color-warning-light-9);--el-button-border-color: var(--el-color-warning-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-warning);--el-button-hover-border-color: var(--el-color-warning);--el-button-active-text-color: var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-danger);--el-button-border-color: var(--el-color-danger);--el-button-outline-color: var(--el-color-danger-light-5);--el-button-active-color: var(--el-color-danger-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-danger-light-5);--el-button-hover-bg-color: var(--el-color-danger-light-3);--el-button-hover-border-color: var(--el-color-danger-light-3);--el-button-active-bg-color: var(--el-color-danger-dark-2);--el-button-active-border-color: var(--el-color-danger-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-danger-light-5);--el-button-disabled-border-color: var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color: var(--el-color-danger);--el-button-bg-color: var(--el-color-danger-light-9);--el-button-border-color: var(--el-color-danger-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-danger);--el-button-hover-border-color: var(--el-color-danger);--el-button-active-text-color: var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-info);--el-button-border-color: var(--el-color-info);--el-button-outline-color: var(--el-color-info-light-5);--el-button-active-color: var(--el-color-info-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-info-light-5);--el-button-hover-bg-color: var(--el-color-info-light-3);--el-button-hover-border-color: var(--el-color-info-light-3);--el-button-active-bg-color: var(--el-color-info-dark-2);--el-button-active-border-color: var(--el-color-info-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-info-light-5);--el-button-disabled-border-color: var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color: var(--el-color-info);--el-button-bg-color: var(--el-color-info-light-9);--el-button-border-color: var(--el-color-info-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-info);--el-button-hover-border-color: var(--el-color-info);--el-button-active-text-color: var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size: 40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size: 24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{display:flex;justify-content:center;align-items:center;font-size:14px;background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{position:static;width:100%;height:100%;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none}.el-image-viewer__actions{left:50%;bottom:30px;transform:translate(-50%);height:44px;padding:0 23px;background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;cursor:default;font-size:23px;color:#fff;display:flex;align-items:center;justify-content:space-around;gap:22px;padding:0 6px}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{left:50%;transform:translate(-50%);cursor:default;color:#fff;bottom:90px}.el-image-viewer__prev{top:50%;transform:translateY(-50%);left:40px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__next{top:50%;transform:translateY(-50%);right:40px;text-indent:2px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__close{width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}:root{--el-popup-modal-bg-color: var(--el-color-black);--el-popup-modal-opacity: .5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width: 50%;--el-dialog-margin-top: 15vh;--el-dialog-bg-color: var(--el-bg-color);--el-dialog-box-shadow: var(--el-box-shadow);--el-dialog-title-font-size: var(--el-font-size-large);--el-dialog-content-font-size: 14px;--el-dialog-font-line-height: var(--el-font-line-height-primary);--el-dialog-padding-primary: 16px;--el-dialog-border-radius: var(--el-border-radius-base);position:relative;margin:var(--el-dialog-margin-top, 15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width, 50%);overflow-wrap:break-word}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width: 100%;--el-dialog-margin-top: 0;margin-bottom:0;height:100%;overflow:auto;border-radius:0}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{position:absolute;top:0;right:0;padding:0;width:48px;height:48px;background:transparent;border:none;outline:none;cursor:pointer;font-size:var(--el-message-close-size, 16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}.el-tag{--el-tag-font-size: 12px;--el-tag-border-radius: 4px;--el-tag-border-radius-rounded: 9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:24px;padding:0 9px;font-size:var(--el-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size: 14px;--el-tag-bg-color: var(--el-color-primary-light-9);--el-tag-border-color: var(--el-color-primary-light-8);--el-tag-hover-color: var(--el-color-primary)}.el-tag.el-tag--primary{--el-tag-bg-color: var(--el-color-primary-light-9);--el-tag-border-color: var(--el-color-primary-light-8);--el-tag-hover-color: var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color: var(--el-color-success-light-9);--el-tag-border-color: var(--el-color-success-light-8);--el-tag-hover-color: var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color: var(--el-color-warning-light-9);--el-tag-border-color: var(--el-color-warning-light-8);--el-tag-hover-color: var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color: var(--el-color-danger-light-9);--el-tag-border-color: var(--el-color-danger-light-8);--el-tag-hover-color: var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color: var(--el-color-error-light-9);--el-tag-border-color: var(--el-color-error-light-8);--el-tag-hover-color: var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color: var(--el-color-info-light-9);--el-tag-border-color: var(--el-color-info-light-8);--el-tag-hover-color: var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{flex-shrink:0;color:var(--el-tag-text-color)}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color: var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color: var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color: var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color: var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color: var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color: var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color: var(--el-color-white);--el-tag-bg-color: var(--el-color-primary);--el-tag-border-color: var(--el-color-primary);--el-tag-hover-color: var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color: var(--el-color-primary);--el-tag-border-color: var(--el-color-primary);--el-tag-hover-color: var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color: var(--el-color-success);--el-tag-border-color: var(--el-color-success);--el-tag-hover-color: var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color: var(--el-color-warning);--el-tag-border-color: var(--el-color-warning);--el-tag-hover-color: var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color: var(--el-color-danger);--el-tag-border-color: var(--el-color-danger);--el-tag-hover-color: var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color: var(--el-color-error);--el-tag-border-color: var(--el-color-error);--el-tag-hover-color: var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color: var(--el-color-info);--el-tag-border-color: var(--el-color-info);--el-tag-hover-color: var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color: var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-primary-light-5);--el-tag-hover-color: var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-success-light-5);--el-tag-hover-color: var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-warning-light-5);--el-tag-hover-color: var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-danger-light-5);--el-tag-hover-color: var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-error-light-5);--el-tag-hover-color: var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color: var(--el-fill-color-blank);--el-tag-border-color: var(--el-color-info-light-5);--el-tag-hover-color: var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{padding:0 11px;height:32px;--el-icon-size: 16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{padding:0 7px;height:20px;--el-icon-size: 12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-scrollbar{--el-scrollbar-opacity: .3;--el-scrollbar-bg-color: var(--el-text-color-secondary);--el-scrollbar-hover-opacity: .5;--el-scrollbar-hover-bg-color: var(--el-text-color-secondary);overflow:hidden;position:relative;height:100%}.el-scrollbar__wrap{overflow:auto;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color, var(--el-text-color-secondary));transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity, .3)}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color, var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity, .5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-popper{--el-popper-border-radius: var(--el-popover-border-radius, 4px);position:absolute;border-radius:var(--el-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;word-break:normal;visibility:visible}.el-popper.is-dark{color:var(--el-bg-color);background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.el-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--el-text-color-primary);box-sizing:border-box}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size)}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{padding:10px;border-bottom:1px solid var(--el-border-color-light)}.el-select-dropdown__footer{padding:10px;border-top:1px solid var(--el-border-color-light)}.el-select-dropdown__item{font-size:var(--el-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__title{box-sizing:border-box;padding:0 20px;font-size:12px;color:var(--el-color-info);line-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover: var(--el-border-color-hover);--el-select-disabled-color: var(--el-disabled-text-color);--el-select-disabled-border: var(--el-disabled-border-color);--el-select-font-size: var(--el-font-size-base);--el-select-close-hover-color: var(--el-text-color-secondary);--el-select-input-color: var(--el-text-color-placeholder);--el-select-multiple-input-color: var(--el-text-color-regular);--el-select-input-focus-border-color: var(--el-color-primary);--el-select-input-font-size: 14px;--el-select-width: 100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{display:flex;align-items:center;position:relative;box-sizing:border-box;cursor:pointer;text-align:left;font-size:14px;padding:4px 12px;gap:6px;min-height:32px;line-height:24px;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);transform:translateZ(0);box-shadow:0 0 0 1px var(--el-border-color) inset}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{display:flex;align-items:center;flex-shrink:0;gap:6px;color:var(--el-input-icon-color, var(--el-text-color-placeholder))}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);transform:rotate(0);cursor:pointer}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{position:relative;display:flex;flex-wrap:wrap;align-items:center;flex:1;min-width:0;gap:6px}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:transparent}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.el-select__tags-text{display:block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{position:absolute;z-index:-1;display:block;top:50%;transform:translateY(-50%);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--el-input-text-color, var(--el-text-color-regular))}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{position:absolute;opacity:0;z-index:-1}.el-select__input{border:none;outline:none;padding:0;color:var(--el-select-multiple-input-color);font-size:inherit;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:24px;width:100%;background-color:transparent}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{position:absolute;left:0;top:0;max-width:100%;visibility:hidden;white-space:pre;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;padding:8px 16px;min-height:40px;line-height:24px;font-size:14px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;padding:2px 8px;min-height:24px;line-height:20px;font-size:12px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.dialog-header[data-v-bcd626cd]{display:flex;justify-content:space-between;align-items:center;height:50px;padding:10px;background-color:#383838;cursor:default}.close-btn[data-v-bcd626cd]{background-color:transparent;border:none}.dialog-content[data-v-bcd626cd]{padding:12px 20px 20px;max-height:70vh;overflow:auto}.noodle-detection-cards[data-v-bcd626cd]{margin-bottom:12px}.foreign-object-detection-card[data-v-bcd626cd]{margin-top:24px;margin-bottom:24px;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.detection-cards[data-v-bcd626cd]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.detection-card[data-v-bcd626cd]{border-radius:4px;display:flex;justify-content:space-between;align-items:center}.card-info[data-v-bcd626cd]{flex:1}.card-title[data-v-bcd626cd]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-feature-settings:"kern" on;color:#fff;margin-bottom:4px}.card-description[data-v-bcd626cd]{font-size:12px;color:#b4b4b4;line-height:1.5}.card-select[data-v-bcd626cd]{width:120px}.config-section[data-v-bcd626cd]{display:flex;flex-direction:column}.config-card[data-v-bcd626cd]{border-radius:4px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.config-label[data-v-bcd626cd]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-feature-settings:"kern" on;color:#fff}.config-select[data-v-bcd626cd]{width:120px}.bottom-container[data-v-bcd626cd]{display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-bcd626cd],.save-btn[data-v-bcd626cd]{width:100px;height:32px;border-radius:4px}.cancel-btn[data-v-bcd626cd]{background-color:#1c1c1d;border-color:#383838;color:#ffffffd9}.save-btn[data-v-bcd626cd]{background-color:#0c88e0;border-color:#0c88e0}#app .uniform-table[data-v-3c12f447],#app .mobile-uniform-table[data-v-3c12f447]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-3c12f447]{min-width:280px}#app .uniform-table .el-table__header[data-v-3c12f447],#app .mobile-uniform-table .el-table__header[data-v-3c12f447],#app .uniform-table .el-table__body[data-v-3c12f447],#app .mobile-uniform-table .el-table__body[data-v-3c12f447]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-3c12f447],#app .mobile-uniform-table .el-table__header th[data-v-3c12f447]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-3c12f447],#app .mobile-uniform-table .el-table__body tr[data-v-3c12f447]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-3c12f447]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-3c12f447]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-3c12f447]{padding:0!important}#app .el-table__expand-icon[data-v-3c12f447]{display:none}#app .table-expand-content[data-v-3c12f447]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-3c12f447]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-3c12f447],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-3c12f447]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-3c12f447]{max-width:300px;word-break:break-all}#app .font-size16[data-v-3c12f447]{font-size:16px}#app .font-size14[data-v-3c12f447]{font-size:14px}#app .font-size12[data-v-3c12f447]{font-size:12px}#app .font-size24[data-v-3c12f447]{font-size:24px}#app .font-size18[data-v-3c12f447]{font-size:18px}#app .color-white-65[data-v-3c12f447]{color:#ffffffa6}#app .bg-color[data-v-3c12f447]{background-color:#333334}#app .bg_color434343[data-v-3c12f447]{background-color:#434343}#app .bg-color232425[data-v-3c12f447]{background-color:#232524}#app .global-font-14[data-v-3c12f447]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-3c12f447]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-3c12f447]{width:auto;height:28px}}#app .small-btn-size[data-v-3c12f447]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-3c12f447]{width:auto;height:28px}}#app .global-relative-offset[data-v-3c12f447]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-3c12f447]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-3c12f447],#app .confirm-btn[data-v-3c12f447]{width:100px}.status-container[data-v-3c12f447]{border-radius:4px;position:relative;padding:3px 6px;display:flex;width:-moz-fit-content;width:fit-content;align-items:center;justify-content:center}.status-container .is-loading[data-v-3c12f447]{animation:loading-3c12f447 2s linear infinite}@keyframes loading-3c12f447{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-text[data-v-3c12f447]{line-height:14px}.status-idle[data-v-3c12f447]{color:#00dfc4;background:#003830}.status-pausing[data-v-3c12f447],.status-stopping[data-v-3c12f447],.status-resuming[data-v-3c12f447],.status-preparing[data-v-3c12f447],.status-printing[data-v-3c12f447]{color:#5af;background:#003259}.status-paused[data-v-3c12f447]{color:#ff8517;background:#512500}.status-stopped[data-v-3c12f447],.status-error[data-v-3c12f447],.status-busy[data-v-3c12f447]{color:#ff3338;background:#690009}.status-completed[data-v-3c12f447]{color:#00e556;background:#003a10}.status-other[data-v-3c12f447]{color:#bbb;background:#333}.status-text-margin[data-v-3c12f447]{margin-bottom:10px}.myDialogHeader[data-v-db1dbc8b]{display:flex;flex-direction:row;justify-content:space-between;height:50px;border:none;background-color:#232425;margin:0;color:#ffffffd9}.dialog-content[data-v-db1dbc8b]{padding:20px;display:flex;justify-content:center;align-items:center;min-height:100px;background-color:#1c1d1e}.dialog-content>p[data-v-db1dbc8b]{max-width:100%;min-width:0;word-break:break-word;overflow-wrap:anywhere;white-space:normal;margin:0}[data-v-db1dbc8b] .el-dialog__body{max-height:60vh;overflow-y:auto}.dialog-footer[data-v-db1dbc8b]{padding:10px;text-align:right;background-color:#1c1d1e}.close-dialog-btn[data-v-db1dbc8b]{margin:14px;background-color:transparent;border:none;font-size:6px}.cancel-btn[data-v-db1dbc8b],.confirm-btn[data-v-db1dbc8b]{width:100px}.warning-dialog-header[data-v-de9bb654]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:30px;border:none;background-color:#232425;margin:0;color:#ffffffd9}.warning-title[data-v-de9bb654]{display:flex;align-items:center;margin:14px 10px}.warning-icon[data-v-de9bb654]{color:#e6a23c;font-size:18px}.warning-icon.is-info[data-v-de9bb654]{color:#67c23a}.warning-icon.is-severe[data-v-de9bb654]{color:#e6a23c}.warning-dialog-content[data-v-de9bb654]{padding:12px;background-color:#1c1d1e;min-height:60px}.warning-message[data-v-de9bb654]{text-align:center}.warning-message>p[data-v-de9bb654]{margin:0 0 16px}.msg-info[data-v-de9bb654]{color:#ffffffa6}.msg-severe[data-v-de9bb654]{color:#e6a23c}.exception-codes[data-v-de9bb654]{text-align:center;margin-top:16px}.exception-title[data-v-de9bb654]{font-weight:700;margin:0 0 8px;color:#e6a23c}.exception-list[data-v-de9bb654]{margin:0;padding-left:0;list-style:none}.exception-item[data-v-de9bb654]{margin:4px 0;text-align:center}.warning-dialog-footer[data-v-de9bb654]{padding:10px;text-align:center;background-color:#1c1d1e}.close-btn[data-v-de9bb654]{width:120px}.close-dialog-btn[data-v-de9bb654]{margin:14px;background-color:transparent;border:none;font-size:6px}[data-v-de9bb654] .el-dialog__body{max-height:30vh;overflow-y:auto}#app .uniform-table[data-v-84625f57],#app .mobile-uniform-table[data-v-84625f57]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-84625f57]{min-width:280px}#app .uniform-table .el-table__header[data-v-84625f57],#app .mobile-uniform-table .el-table__header[data-v-84625f57],#app .uniform-table .el-table__body[data-v-84625f57],#app .mobile-uniform-table .el-table__body[data-v-84625f57]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-84625f57],#app .mobile-uniform-table .el-table__header th[data-v-84625f57]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-84625f57],#app .mobile-uniform-table .el-table__body tr[data-v-84625f57]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-84625f57]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-84625f57]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-84625f57]{padding:0!important}#app .el-table__expand-icon[data-v-84625f57]{display:none}#app .table-expand-content[data-v-84625f57]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-84625f57]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-84625f57],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-84625f57]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-84625f57]{max-width:300px;word-break:break-all}#app .font-size16[data-v-84625f57]{font-size:16px}#app .font-size14[data-v-84625f57]{font-size:14px}#app .font-size12[data-v-84625f57]{font-size:12px}#app .font-size24[data-v-84625f57]{font-size:24px}#app .font-size18[data-v-84625f57]{font-size:18px}#app .color-white-65[data-v-84625f57]{color:#ffffffa6}#app .bg-color[data-v-84625f57]{background-color:#333334}#app .bg_color434343[data-v-84625f57]{background-color:#434343}#app .bg-color232425[data-v-84625f57]{background-color:#232524}#app .global-font-14[data-v-84625f57]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-84625f57]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-84625f57]{width:auto;height:28px}}#app .small-btn-size[data-v-84625f57]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-84625f57]{width:auto;height:28px}}#app .global-relative-offset[data-v-84625f57]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-84625f57]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-84625f57],#app .confirm-btn[data-v-84625f57]{width:100px}.status-container[data-v-84625f57]{border-radius:4px;background:hsla(var(--ef-card-background-color));position:relative;width:100%;height:100%;padding:8px 24px 8px 8px;display:flex}.right-container[data-v-84625f57]{display:flex;flex-direction:column;justify-content:center;gap:10px;padding-left:20px}.right-first[data-v-84625f57],.right-third[data-v-84625f57]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.right-second[data-v-84625f57]{display:flex;flex-direction:column;justify-content:flex-start}.model-image[data-v-84625f57]{width:134px;height:134px;border-radius:4px;background:#5a5a5a;padding:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.model-thumb[data-v-84625f57]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.file-name[data-v-84625f57]{color:#ffffffa6;font-weight:500;line-height:22px}@media (max-width: 768px){.file-name[data-v-84625f57]{font-size:14px}}.content-text[data-v-84625f57]{font-weight:350;line-height:20px;letter-spacing:0em;color:#ffffffa6}.progress-text[data-v-84625f57]{font-weight:700;color:#0079d1}.layer[data-v-84625f57]{font-weight:400;line-height:22px;letter-spacing:0em;color:#ffffffa6}.print-control-button[data-v-84625f57]{background:transparent;border:none;border-radius:2px;width:26px;height:26px;padding:0;margin-left:26px}.print-control-button[data-v-84625f57]:hover{background:#ffffff1a}.print-control-button[data-v-84625f57]:active{background:#ffffff1f}.print-control-buttons[data-v-84625f57]{display:flex;justify-content:space-around;margin-top:10px}.fdm-card[data-v-13ce3744]{border:none;border-radius:4px;overflow:hidden}.fdm-card-header[data-v-13ce3744]{border-radius:4px 4px 0 0;background:#232425;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;min-height:30px;color:#ffffffa6}.fdm-card-header-left[data-v-13ce3744],.fdm-card-header-right[data-v-13ce3744]{display:flex;align-items:center;gap:10px}.fdm-card-content[data-v-13ce3744]{overflow:hidden;background:hsla(var(--ef-card-background-color))}.toggle-icon[data-v-13ce3744]{display:inline-block;width:26px;height:26px;display:flex;justify-content:center;align-items:center;transition:transform .3s ease;margin-right:0;cursor:pointer}.toggle-icon.rotated[data-v-13ce3744]{transform:rotate(180deg)}#app .uniform-table[data-v-d4b831ae],#app .mobile-uniform-table[data-v-d4b831ae]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-d4b831ae]{min-width:280px}#app .uniform-table .el-table__header[data-v-d4b831ae],#app .mobile-uniform-table .el-table__header[data-v-d4b831ae],#app .uniform-table .el-table__body[data-v-d4b831ae],#app .mobile-uniform-table .el-table__body[data-v-d4b831ae]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-d4b831ae],#app .mobile-uniform-table .el-table__header th[data-v-d4b831ae]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-d4b831ae],#app .mobile-uniform-table .el-table__body tr[data-v-d4b831ae]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-d4b831ae]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-d4b831ae]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-d4b831ae]{padding:0!important}#app .el-table__expand-icon[data-v-d4b831ae]{display:none}#app .table-expand-content[data-v-d4b831ae]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-d4b831ae]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-d4b831ae],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-d4b831ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-d4b831ae]{max-width:300px;word-break:break-all}#app .font-size16[data-v-d4b831ae]{font-size:16px}#app .font-size14[data-v-d4b831ae]{font-size:14px}#app .font-size12[data-v-d4b831ae]{font-size:12px}#app .font-size24[data-v-d4b831ae]{font-size:24px}#app .font-size18[data-v-d4b831ae]{font-size:18px}#app .color-white-65[data-v-d4b831ae]{color:#ffffffa6}#app .bg-color[data-v-d4b831ae]{background-color:#333334}#app .bg_color434343[data-v-d4b831ae]{background-color:#434343}#app .bg-color232425[data-v-d4b831ae]{background-color:#232524}#app .global-font-14[data-v-d4b831ae]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-d4b831ae]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-d4b831ae]{width:auto;height:28px}}#app .small-btn-size[data-v-d4b831ae]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-d4b831ae]{width:auto;height:28px}}#app .global-relative-offset[data-v-d4b831ae]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-d4b831ae]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-d4b831ae],#app .confirm-btn[data-v-d4b831ae]{width:100px}.axis-container[data-v-d4b831ae]{display:flex;justify-content:space-between;align-items:center;height:158px;position:relative;gap:8px}.xy-axis-home[data-v-d4b831ae],.z-axis[data-v-d4b831ae]{width:42px;height:100%;position:relative;border-radius:21px;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:#ffffff0d}.z-axis-item[data-v-d4b831ae]{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.xy-axis[data-v-d4b831ae]{background:#ffffff0d;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:0}.arc-button-container[data-v-d4b831ae]{position:absolute;width:100%;height:100%;transform:rotate(45deg);left:0;top:0;z-index:0}.sector[data-v-d4b831ae]{position:absolute;width:50%;height:50%;background:transparent;border:none;cursor:pointer;transform:rotate(0);display:flex;align-items:center;justify-content:center}.sector span[data-v-d4b831ae]{transform:rotate(-45deg)}.sector[data-v-d4b831ae]:hover{background:#ffffff14}.sector[data-v-d4b831ae]:active{background:#ffffff1a}.sector[data-v-d4b831ae]:disabled{background:#ffffff05}.sector.top[data-v-d4b831ae]{top:0;left:0;border-top-left-radius:100%}.sector.right[data-v-d4b831ae]{top:0;right:0;border-top-right-radius:100%}.sector.bottom[data-v-d4b831ae]{bottom:0;right:0;border-bottom-right-radius:100%}.sector.left[data-v-d4b831ae]{bottom:0;left:0;border-bottom-left-radius:100%}.line[data-v-d4b831ae]{position:absolute;background:#ffffff08}.line.horizontal[data-v-d4b831ae]{width:90%;height:1px;top:50%;left:5%;transform:translateY(-50%)}.line.vertical[data-v-d4b831ae]{width:1px;height:90%;left:50%;top:5%;transform:translate(-50%)}.home-icon[data-v-d4b831ae]{display:inline-flex;width:32px;height:32px;background:#101010;border-radius:50%;align-items:center;justify-content:center}.home[data-v-d4b831ae]{display:inline-flex;width:32px;height:32px;background:#101010;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:99}.home[data-v-d4b831ae]:hover{background:#181818}.home[data-v-d4b831ae]:active{background:#202020}.home[data-v-d4b831ae]:disabled{background:#141414}.control-button[data-v-d4b831ae]{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:0}.control-button[data-v-d4b831ae]:hover{background:#ffffff0a}.control-button[data-v-d4b831ae]:active{background:#ffffff0f}.control-button[data-v-d4b831ae]:disabled{background:#ffffff05}.line[data-v-d4b831ae]{background:#ffffff08;box-sizing:content-box;height:1px;width:calc(100% - 8px);position:relative}.el-textarea{--el-input-text-color: var(--el-text-color-regular);--el-input-border: var(--el-border);--el-input-hover-border: var(--el-border-color-hover);--el-input-focus-border: var(--el-color-primary);--el-input-transparent-border: 0 0 0 1px transparent inset;--el-input-border-color: var(--el-border-color);--el-input-border-radius: var(--el-border-radius-base);--el-input-bg-color: var(--el-fill-color-blank);--el-input-icon-color: var(--el-text-color-placeholder);--el-input-placeholder-color: var(--el-text-color-placeholder);--el-input-hover-border-color: var(--el-border-color-hover);--el-input-clear-hover-color: var(--el-text-color-secondary);--el-input-focus-border-color: var(--el-color-primary);--el-input-width: 100%;position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color, var(--el-text-color-regular));background-color:var(--el-input-bg-color, var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color, var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:none;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color: var(--el-text-color-regular);--el-input-border: var(--el-border);--el-input-hover-border: var(--el-border-color-hover);--el-input-focus-border: var(--el-color-primary);--el-input-transparent-border: 0 0 0 1px transparent inset;--el-input-border-color: var(--el-border-color);--el-input-border-radius: var(--el-border-radius-base);--el-input-bg-color: var(--el-fill-color-blank);--el-input-icon-color: var(--el-text-color-placeholder);--el-input-placeholder-color: var(--el-text-color-placeholder);--el-input-hover-border-color: var(--el-border-color-hover);--el-input-clear-hover-color: var(--el-text-color-secondary);--el-input-focus-border-color: var(--el-color-primary);--el-input-width: 100%;--el-input-height: var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color, var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);transform:translateZ(0);box-shadow:0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height: calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color, var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:none;border:none;background:none;box-sizing:border-box}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color, var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color, var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color, var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height: var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height: calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height: var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height: calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{display:inline-block;flex:1;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-switch{--el-switch-on-color: var(--el-color-primary);--el-switch-off-color: var(--el-border-color);display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:32px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:var(--el-text-color-primary)}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{display:inline-flex;position:relative;align-items:center;min-width:40px;height:20px;border:1px solid var(--el-switch-border-color, var(--el-switch-off-color));outline:none;border-radius:10px;box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);height:16px;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:0 4px 0 18px}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{font-size:12px;color:var(--el-color-white);-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-switch__core .el-switch__action{position:absolute;left:1px;border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);width:16px;height:16px;background-color:var(--el-color-white);display:flex;justify-content:center;align-items:center;color:var(--el-switch-off-color)}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color, var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{left:calc(100% - 17px);color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;line-height:24px;height:40px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{min-width:50px;height:24px;border-radius:12px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;line-height:16px;height:24px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{min-width:30px;height:16px;border-radius:8px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}#app .uniform-table[data-v-ff828c0f],#app .mobile-uniform-table[data-v-ff828c0f]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-ff828c0f]{min-width:280px}#app .uniform-table .el-table__header[data-v-ff828c0f],#app .mobile-uniform-table .el-table__header[data-v-ff828c0f],#app .uniform-table .el-table__body[data-v-ff828c0f],#app .mobile-uniform-table .el-table__body[data-v-ff828c0f]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-ff828c0f],#app .mobile-uniform-table .el-table__header th[data-v-ff828c0f]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-ff828c0f],#app .mobile-uniform-table .el-table__body tr[data-v-ff828c0f]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-ff828c0f]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-ff828c0f]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-ff828c0f]{padding:0!important}#app .el-table__expand-icon[data-v-ff828c0f]{display:none}#app .table-expand-content[data-v-ff828c0f]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-ff828c0f]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-ff828c0f],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-ff828c0f]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-ff828c0f]{max-width:300px;word-break:break-all}#app .font-size16[data-v-ff828c0f]{font-size:16px}#app .font-size14[data-v-ff828c0f]{font-size:14px}#app .font-size12[data-v-ff828c0f]{font-size:12px}#app .font-size24[data-v-ff828c0f]{font-size:24px}#app .font-size18[data-v-ff828c0f]{font-size:18px}#app .color-white-65[data-v-ff828c0f]{color:#ffffffa6}#app .bg-color[data-v-ff828c0f]{background-color:#333334}#app .bg_color434343[data-v-ff828c0f]{background-color:#434343}#app .bg-color232425[data-v-ff828c0f]{background-color:#232524}#app .global-font-14[data-v-ff828c0f]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-ff828c0f]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-ff828c0f]{width:auto;height:28px}}#app .small-btn-size[data-v-ff828c0f]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-ff828c0f]{width:auto;height:28px}}#app .global-relative-offset[data-v-ff828c0f]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-ff828c0f]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-ff828c0f],#app .confirm-btn[data-v-ff828c0f]{width:100px}.value-control[data-v-ff828c0f]{min-width:140px;flex:1;height:86px;border-radius:4px;display:flex;background:#232425;padding:10px;justify-content:space-around;flex-direction:column}.value-control button[data-v-ff828c0f]{height:26px;width:26px}.value-control[data-v-ff828c0f] .el-input__inner{text-align:center}.value-control.is-disabled[data-v-ff828c0f]{opacity:.5;filter:grayscale(100%);cursor:not-allowed}.value-control.is-disabled[data-v-ff828c0f] *{color:#999!important;pointer-events:none}[data-v-ff828c0f] .custom-switch.is-disabled{opacity:1}[data-v-ff828c0f] .custom-switch.is-disabled .el-switch__core{cursor:not-allowed;opacity:1}[data-v-ff828c0f] .custom-switch.is-disabled .el-switch__core .el-switch__action{opacity:1}.el-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.el-radio-button{--el-radio-button-checked-bg-color: var(--el-color-primary);--el-radio-button-checked-text-color: var(--el-color-white);--el-radio-button-checked-border-color: var(--el-color-primary);--el-radio-button-disabled-checked-fill: var(--el-border-color-extra-light);position:relative;display:inline-block;outline:none}.el-radio-button__inner{display:inline-block;line-height:1;white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color, var(--el-fill-color-blank));border:var(--el-border);font-weight:var(--el-button-font-weight, var(--el-font-weight-primary));border-left:0;color:var(--el-button-text-color, var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:none;margin:0;position:relative;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;padding:8px 15px;font-size:var(--el-font-size-base);border-radius:0}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color, var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color, var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color, var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color, var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color, var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color, var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color, var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:0}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{padding:5px 11px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.xyz-pos[data-v-d3248eec]{margin-bottom:14px}#app .uniform-table[data-v-b895cfac],#app .mobile-uniform-table[data-v-b895cfac]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-b895cfac]{min-width:280px}#app .uniform-table .el-table__header[data-v-b895cfac],#app .mobile-uniform-table .el-table__header[data-v-b895cfac],#app .uniform-table .el-table__body[data-v-b895cfac],#app .mobile-uniform-table .el-table__body[data-v-b895cfac]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-b895cfac],#app .mobile-uniform-table .el-table__header th[data-v-b895cfac]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-b895cfac],#app .mobile-uniform-table .el-table__body tr[data-v-b895cfac]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-b895cfac]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-b895cfac]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-b895cfac]{padding:0!important}#app .el-table__expand-icon[data-v-b895cfac]{display:none}#app .table-expand-content[data-v-b895cfac]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-b895cfac]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-b895cfac],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-b895cfac]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-b895cfac]{max-width:300px;word-break:break-all}#app .font-size16[data-v-b895cfac]{font-size:16px}#app .font-size14[data-v-b895cfac]{font-size:14px}#app .font-size12[data-v-b895cfac]{font-size:12px}#app .font-size24[data-v-b895cfac]{font-size:24px}#app .font-size18[data-v-b895cfac]{font-size:18px}#app .color-white-65[data-v-b895cfac]{color:#ffffffa6}#app .bg-color[data-v-b895cfac]{background-color:#333334}#app .bg_color434343[data-v-b895cfac]{background-color:#434343}#app .bg-color232425[data-v-b895cfac]{background-color:#232524}#app .global-font-14[data-v-b895cfac]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-b895cfac]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-b895cfac]{width:auto;height:28px}}#app .small-btn-size[data-v-b895cfac]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-b895cfac]{width:auto;height:28px}}#app .global-relative-offset[data-v-b895cfac]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-b895cfac]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-b895cfac],#app .confirm-btn[data-v-b895cfac]{width:100px}.control-container[data-v-b895cfac]{min-height:200px;display:flex;padding:10px;color:#ffffffa6}.control-container .fan-container[data-v-b895cfac]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.control-container .disabled-cursor[data-v-b895cfac]{cursor:not-allowed!important}.el-table{--el-table-border-color: var(--el-border-color-lighter);--el-table-border: 1px solid var(--el-table-border-color);--el-table-text-color: var(--el-text-color-regular);--el-table-header-text-color: var(--el-text-color-secondary);--el-table-row-hover-bg-color: var(--el-fill-color-light);--el-table-current-row-bg-color: var(--el-color-primary-light-9);--el-table-header-bg-color: var(--el-bg-color);--el-table-fixed-box-shadow: var(--el-box-shadow-light);--el-table-bg-color: var(--el-fill-color-blank);--el-table-tr-bg-color: var(--el-bg-color);--el-table-expanded-cell-bg-color: var(--el-fill-color-blank);--el-table-fixed-left-column: inset 10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-fixed-right-column: inset -10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-index: var(--el-index-normal);position:relative;overflow:hidden;box-sizing:border-box;height:fit-content;width:100%;max-width:100%;background-color:var(--el-table-bg-color);font-size:var(--el-font-size-base);color:var(--el-table-text-color)}.el-table__inner-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.el-table__inner-wrapper:before{left:0;bottom:0;height:1px}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{position:sticky;left:0;min-height:60px;text-align:center;width:100%;display:flex;justify-content:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:var(--el-text-color-secondary)}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;user-select:none}.el-table__expand-icon{position:relative;cursor:pointer;color:var(--el-text-color-regular);font-size:12px;transition:transform var(--el-transition-duration-fast) ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{padding:8px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;line-height:23px;padding:0 12px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";position:absolute;background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{left:0;top:0;width:100%;height:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{top:-1px;left:0;width:1px;height:100%}.el-table--border:after{top:-1px;right:0;width:1px;height:100%}.el-table--border .el-table__inner-wrapper{border-right:none;border-bottom:none}.el-table--border .el-table__footer-wrapper{position:relative;flex-shrink:0}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{position:sticky!important;background:inherit;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";position:absolute;top:0;width:10px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{position:sticky!important;z-index:calc(var(--el-table-index) + 1);background:#fff;right:0}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{overflow:hidden;flex-shrink:0}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{display:inline-flex;align-items:center;height:23px}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{overflow:hidden;position:relative;flex:1}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{display:inline-flex;flex-direction:column;align-items:center;height:14px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:solid 5px transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{position:sticky;bottom:0;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:var(--el-table-border);z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{display:inline-block;cursor:pointer}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{top:0;left:0;width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);position:absolute;background-color:var(--el-table-border-color)}.el-table__border-bottom-patch{left:0;height:1px;z-index:calc(var(--el-table-index) + 2);position:absolute;background-color:var(--el-table-border-color)}.el-table__border-right-patch{top:0;height:100%;width:1px;z-index:calc(var(--el-table-index) + 2);position:absolute;background-color:var(--el-table-border-color)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:12px;line-height:12px;height:12px;text-align:center;margin-right:8px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-checkbox{--el-checkbox-font-size: 14px;--el-checkbox-font-weight: var(--el-font-weight-primary);--el-checkbox-text-color: var(--el-text-color-regular);--el-checkbox-input-height: 14px;--el-checkbox-input-width: 14px;--el-checkbox-border-radius: var(--el-border-radius-small);--el-checkbox-bg-color: var(--el-fill-color-blank);--el-checkbox-input-border: var(--el-border);--el-checkbox-disabled-border-color: var(--el-border-color);--el-checkbox-disabled-input-fill: var(--el-fill-color-light);--el-checkbox-disabled-icon-color: var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill: var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color: var(--el-border-color);--el-checkbox-disabled-checked-icon-color: var(--el-text-color-placeholder);--el-checkbox-checked-text-color: var(--el-color-primary);--el-checkbox-checked-input-border-color: var(--el-color-primary);--el-checkbox-checked-bg-color: var(--el-color-primary);--el-checkbox-checked-icon-color: var(--el-color-white);--el-checkbox-input-border-color-hover: var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;-webkit-user-select:none;user-select:none;margin-right:30px;height:var(--el-checkbox-height, 32px)}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:translate(-45%,-60%) rotate(45deg) scaleY(1);border-color:var(--el-checkbox-checked-icon-color)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid transparent;border-left:0;border-top:0;height:7px;left:50%;position:absolute;top:50%;transform:translate(-45%,-60%) rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in .05s;transform-origin:center}.el-checkbox__original{opacity:0;outline:none;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);border-radius:2px;background-color:#fff;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:var(--el-font-size-base)}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-popover{--el-popover-bg-color: var(--el-bg-color-overlay);--el-popover-font-size: var(--el-font-size-base);--el-popover-border-color: var(--el-border-color-lighter);--el-popover-padding: 12px;--el-popover-padding-large: 18px 20px;--el-popover-title-font-size: 16px;--el-popover-title-text-color: var(--el-text-color-primary);--el-popover-border-radius: 4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color: var(--el-text-color-primary);--el-popover-border-color: var(--el-text-color-primary);--el-popover-title-text-color: var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.popover-content[data-v-8578b5da]{width:280px;padding:4px;background-color:transparent;border-radius:4px}.canvas-container[data-v-8578b5da]{display:flex;flex-direction:column;gap:12px}.canvas-group[data-v-8578b5da]{display:flex;flex-direction:column;gap:6px;background-color:#656565;border-radius:6px;padding:2px}.canvas-title[data-v-8578b5da]{color:#fff;font-size:12px;border-radius:0 0 6px 6px;background:#656565;padding-left:10px}.slots-grid[data-v-8578b5da]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border-radius:6px 6px 0 0;background-color:#434343}.slot-item[data-v-8578b5da]{height:32px;width:54px;display:flex;justify-content:center;align-items:center;gap:4px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.slot-item[data-v-8578b5da]:hover:not(.disabled-slot){opacity:.8;transform:scale(1.05)}.transparent-bg[data-v-8578b5da]{background-color:transparent!important}.bordered-slot[data-v-8578b5da]{border:1px solid #999}.disabled-slot[data-v-8578b5da]{cursor:default!important}.disabled-slot[data-v-8578b5da]:hover{opacity:1!important;transform:none!important}.fraction[data-v-8578b5da]{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.numerator[data-v-8578b5da]{border-bottom:1px solid currentColor;padding-bottom:1px;margin-bottom:1px;padding-right:10px;padding-left:10px}.denominator[data-v-8578b5da]{font-size:.9em}#app .uniform-table[data-v-cf19f61d],#app .mobile-uniform-table[data-v-cf19f61d]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-cf19f61d]{min-width:280px}#app .uniform-table .el-table__header[data-v-cf19f61d],#app .mobile-uniform-table .el-table__header[data-v-cf19f61d],#app .uniform-table .el-table__body[data-v-cf19f61d],#app .mobile-uniform-table .el-table__body[data-v-cf19f61d]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-cf19f61d],#app .mobile-uniform-table .el-table__header th[data-v-cf19f61d]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-cf19f61d],#app .mobile-uniform-table .el-table__body tr[data-v-cf19f61d]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-cf19f61d]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-cf19f61d]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-cf19f61d]{padding:0!important}#app .el-table__expand-icon[data-v-cf19f61d]{display:none}#app .table-expand-content[data-v-cf19f61d]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-cf19f61d]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-cf19f61d],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-cf19f61d]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-cf19f61d]{max-width:300px;word-break:break-all}#app .font-size16[data-v-cf19f61d]{font-size:16px}#app .font-size14[data-v-cf19f61d]{font-size:14px}#app .font-size12[data-v-cf19f61d]{font-size:12px}#app .font-size24[data-v-cf19f61d]{font-size:24px}#app .font-size18[data-v-cf19f61d]{font-size:18px}#app .color-white-65[data-v-cf19f61d]{color:#ffffffa6}#app .bg-color[data-v-cf19f61d]{background-color:#333334}#app .bg_color434343[data-v-cf19f61d]{background-color:#434343}#app .bg-color232425[data-v-cf19f61d]{background-color:#232524}#app .global-font-14[data-v-cf19f61d]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-cf19f61d]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-cf19f61d]{width:auto;height:28px}}#app .small-btn-size[data-v-cf19f61d]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-cf19f61d]{width:auto;height:28px}}#app .global-relative-offset[data-v-cf19f61d]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-cf19f61d]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-cf19f61d],#app .confirm-btn[data-v-cf19f61d]{width:100px}.all-container[data-v-cf19f61d]{display:flex;flex-direction:column;width:366px;min-height:210px;height:auto;padding:5px 10px 10px;margin-top:15px;background-color:#1c1c1d}.header-container[data-v-cf19f61d]{display:flex;justify-content:space-between;align-items:center;gap:20px}.content-container[data-v-cf19f61d]{display:flex;flex-direction:row;justify-content:space-between;padding:8px 20px}.content-container.align-left[data-v-cf19f61d]{justify-content:flex-start}.icon-btn[data-v-cf19f61d]{padding:0;border:none;background:transparent;cursor:pointer}.btn-autofeed[data-v-cf19f61d]{display:flex;justify-content:center;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.btn-autofeed span[data-v-cf19f61d]{white-space:nowrap;flex:0 1 auto;overflow:hidden}.btn-container[data-v-cf19f61d]{display:flex;justify-content:center;align-items:center;gap:6px}.tray-container[data-v-cf19f61d]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.tray-placeholder[data-v-cf19f61d]{visibility:hidden}.slot-type[data-v-cf19f61d]{width:36px;height:36px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:12px;border:1px solid rgba(255,255,255,.3)}.slot-id-container[data-v-cf19f61d]{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:3px;width:36px;height:70px;gap:4px;padding:4px;color:#fff;font-size:12px;cursor:pointer}.empty-mapping-note[data-v-cf19f61d],.note[data-v-cf19f61d]{color:#9e9e9e;display:flex;justify-content:center;align-items:center}.empty-mapping-note[data-v-cf19f61d]{color:red}.custom-black-popover[data-v-cf19f61d]{background:#222!important;color:#fff!important;text-align:center;min-width:80px;border-radius:6px;padding:10px 16px}.arrow-down[data-v-cf19f61d] path{fill:var(--fill-color)}.slot-dropdown[data-v-cf19f61d]{display:flex;justify-content:center;align-items:center}.hor-line[data-v-cf19f61d]{width:60px;height:1px}.print-task-content[data-v-e2c0238c]{display:flex;flex-direction:column;align-items:center;font:normal 14px/20px var(--app-font-family);color:#ffffffa6}.model-preview[data-v-e2c0238c]{margin-bottom:10px;background-color:var(--52b48529)}.model-image[data-v-e2c0238c]{max-width:200px;max-height:200px;-o-object-fit:contain;object-fit:contain}.print-options[data-v-e2c0238c]{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 20px}.print-options.two-options[data-v-e2c0238c]{justify-content:space-between;gap:100px}.print-options.two-options label[data-v-e2c0238c]:nth-child(2),.print-options.two-options label[data-v-e2c0238c]:nth-child(3){flex:0 0 auto}.file-info[data-v-e2c0238c]{text-align:center;margin-bottom:20px;width:100%;font:350 15px var(--app-font-family)}.print-info[data-v-e2c0238c]{display:flex;justify-content:space-between;align-items:center;gap:30px}.info-group[data-v-e2c0238c]{display:flex;align-items:center;gap:6px}.target-checkbox[data-v-e2c0238c]{display:inline-flex;align-items:center;cursor:pointer;margin-top:12px;margin-right:6px}.target-checkbox .checkmark[data-v-e2c0238c]{width:16px;height:16px;background:#000;border-radius:50%;position:relative;border:2px solid rgba(255,255,255,.65)}.target-checkbox .checkmark[data-v-e2c0238c]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;background:#fff;border-radius:50%;transition:all .3s}.target-checkbox input:checked~.checkmark[data-v-e2c0238c]:after{width:12px;height:12px}.target-checkbox .label-text[data-v-e2c0238c]{margin-left:8px}.target-checkbox input[data-v-e2c0238c]{position:absolute;opacity:0}.print-bed-options[data-v-e2c0238c]{margin-top:30px;padding:10px;background-color:#1c1c1d;border-radius:4px}.print-bed-options[data-v-e2c0238c] .el-radio-group{display:flex;justify-content:center;gap:10px;border:none}.print-bed-options[data-v-e2c0238c] .el-radio-button{flex:0 1 auto;width:170px;border:none;border-radius:4px;background-color:#333334}.print-bed-options[data-v-e2c0238c] .el-radio-button__inner{white-space:normal;text-align:center;word-break:break-word;width:100%;padding:12px 20px;border:none;border-radius:4px}.bottom-container[data-v-e2c0238c]{display:flex;gap:70px;justify-content:center;margin-bottom:14px}.myDialogHeader[data-v-e2c0238c]{display:flex;justify-content:space-between;align-items:center;height:45px;padding:0 14px;background-color:#383838;font-size:16px}.close-dialog-btn[data-v-e2c0238c]{background-color:transparent;border:none}#app .uniform-table[data-v-b3782355],#app .mobile-uniform-table[data-v-b3782355]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-b3782355]{min-width:280px}#app .uniform-table .el-table__header[data-v-b3782355],#app .mobile-uniform-table .el-table__header[data-v-b3782355],#app .uniform-table .el-table__body[data-v-b3782355],#app .mobile-uniform-table .el-table__body[data-v-b3782355]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-b3782355],#app .mobile-uniform-table .el-table__header th[data-v-b3782355]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-b3782355],#app .mobile-uniform-table .el-table__body tr[data-v-b3782355]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-b3782355]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-b3782355]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-b3782355]{padding:0!important}#app .el-table__expand-icon[data-v-b3782355]{display:none}#app .table-expand-content[data-v-b3782355]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-b3782355]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-b3782355],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-b3782355]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-b3782355]{max-width:300px;word-break:break-all}#app .font-size16[data-v-b3782355]{font-size:16px}#app .font-size14[data-v-b3782355]{font-size:14px}#app .font-size12[data-v-b3782355]{font-size:12px}#app .font-size24[data-v-b3782355]{font-size:24px}#app .font-size18[data-v-b3782355]{font-size:18px}#app .color-white-65[data-v-b3782355]{color:#ffffffa6}#app .bg-color[data-v-b3782355]{background-color:#333334}#app .bg_color434343[data-v-b3782355]{background-color:#434343}#app .bg-color232425[data-v-b3782355]{background-color:#232524}#app .global-font-14[data-v-b3782355]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-b3782355]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-b3782355]{width:auto;height:28px}}#app .small-btn-size[data-v-b3782355]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-b3782355]{width:auto;height:28px}}#app .global-relative-offset[data-v-b3782355]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-b3782355]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-b3782355],#app .confirm-btn[data-v-b3782355]{width:100px}.file-list-wrapper[data-v-b3782355]{height:100%;display:flex;flex-direction:column}.file-list-container[data-v-b3782355]{flex:1;overflow:auto;margin-bottom:10px}.table-loading-container[data-v-b3782355]{min-height:300px;display:flex;align-items:center;justify-content:center}.table-loading-icon[data-v-b3782355]{font-size:32px;color:#409eff}.pagination-container[data-v-b3782355]{display:flex;justify-content:flex-end;padding:10px;min-height:50px}.page-button[data-v-b3782355]{background-color:#333334;color:#fff;border:none;min-width:68px}.page-button[data-v-b3782355]:hover{background-color:#007bff}.page-button[data-v-b3782355]:disabled{background-color:#666;color:#999;cursor:not-allowed}.page-button[data-v-b3782355]:disabled:hover{background-color:#666}.page-input-wrapper[data-v-b3782355]{display:flex;align-items:center;margin:0 10px;max-width:86px;border:2px solid #0079d1;border-radius:4px}.page-input-container[data-v-b3782355]{display:flex;align-items:center;border-radius:4px;padding:0 8px;height:32px;width:-moz-fit-content;width:fit-content}.page-number-input[data-v-b3782355]{width:auto;max-width:20px;border:none;outline:none;text-align:right;background-color:#333334}.page-separator[data-v-b3782355]{margin-left:4px;margin-right:10px}.empty-state[data-v-b3782355]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:240px 20px;text-align:center}.empty-icon[data-v-b3782355]{width:80px;height:80px;margin-bottom:16px;opacity:.6}.empty-Loading-icon[data-v-b3782355]{width:30px;height:30px;margin-bottom:16px;opacity:.6}.spin[data-v-b3782355]{animation:spin-b3782355 1s linear infinite}@keyframes spin-b3782355{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-content[data-v-b3782355]{max-width:300px}.empty-title[data-v-b3782355]{font-size:16px;font-weight:500;color:#606266;margin:0 0 8px;line-height:1.4}.empty-description[data-v-b3782355]{font-size:14px;color:#909399;margin:0;line-height:1.5}@media (max-width: 768px){.empty-state[data-v-b3782355]{padding:40px 16px}.empty-icon[data-v-b3782355]{width:60px;height:60px;margin-bottom:12px}.empty-title[data-v-b3782355]{font-size:14px;margin-bottom:6px}.empty-description[data-v-b3782355]{font-size:12px}}.control-container[data-v-35929abf]{height:100%;overflow:auto}[data-v-35929abf] .el-table{overflow:visible!important;height:auto!important}[data-v-35929abf] .el-table__body-wrapper{overflow:visible!important;max-height:none!important;height:auto!important}[data-v-35929abf] .el-table__body,[data-v-35929abf] .el-table__inner-wrapper{overflow:visible!important}.ellipsis-text[data-v-35929abf]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtm-loading-container[data-v-35929abf]{display:flex;justify-content:center;align-items:center;padding:16px;color:#666}.loading-more[data-v-35929abf]{display:flex;align-items:center;gap:8px}.no-more-data[data-v-35929abf]{color:#999;font-size:14px}#app .uniform-table[data-v-73636b9e],#app .mobile-uniform-table[data-v-73636b9e]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-73636b9e]{min-width:280px}#app .uniform-table .el-table__header[data-v-73636b9e],#app .mobile-uniform-table .el-table__header[data-v-73636b9e],#app .uniform-table .el-table__body[data-v-73636b9e],#app .mobile-uniform-table .el-table__body[data-v-73636b9e]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-73636b9e],#app .mobile-uniform-table .el-table__header th[data-v-73636b9e]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-73636b9e],#app .mobile-uniform-table .el-table__body tr[data-v-73636b9e]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-73636b9e]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-73636b9e]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-73636b9e]{padding:0!important}#app .el-table__expand-icon[data-v-73636b9e]{display:none}#app .table-expand-content[data-v-73636b9e]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-73636b9e]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-73636b9e],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-73636b9e]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-73636b9e]{max-width:300px;word-break:break-all}#app .font-size16[data-v-73636b9e]{font-size:16px}#app .font-size14[data-v-73636b9e]{font-size:14px}#app .font-size12[data-v-73636b9e]{font-size:12px}#app .font-size24[data-v-73636b9e]{font-size:24px}#app .font-size18[data-v-73636b9e]{font-size:18px}#app .color-white-65[data-v-73636b9e]{color:#ffffffa6}#app .bg-color[data-v-73636b9e]{background-color:#333334}#app .bg_color434343[data-v-73636b9e]{background-color:#434343}#app .bg-color232425[data-v-73636b9e]{background-color:#232524}#app .global-font-14[data-v-73636b9e]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-73636b9e]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-73636b9e]{width:auto;height:28px}}#app .small-btn-size[data-v-73636b9e]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-73636b9e]{width:auto;height:28px}}#app .global-relative-offset[data-v-73636b9e]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-73636b9e]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-73636b9e],#app .confirm-btn[data-v-73636b9e]{width:100px}.import-button-container[data-v-73636b9e]{display:flex;flex-direction:column;width:200px;min-height:60px;border-radius:4px;opacity:1;margin-right:10px}.import-button[data-v-73636b9e]{background-color:#ffffff0d;border:none;text-align:center;letter-spacing:0em;z-index:1;align-self:flex-end}#app .uniform-table[data-v-ff76a677],#app .mobile-uniform-table[data-v-ff76a677]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-ff76a677]{min-width:280px}#app .uniform-table .el-table__header[data-v-ff76a677],#app .mobile-uniform-table .el-table__header[data-v-ff76a677],#app .uniform-table .el-table__body[data-v-ff76a677],#app .mobile-uniform-table .el-table__body[data-v-ff76a677]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-ff76a677],#app .mobile-uniform-table .el-table__header th[data-v-ff76a677]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-ff76a677],#app .mobile-uniform-table .el-table__body tr[data-v-ff76a677]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-ff76a677]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-ff76a677]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-ff76a677]{padding:0!important}#app .el-table__expand-icon[data-v-ff76a677]{display:none}#app .table-expand-content[data-v-ff76a677]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-ff76a677]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-ff76a677],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-ff76a677]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-ff76a677]{max-width:300px;word-break:break-all}#app .font-size16[data-v-ff76a677]{font-size:16px}#app .font-size14[data-v-ff76a677]{font-size:14px}#app .font-size12[data-v-ff76a677]{font-size:12px}#app .font-size24[data-v-ff76a677]{font-size:24px}#app .font-size18[data-v-ff76a677]{font-size:18px}#app .color-white-65[data-v-ff76a677]{color:#ffffffa6}#app .bg-color[data-v-ff76a677]{background-color:#333334}#app .bg_color434343[data-v-ff76a677]{background-color:#434343}#app .bg-color232425[data-v-ff76a677]{background-color:#232524}#app .global-font-14[data-v-ff76a677]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-ff76a677]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-ff76a677]{width:auto;height:28px}}#app .small-btn-size[data-v-ff76a677]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-ff76a677]{width:auto;height:28px}}#app .global-relative-offset[data-v-ff76a677]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-ff76a677]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-ff76a677],#app .confirm-btn[data-v-ff76a677]{width:100px}.title-container[data-v-ff76a677]{display:flex;justify-content:space-between;align-items:center;width:100%;height:66px}.control-container[data-v-ff76a677]{height:950px;color:#ffffffa6;overflow:auto}.left-buttons[data-v-ff76a677]{display:flex;gap:8px;background-color:#1c1c1d;border-radius:4px;padding:6px;margin-left:8px}.left-buttons .el-button[data-v-ff76a677]{border:none;font-weight:400;line-height:14px;letter-spacing:0em;font-feature-settings:"kern" on;color:#fff;width:109px;height:32px;border-radius:4px;opacity:1}.left-buttons .el-button.active[data-v-ff76a677]{background-color:#0079d1;color:#fff;border-color:#0079d1}.left-buttons .el-button[data-v-ff76a677]:hover{background-color:#ffffff1a}.right-buttons[data-v-ff76a677]{display:flex;gap:8px;width:100px;height:26px;border-radius:4px;opacity:1;margin-right:10px}.right-buttons[data-v-ff76a677]:hover{background:#ffffff0a}.right-buttons[data-v-ff76a677]:active{background:#ffffff0f}.right-buttons[data-v-ff76a677]:disabled{background:#ffffff05}@media (max-width: 768px){.control-container[data-v-ff76a677]{height:400px}.right-buttons[data-v-ff76a677]{width:80px}.left-buttons[data-v-ff76a677]{gap:2px}}.el-input-number{position:relative;display:inline-flex;width:150px;line-height:30px;vertical-align:middle}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{display:flex;justify-content:center;align-items:center;height:auto;position:absolute;z-index:1;top:1px;bottom:1px;width:32px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color, var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border)}.el-input-number__decrease{left:1px;border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border)}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height: 15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{bottom:auto;left:auto;border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border)}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;top:auto;left:auto;border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height: 19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height: 11px}#app .uniform-table[data-v-1eb676e7],#app .mobile-uniform-table[data-v-1eb676e7]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-1eb676e7]{min-width:280px}#app .uniform-table .el-table__header[data-v-1eb676e7],#app .mobile-uniform-table .el-table__header[data-v-1eb676e7],#app .uniform-table .el-table__body[data-v-1eb676e7],#app .mobile-uniform-table .el-table__body[data-v-1eb676e7]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-1eb676e7],#app .mobile-uniform-table .el-table__header th[data-v-1eb676e7]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-1eb676e7],#app .mobile-uniform-table .el-table__body tr[data-v-1eb676e7]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-1eb676e7]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-1eb676e7]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-1eb676e7]{padding:0!important}#app .el-table__expand-icon[data-v-1eb676e7]{display:none}#app .table-expand-content[data-v-1eb676e7]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-1eb676e7]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-1eb676e7],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-1eb676e7]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-1eb676e7]{max-width:300px;word-break:break-all}#app .font-size16[data-v-1eb676e7]{font-size:16px}#app .font-size14[data-v-1eb676e7]{font-size:14px}#app .font-size12[data-v-1eb676e7]{font-size:12px}#app .font-size24[data-v-1eb676e7]{font-size:24px}#app .font-size18[data-v-1eb676e7]{font-size:18px}#app .color-white-65[data-v-1eb676e7]{color:#ffffffa6}#app .bg-color[data-v-1eb676e7]{background-color:#333334}#app .bg_color434343[data-v-1eb676e7]{background-color:#434343}#app .bg-color232425[data-v-1eb676e7]{background-color:#232524}#app .global-font-14[data-v-1eb676e7]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-1eb676e7]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-1eb676e7]{width:auto;height:28px}}#app .small-btn-size[data-v-1eb676e7]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-1eb676e7]{width:auto;height:28px}}#app .global-relative-offset[data-v-1eb676e7]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-1eb676e7]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-1eb676e7],#app .confirm-btn[data-v-1eb676e7]{width:100px}.temperature-control-row[data-v-1eb676e7]{display:flex;align-items:center;padding:8px 12px;background-color:#282829;border-radius:6px;margin:0;font-size:14px;font-family:Source Han Sans,PingFang SC,Microsoft YaHei,sans-serif;font-weight:350;line-height:20px;letter-spacing:0em;color:#ffffffd9}.temperature-control-row .temperature-name[data-v-1eb676e7]{margin-left:10px}.temperature-control-row .temperature-value[data-v-1eb676e7]{margin-left:auto;margin-right:10px;font-family:Source Han Sans,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:350;line-height:20px;letter-spacing:0em;color:#ffffffd9}.temperature-control-row .temperature-input[data-v-1eb676e7]{width:70px;height:24px;margin-left:0}.temperature-control-row .temperature-input[data-v-1eb676e7] .el-input{line-height:1}.temperature-control-row .temperature-input[data-v-1eb676e7] .el-input__wrapper{padding:0;background:transparent;box-shadow:none!important}.temperature-control-row .temperature-input[data-v-1eb676e7] .el-input__inner{height:24px;padding:0 20px 0 5px!important;margin:0;background:#444445;text-align:center;border:none;box-shadow:none}.temperature-control-row .temperature-input[data-v-1eb676e7] .el-input-number__decrease,.temperature-control-row .temperature-input[data-v-1eb676e7] .el-input-number__increase{display:none}.temperature-control-row .temperature-input[data-v-1eb676e7]:after{content:attr(data-unit);position:absolute;right:5px;top:50%;transform:translateY(-50%);color:#ccc;font-size:14px;pointer-events:none}#app .uniform-table[data-v-05855162],#app .mobile-uniform-table[data-v-05855162]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-05855162]{min-width:280px}#app .uniform-table .el-table__header[data-v-05855162],#app .mobile-uniform-table .el-table__header[data-v-05855162],#app .uniform-table .el-table__body[data-v-05855162],#app .mobile-uniform-table .el-table__body[data-v-05855162]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-05855162],#app .mobile-uniform-table .el-table__header th[data-v-05855162]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-05855162],#app .mobile-uniform-table .el-table__body tr[data-v-05855162]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-05855162]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-05855162]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-05855162]{padding:0!important}#app .el-table__expand-icon[data-v-05855162]{display:none}#app .table-expand-content[data-v-05855162]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-05855162]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-05855162],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-05855162]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-05855162]{max-width:300px;word-break:break-all}#app .font-size16[data-v-05855162]{font-size:16px}#app .font-size14[data-v-05855162]{font-size:14px}#app .font-size12[data-v-05855162]{font-size:12px}#app .font-size24[data-v-05855162]{font-size:24px}#app .font-size18[data-v-05855162]{font-size:18px}#app .color-white-65[data-v-05855162]{color:#ffffffa6}#app .bg-color[data-v-05855162]{background-color:#333334}#app .bg_color434343[data-v-05855162]{background-color:#434343}#app .bg-color232425[data-v-05855162]{background-color:#232524}#app .global-font-14[data-v-05855162]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-05855162]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-05855162]{width:auto;height:28px}}#app .small-btn-size[data-v-05855162]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-05855162]{width:auto;height:28px}}#app .global-relative-offset[data-v-05855162]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-05855162]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-05855162],#app .confirm-btn[data-v-05855162]{width:100px}.header[data-v-05855162]{display:flex;justify-content:space-between;align-items:center;background-color:#2f2f30;height:50px;padding:0 12px;margin:0;font-size:14px;font-weight:400;line-height:10px;letter-spacing:0em;color:#ffffffa6}#app .uniform-table,#app .mobile-uniform-table{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table{min-width:280px}#app .uniform-table .el-table__header,#app .mobile-uniform-table .el-table__header,#app .uniform-table .el-table__body,#app .mobile-uniform-table .el-table__body{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th,#app .mobile-uniform-table .el-table__header th{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr,#app .mobile-uniform-table .el-table__body tr{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr:hover,#app .mobile-uniform-table .el-table__body tr:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell{padding:0!important}#app .el-table__expand-icon{display:none}#app .table-expand-content{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell,#app .mobile-uniform-table .el-table__body .el-table__cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper{max-width:300px;word-break:break-all}#app .font-size16{font-size:16px}#app .font-size14{font-size:14px}#app .font-size12{font-size:12px}#app .font-size24{font-size:24px}#app .font-size18{font-size:18px}#app .color-white-65{color:#ffffffa6}#app .bg-color{background-color:#333334}#app .bg_color434343{background-color:#434343}#app .bg-color232425{background-color:#232524}#app .global-font-14{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size{width:auto;height:28px}}#app .small-btn-size{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size{width:auto;height:28px}}#app .global-relative-offset{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn{background-color:#1c1c1d;width:100px}#app .reset-btn,#app .confirm-btn{width:100px}:root{--el-loading-spinner-size: 42px;--el-loading-fullscreen-spinner-size: 50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.myDialogHeader[data-v-9019dc31]{display:flex;flex-direction:row;justify-content:space-between;height:50px;border:none;background-color:#232425;margin:0;color:#ffffffd9}.dialog-content[data-v-9019dc31]{padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100px;background-color:#1c1d1e}.dialog-message[data-v-9019dc31]{max-width:100%;min-width:0;word-break:break-word;overflow-wrap:anywhere;white-space:normal;margin:0;opacity:1;font-family:Source Han Sans;font-size:16px;font-weight:350;line-height:22px;letter-spacing:0em}.image-container[data-v-9019dc31]{width:100%;display:flex;justify-content:center;align-items:center}.detection-image[data-v-9019dc31]{max-width:100%;max-height:300px;-o-object-fit:contain;object-fit:contain;border-radius:4px}[data-v-9019dc31] .el-dialog__body{max-height:60vh;overflow-y:auto}.dialog-footer[data-v-9019dc31]{padding:10px;text-align:center;background-color:#1c1d1e}.close-dialog-btn[data-v-9019dc31]{margin:14px;background-color:transparent;border:none;font-size:6px}.confirm-btn[data-v-9019dc31]{width:100px}#app .uniform-table[data-v-27c11937],#app .mobile-uniform-table[data-v-27c11937]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-27c11937]{min-width:280px}#app .uniform-table .el-table__header[data-v-27c11937],#app .mobile-uniform-table .el-table__header[data-v-27c11937],#app .uniform-table .el-table__body[data-v-27c11937],#app .mobile-uniform-table .el-table__body[data-v-27c11937]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-27c11937],#app .mobile-uniform-table .el-table__header th[data-v-27c11937]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-27c11937],#app .mobile-uniform-table .el-table__body tr[data-v-27c11937]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-27c11937]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-27c11937]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-27c11937]{padding:0!important}#app .el-table__expand-icon[data-v-27c11937]{display:none}#app .table-expand-content[data-v-27c11937]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-27c11937]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-27c11937],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-27c11937]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-27c11937]{max-width:300px;word-break:break-all}#app .font-size16[data-v-27c11937]{font-size:16px}#app .font-size14[data-v-27c11937]{font-size:14px}#app .font-size12[data-v-27c11937]{font-size:12px}#app .font-size24[data-v-27c11937]{font-size:24px}#app .font-size18[data-v-27c11937]{font-size:18px}#app .color-white-65[data-v-27c11937]{color:#ffffffa6}#app .bg-color[data-v-27c11937]{background-color:#333334}#app .bg_color434343[data-v-27c11937]{background-color:#434343}#app .bg-color232425[data-v-27c11937]{background-color:#232524}#app .global-font-14[data-v-27c11937]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-27c11937]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-27c11937]{width:auto;height:28px}}#app .small-btn-size[data-v-27c11937]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-27c11937]{width:auto;height:28px}}#app .global-relative-offset[data-v-27c11937]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-27c11937]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-27c11937],#app .confirm-btn[data-v-27c11937]{width:100px}.video-container[data-v-27c11937]{min-height:300px;background:#000;position:relative;display:flex;align-items:center;justify-content:center}.video-container .video-control-btn[data-v-27c11937]{background:#1f1f1f;border-radius:50%;width:60px;height:60px;border:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.video-container .video-control-btn[data-v-27c11937]:hover{background:#222}.video-container .video-control-btn[data-v-27c11937]:active{background:#282828}.video-container.is-playing .video-control-btn[data-v-27c11937]{display:none}.video-container.is-playing:hover .video-control-btn[data-v-27c11937]{display:inline-block}.ai-setting-btn[data-v-27c11937]{width:95px;height:26px;border-radius:4px;opacity:1;background:#1c1c1d;border-color:#1c1c1d;color:#ffffffd9;margin-right:12px}.ai-setting-btn[data-v-27c11937]:hover{background:#252526;border-color:#252526;color:#fff}.ai-setting-btn[data-v-27c11937]:active{background:#1a1a1b;border-color:#1a1a1b;color:#fff}.video-img[data-v-27c11937]{max-height:390px}.connection-failed[data-v-27c11937]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffa6;display:flex;flex-direction:column;align-items:center;gap:8px}.control-container[data-v-02fe7137]{height:100%;width:100%}[data-v-02fe7137] .uniform-table{--el-table-row-hover-bg-color: #2a2a2a;height:85%}[data-v-02fe7137] .uniform-table .el-table__header th{background-color:#2f2f30!important;border-bottom:1px solid #3a3a3a;font-family:var(--app-font-family);font-size:14px;font-weight:350;line-height:20px;letter-spacing:0em;font-feature-settings:"kern" on;color:#ffffffa6}[data-v-02fe7137] .uniform-table .el-table__body tr{background-color:inherit!important;cursor:pointer;font-size:14px;font-weight:350;line-height:14px;text-align:center;letter-spacing:0em;font-feature-settings:"kern" on;color:#fff}.export-container[data-v-02fe7137]{display:flex;justify-content:flex-end;margin:20px 20px 20px 0}.export-btn[data-v-02fe7137]{background-color:#2f2f30;border:none;width:110px}.export-btn[data-v-02fe7137]:hover{background-color:#3e3e3f}[data-v-02fe7137] .uniform-table .el-table__body .el-table__cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-02fe7137] .el-tooltip__popper{max-width:300px;word-break:break-all}#app .uniform-table[data-v-50c90669],#app .mobile-uniform-table[data-v-50c90669]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-50c90669]{min-width:280px}#app .uniform-table .el-table__header[data-v-50c90669],#app .mobile-uniform-table .el-table__header[data-v-50c90669],#app .uniform-table .el-table__body[data-v-50c90669],#app .mobile-uniform-table .el-table__body[data-v-50c90669]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-50c90669],#app .mobile-uniform-table .el-table__header th[data-v-50c90669]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-50c90669],#app .mobile-uniform-table .el-table__body tr[data-v-50c90669]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-50c90669]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-50c90669]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-50c90669]{padding:0!important}#app .el-table__expand-icon[data-v-50c90669]{display:none}#app .table-expand-content[data-v-50c90669]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-50c90669]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-50c90669],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-50c90669]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-50c90669]{max-width:300px;word-break:break-all}#app .font-size16[data-v-50c90669]{font-size:16px}#app .font-size14[data-v-50c90669]{font-size:14px}#app .font-size12[data-v-50c90669]{font-size:12px}#app .font-size24[data-v-50c90669]{font-size:24px}#app .font-size18[data-v-50c90669]{font-size:18px}#app .color-white-65[data-v-50c90669]{color:#ffffffa6}#app .bg-color[data-v-50c90669]{background-color:#333334}#app .bg_color434343[data-v-50c90669]{background-color:#434343}#app .bg-color232425[data-v-50c90669]{background-color:#232524}#app .global-font-14[data-v-50c90669]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-50c90669]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-50c90669]{width:auto;height:28px}}#app .small-btn-size[data-v-50c90669]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-50c90669]{width:auto;height:28px}}#app .global-relative-offset[data-v-50c90669]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-50c90669]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-50c90669],#app .confirm-btn[data-v-50c90669]{width:100px}.control-container[data-v-50c90669]{height:500px}#app .uniform-table[data-v-0ed6e997],#app .mobile-uniform-table[data-v-0ed6e997]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-0ed6e997]{min-width:280px}#app .uniform-table .el-table__header[data-v-0ed6e997],#app .mobile-uniform-table .el-table__header[data-v-0ed6e997],#app .uniform-table .el-table__body[data-v-0ed6e997],#app .mobile-uniform-table .el-table__body[data-v-0ed6e997]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-0ed6e997],#app .mobile-uniform-table .el-table__header th[data-v-0ed6e997]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-0ed6e997],#app .mobile-uniform-table .el-table__body tr[data-v-0ed6e997]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-0ed6e997]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-0ed6e997]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-0ed6e997]{padding:0!important}#app .el-table__expand-icon[data-v-0ed6e997]{display:none}#app .table-expand-content[data-v-0ed6e997]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-0ed6e997]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-0ed6e997],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-0ed6e997]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-0ed6e997]{max-width:300px;word-break:break-all}#app .font-size16[data-v-0ed6e997]{font-size:16px}#app .font-size14[data-v-0ed6e997]{font-size:14px}#app .font-size12[data-v-0ed6e997]{font-size:12px}#app .font-size24[data-v-0ed6e997]{font-size:24px}#app .font-size18[data-v-0ed6e997]{font-size:18px}#app .color-white-65[data-v-0ed6e997]{color:#ffffffa6}#app .bg-color[data-v-0ed6e997]{background-color:#333334}#app .bg_color434343[data-v-0ed6e997]{background-color:#434343}#app .bg-color232425[data-v-0ed6e997]{background-color:#232524}#app .global-font-14[data-v-0ed6e997]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-0ed6e997]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-0ed6e997]{width:auto;height:28px}}#app .small-btn-size[data-v-0ed6e997]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-0ed6e997]{width:auto;height:28px}}#app .global-relative-offset[data-v-0ed6e997]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-0ed6e997]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-0ed6e997],#app .confirm-btn[data-v-0ed6e997]{width:100px}.dialog-header[data-v-0ed6e997]{display:flex;justify-content:space-between;align-items:center;height:50px;padding:10px;font-weight:700;background-color:#383838;cursor:default}.dialog-content[data-v-0ed6e997]{padding:0 20px 15px;color:#fff;flex-direction:column;justify-content:center;margin-top:-10px}.select-filament[data-v-0ed6e997]{border:1px solid #555555;width:200px;font-family:var(--app-font-family);font-size:12px;color:#fff}.select-filament.error-select[data-v-0ed6e997]{border-color:#fc0000}.close-btn[data-v-0ed6e997]{background-color:transparent;border:none}.color-button[data-v-0ed6e997]{width:52px;height:28px;padding:0;border-radius:20px;border:1px solid rgba(255,255,255,.65)}.color-button.error-color[data-v-0ed6e997]{border:2px solid #fc0000}.setting-item[data-v-0ed6e997]{padding-top:20px;display:flex;justify-content:space-between;align-items:center}.setting-title[data-v-0ed6e997]{font-size:14px;font-family:var(--app-font-family);color:#fff}.temperature-range[data-v-0ed6e997]{display:flex;align-items:center}.temperature-range span[data-v-0ed6e997]{margin:0 10px;font-size:14px}.bottom-container[data-v-0ed6e997]{display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.custom-color-picker[data-v-0ed6e997]{padding:12px;background-color:#282829;border-radius:4px}.custom-color-picker .color-category:first-child .color-grid[data-v-0ed6e997]{padding-left:0}.color-category[data-v-0ed6e997]{margin-bottom:16px}.color-category[data-v-0ed6e997]:last-child{margin-bottom:0}.category-title[data-v-0ed6e997]{color:#aeaeae;margin-bottom:8px;font-weight:500;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;font-family:var(--app-font-family);font-size:11px;white-space:nowrap}.color-grid[data-v-0ed6e997],.color-grid.more-colors[data-v-0ed6e997]{display:grid;grid-template-columns:repeat(6,1fr);row-gap:10px;width:310px;justify-items:center}.color-dot[data-v-0ed6e997]{width:26px;height:26px;border-radius:50%;cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:transform .2s}.color-dot[data-v-0ed6e997]:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ffffff4d}#app .uniform-table[data-v-6700aeb5],#app .mobile-uniform-table[data-v-6700aeb5]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-6700aeb5]{min-width:280px}#app .uniform-table .el-table__header[data-v-6700aeb5],#app .mobile-uniform-table .el-table__header[data-v-6700aeb5],#app .uniform-table .el-table__body[data-v-6700aeb5],#app .mobile-uniform-table .el-table__body[data-v-6700aeb5]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-6700aeb5],#app .mobile-uniform-table .el-table__header th[data-v-6700aeb5]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-6700aeb5],#app .mobile-uniform-table .el-table__body tr[data-v-6700aeb5]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-6700aeb5]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-6700aeb5]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-6700aeb5]{padding:0!important}#app .el-table__expand-icon[data-v-6700aeb5]{display:none}#app .table-expand-content[data-v-6700aeb5]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-6700aeb5]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-6700aeb5],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-6700aeb5]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-6700aeb5]{max-width:300px;word-break:break-all}#app .font-size16[data-v-6700aeb5]{font-size:16px}#app .font-size14[data-v-6700aeb5]{font-size:14px}#app .font-size12[data-v-6700aeb5]{font-size:12px}#app .font-size24[data-v-6700aeb5]{font-size:24px}#app .font-size18[data-v-6700aeb5]{font-size:18px}#app .color-white-65[data-v-6700aeb5]{color:#ffffffa6}#app .bg-color[data-v-6700aeb5]{background-color:#333334}#app .bg_color434343[data-v-6700aeb5]{background-color:#434343}#app .bg-color232425[data-v-6700aeb5]{background-color:#232524}#app .global-font-14[data-v-6700aeb5]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-6700aeb5]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-6700aeb5]{width:auto;height:28px}}#app .small-btn-size[data-v-6700aeb5]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-6700aeb5]{width:auto;height:28px}}#app .global-relative-offset[data-v-6700aeb5]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-6700aeb5]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-6700aeb5],#app .confirm-btn[data-v-6700aeb5]{width:100px}.loading-container[data-v-6700aeb5]{display:flex;align-items:center;justify-content:center;min-height:260px}.loading-icon[data-v-6700aeb5]{font-size:32px;color:#409eff}.single-color[data-v-6700aeb5]{display:flex;align-items:center;justify-content:space-between;min-height:260px;padding:24px;margin:0 auto;max-width:600px;-moz-column-gap:18px;column-gap:18px}.preview[data-v-6700aeb5]{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;position:relative;flex:1 1 320px;min-width:320px;min-height:260px}.printer[data-v-6700aeb5]{max-width:420px;width:100%;height:auto}.tray-guideline[data-v-6700aeb5]{position:absolute;left:var(--guide-left, 100px);top:var(--guide-mobile-top, 70px);width:1px;height:var(--guide-mobile-length, 96px);pointer-events:none;z-index:1}.single-filament-rack[data-v-6700aeb5]{position:absolute;left:calc(var(--guide-left, 120px) - 67px);top:var(--guide-top, 109px);width:var(--tray-length, 60px);height:auto;pointer-events:auto;cursor:pointer;z-index:1}.single-filament-rack[data-v-6700aeb5] [fill="#D26DF9"]{fill:var(--curFilamentColor)!important}.tray-label[data-v-6700aeb5]{position:absolute;left:var(--guide-left, 84px);top:var(--guide-top, 74px);color:#e5e7eb;font-size:14px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;z-index:1}.actions[data-v-6700aeb5]{width:140px;display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-top:24px;flex-shrink:0}.actions .action-btn[data-v-6700aeb5],.actions .edit-btn[data-v-6700aeb5]{width:88px;height:38px;margin:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}@media (max-width: 640px){.single-color[data-v-6700aeb5]{padding:16px;-moz-column-gap:12px;column-gap:12px}.preview[data-v-6700aeb5]{min-width:0;flex:1 1 220px;max-width:300px}.actions[data-v-6700aeb5]{width:120px;gap:12px;padding-top:16px}.actions .action-btn[data-v-6700aeb5],.actions .edit-btn[data-v-6700aeb5]{width:100%}}#app .uniform-table[data-v-72c9a817],#app .mobile-uniform-table[data-v-72c9a817]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-72c9a817]{min-width:280px}#app .uniform-table .el-table__header[data-v-72c9a817],#app .mobile-uniform-table .el-table__header[data-v-72c9a817],#app .uniform-table .el-table__body[data-v-72c9a817],#app .mobile-uniform-table .el-table__body[data-v-72c9a817]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-72c9a817],#app .mobile-uniform-table .el-table__header th[data-v-72c9a817]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-72c9a817],#app .mobile-uniform-table .el-table__body tr[data-v-72c9a817]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-72c9a817]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-72c9a817]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-72c9a817]{padding:0!important}#app .el-table__expand-icon[data-v-72c9a817]{display:none}#app .table-expand-content[data-v-72c9a817]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-72c9a817]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-72c9a817],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-72c9a817]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-72c9a817]{max-width:300px;word-break:break-all}#app .font-size16[data-v-72c9a817]{font-size:16px}#app .font-size14[data-v-72c9a817]{font-size:14px}#app .font-size12[data-v-72c9a817]{font-size:12px}#app .font-size24[data-v-72c9a817]{font-size:24px}#app .font-size18[data-v-72c9a817]{font-size:18px}#app .color-white-65[data-v-72c9a817]{color:#ffffffa6}#app .bg-color[data-v-72c9a817]{background-color:#333334}#app .bg_color434343[data-v-72c9a817]{background-color:#434343}#app .bg-color232425[data-v-72c9a817]{background-color:#232524}#app .global-font-14[data-v-72c9a817]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-72c9a817]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-72c9a817]{width:auto;height:28px}}#app .small-btn-size[data-v-72c9a817]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-72c9a817]{width:auto;height:28px}}#app .global-relative-offset[data-v-72c9a817]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-72c9a817]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-72c9a817],#app .confirm-btn[data-v-72c9a817]{width:100px}.dialog-header[data-v-72c9a817]{display:flex;justify-content:space-between;align-items:center;height:50px;padding:10px;font-weight:700;background-color:#383838;cursor:default}.dialog-content[data-v-72c9a817]{padding:0 20px 15px;color:#fff;flex-direction:column;justify-content:center;margin-top:-10px}.el-dialog.bg-color{border-radius:4px;overflow:hidden}.select-filament[data-v-72c9a817]{border:1px solid #555555;width:200px;font-family:var(--app-font-family);font-size:12px;color:#fff}.select-filament.error-select[data-v-72c9a817]{border-color:#fc0000}.close-btn[data-v-72c9a817]{background-color:transparent;border:none}.color-button[data-v-72c9a817]{width:52px;height:28px;padding:0;border-radius:20px;border:1px solid rgba(255,255,255,.65)}.color-button.error-color[data-v-72c9a817]{border:2px solid #fc0000}.setting-item[data-v-72c9a817]{padding-top:20px;display:flex;justify-content:space-between;align-items:center}.setting-title[data-v-72c9a817]{font-size:14px;font-family:var(--app-font-family);color:#fff}.temperature-range[data-v-72c9a817]{display:flex;align-items:center}.temperature-range span[data-v-72c9a817]{margin:0 10px;font-size:14px}.setting-note[data-v-72c9a817]{color:#b4b4b4;font-size:12px;margin-top:20px}.custom-color-picker[data-v-72c9a817]{padding:12px;background-color:#282829;border-radius:4px}.custom-color-picker .color-category:first-child .color-grid[data-v-72c9a817]{padding-left:0}.color-category[data-v-72c9a817]{margin-bottom:16px}.color-category[data-v-72c9a817]:last-child{margin-bottom:0}.category-title[data-v-72c9a817]{color:#aeaeae;margin-bottom:8px;font-weight:500;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;font-family:var(--app-font-family);font-size:11px;white-space:nowrap}.color-grid[data-v-72c9a817],.color-grid.more-colors[data-v-72c9a817]{display:grid;grid-template-columns:repeat(6,1fr);row-gap:10px;width:310px;justify-items:center}.bottom-container[data-v-72c9a817]{display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.color-dot[data-v-72c9a817]{width:26px;height:26px;border-radius:50%;cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:transform .2s}.color-dot[data-v-72c9a817]:hover{transform:scale(1.1);box-shadow:0 0 0 2px #ffffff4d}.vertical-icon-card[data-v-c38531c2]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;border-radius:8px;transition:all .3s ease;height:160px;min-width:100px}.icon-container[data-v-c38531c2]{position:relative;display:inline-block}.icon-number[data-v-c38531c2]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;padding:2px 6px;pointer-events:none}.refrsh-show[data-v-c38531c2]{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:transparent;transition:all .2s ease;cursor:var(--cursor-state, pointer)}.refrsh-show[data-v-c38531c2]:has(.loading-icon){--cursor-state: default;pointer-events:none}.refrsh-show[data-v-c38531c2]:hover{background-color:#fff3}.icon-container[data-v-c38531c2]:not(.refrsh-show){background-color:transparent;padding:0;border-radius:0}.icon-container[data-v-c38531c2]:not(.refrsh-show):hover{background-color:transparent;transform:none}.name-text[data-v-c38531c2]{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.hollow-circle-container[data-v-c38531c2]{position:relative;width:68px;height:68px;display:flex;justify-content:center;align-items:center;padding:4px;cursor:pointer}.with-border[data-v-c38531c2]{outline:1px solid #FFFFFF;outline-offset:-1px;border-radius:10px}.hollow-circle[data-v-c38531c2]{width:58px;height:58px;border:18px solid #ffffff;border-radius:50%;background:transparent}.hollow-circle.with-question[data-v-c38531c2]:after{content:"?";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px}.hollow-circle.with-slash[data-v-c38531c2]:after{content:"/";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px}.hollow-circle.thin-border[data-v-c38531c2]{border-width:3px;border-color:#fff!important}.bottom-btn[data-v-c38531c2]{font-size:20px;background-color:transparent!important;border:none;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;width:40px}.bottom-btn svg[data-v-c38531c2]{width:16px;height:16px;vertical-align:middle}.bottom-btn[data-v-c38531c2]:hover{opacity:.6}.edit-false-icon[data-v-c38531c2] path{fill:#606061}.refresh-icon[data-v-c38531c2]{font-size:32px;background-color:transparent!important}.loading-icon[data-v-c38531c2]{margin:6px;font-size:20px;pointer-events:none!important;cursor:default!important}.name-wrapper[data-v-c38531c2]{width:60px;white-space:nowrap;display:flex;justify-content:center;align-items:center}@media (max-width:768px){.vertical-icon-card[data-v-c38531c2]{min-width:60px;padding:2px;gap:0px;margin:0}.hollow-circle-container[data-v-c38531c2]{width:50px;height:50px;padding:1px;margin:6px 0}.hollow-circle[data-v-c38531c2]{width:48px;height:48px;border-width:15px}.hollow-circle.with-question[data-v-c38531c2],.hollow-circle.with-slash[data-v-c38531c2]{border-width:3px}.hollow-circle.thin-border[data-v-c38531c2]{border-width:2px}.hollow-circle.with-question[data-v-c38531c2]:after,.hollow-circle.with-slash[data-v-c38531c2]:after{font-size:16px}}.dialog-header[data-v-0ca0532d]{display:flex;justify-content:space-between;align-items:center;height:50px;padding:10px;background-color:#383838;cursor:default}.close-btn[data-v-0ca0532d]{background-color:transparent;border:none}.dialog-content[data-v-0ca0532d]{padding:0 10px 10px 20px;max-height:70vh;overflow:auto}.setting-header[data-v-0ca0532d]{display:flex;align-items:center;margin-bottom:8px}.setting-title[data-v-0ca0532d]{font-size:14px;margin-left:10px;flex-grow:1}.temperature-humidity-container[data-v-0ca0532d]{display:flex;align-items:center;cursor:default;gap:10px;margin-left:auto;padding-bottom:20px}.humidity[data-v-0ca0532d],.temperature[data-v-0ca0532d]{display:flex;align-items:center;border-bottom:1px solid #555555}.temperature-value[data-v-0ca0532d],.humidity-value[data-v-0ca0532d]{color:#0c88e0}.setting-description[data-v-0ca0532d],.setting-note[data-v-0ca0532d]{color:#b4b4b4;font-size:12px}.setting-description[data-v-0ca0532d]{margin-bottom:5px}.bottom-container[data-v-0ca0532d]{display:flex;justify-content:flex-end}.bottom-container .el-button[data-v-0ca0532d]{width:74px;height:36px;margin-right:18px;margin-bottom:6px;margin-top:16px;background-color:#1c1c1d}.all-container[data-v-dd06faea]{display:flex;justify-content:center;align-items:center;border:1px solid #555555;border-radius:3px;gap:4px;width:84px;height:28px;cursor:pointer}.square[data-v-dd06faea]{width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #ccc}.selected[data-v-dd06faea]{transform:scale(1.1);border:2px solid #0C88E0;z-index:1}.square-mark[data-v-dd06faea]{font-size:11px}@media (max-width:768px){.all-container[data-v-dd06faea]{width:auto}.square[data-v-dd06faea]{width:12px;height:12px;border-radius:2px}.selected[data-v-dd06faea]{padding:2px}.square-mark[data-v-dd06faea]{font-size:9px}}#app .uniform-table[data-v-8da9606c],#app .mobile-uniform-table[data-v-8da9606c]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-8da9606c]{min-width:280px}#app .uniform-table .el-table__header[data-v-8da9606c],#app .mobile-uniform-table .el-table__header[data-v-8da9606c],#app .uniform-table .el-table__body[data-v-8da9606c],#app .mobile-uniform-table .el-table__body[data-v-8da9606c]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-8da9606c],#app .mobile-uniform-table .el-table__header th[data-v-8da9606c]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-8da9606c],#app .mobile-uniform-table .el-table__body tr[data-v-8da9606c]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-8da9606c]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-8da9606c]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-8da9606c]{padding:0!important}#app .el-table__expand-icon[data-v-8da9606c]{display:none}#app .table-expand-content[data-v-8da9606c]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-8da9606c]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-8da9606c],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-8da9606c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-8da9606c]{max-width:300px;word-break:break-all}#app .font-size16[data-v-8da9606c]{font-size:16px}#app .font-size14[data-v-8da9606c]{font-size:14px}#app .font-size12[data-v-8da9606c]{font-size:12px}#app .font-size24[data-v-8da9606c]{font-size:24px}#app .font-size18[data-v-8da9606c]{font-size:18px}#app .color-white-65[data-v-8da9606c]{color:#ffffffa6}#app .bg-color[data-v-8da9606c]{background-color:#333334}#app .bg_color434343[data-v-8da9606c]{background-color:#434343}#app .bg-color232425[data-v-8da9606c]{background-color:#232524}#app .global-font-14[data-v-8da9606c]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-8da9606c]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-8da9606c]{width:auto;height:28px}}#app .small-btn-size[data-v-8da9606c]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-8da9606c]{width:auto;height:28px}}#app .global-relative-offset[data-v-8da9606c]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-8da9606c]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-8da9606c],#app .confirm-btn[data-v-8da9606c]{width:100px}.printer[data-v-8da9606c]{width:400px;height:400px}.printer-machine[data-v-8da9606c]{position:absolute;top:50%;left:55%;transform:translate(-50%,-50%);display:block;width:183px;height:220.6px}.printer-machine-header[data-v-8da9606c]{position:absolute;top:25%;left:95%;transform:translate(-50%,-50%);z-index:4}.printer-machine-header[data-v-8da9606c] ellipse{fill:var(--curve-color)}.printer-machine-top[data-v-8da9606c]{position:absolute;top:19%;left:55%;transform:translate(-50%,-50%);z-index:4;display:block}[class^=slot-num][data-v-8da9606c]{position:absolute;opacity:.5;transition:opacity .3s ease}[class^=slot-num][data-v-8da9606c] ellipse{fill:#d8d8d8}[class^=slot-num].active[data-v-8da9606c]{opacity:1}[class^=slot-num].active[data-v-8da9606c] ellipse{fill:#0c88e0}.slot-num1[data-v-8da9606c]{top:37%;left:24%;transform:translate(-50%,-50%)}.slot-num2[data-v-8da9606c]{top:60%;left:24%;transform:translate(-50%,-50%)}.slot-num3[data-v-8da9606c]{top:60%;left:85%;transform:translate(-50%,-50%)}.slot-num4[data-v-8da9606c]{top:37%;left:85%;transform:translate(-50%,-50%)}.printer-loading[data-v-8da9606c]{position:absolute;transform:translate(-50%,-50%);transform-origin:center}.printer-loading.active[data-v-8da9606c]{animation:rotate-8da9606c 2s linear infinite}.interrupt-loading[data-v-8da9606c] path{fill:#f44!important}.interrupt-loading.active[data-v-8da9606c]{animation:blink-8da9606c 1.2s ease-in-out infinite}@keyframes rotate-8da9606c{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes blink-8da9606c{0%,to{opacity:1}50%{opacity:.25}}@keyframes marquee-8da9606c{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes strokeMarquee-8da9606c{0%{stroke-dashoffset:0}to{stroke-dashoffset:-23}}@keyframes comet-8da9606c{0%{stroke-dashoffset:0}to{stroke-dashoffset:-130}}@keyframes glowPulse-8da9606c{0%,to{filter:drop-shadow(0 0 4px rgba(255,255,255,.4))}50%{filter:drop-shadow(0 0 10px rgba(255,255,255,.9)) drop-shadow(0 0 12px rgba(1,160,139,.5))}}@keyframes cometFade-8da9606c{0%,88%{stroke-opacity:1}92%,to{stroke-opacity:0}}.printer-machine-header-line[data-v-8da9606c]{position:absolute;top:14%;left:71.9%;transform:translate(-50%,-50%);z-index:1}.printer-machine-header-line[data-v-8da9606c] path{fill:var(--curve-color);stroke:none;stroke-width:0;stroke-dasharray:none;stroke-dashoffset:0;filter:none}.printer-machine-header-line.active[data-v-8da9606c] path{stroke:none;filter:none}.printer-machine-header-line.highlighted[data-v-8da9606c] path{stroke:var(--curve-color);stroke-width:4}.printer-machine-header-line-left2[data-v-8da9606c]{position:absolute;top:14%;left:74%;transform:translate(-50%,-50%);z-index:1}.printer-machine-header-line-left2[data-v-8da9606c] path{fill:var(--curve-color);stroke:none;stroke-width:0;stroke-dasharray:none;stroke-dashoffset:0;filter:none}.printer-machine-header-line-left2.highlighted[data-v-8da9606c] path{stroke:var(--curve-color);stroke-width:4}.printer-machine-header-line-left3[data-v-8da9606c]{position:absolute;top:14%;left:76.1%;transform:translate(-50%,-50%);z-index:1}.printer-machine-header-line-left3[data-v-8da9606c] path{fill:var(--curve-color);stroke:none;stroke-width:0;stroke-dasharray:none;stroke-dashoffset:0;filter:none}.printer-machine-header-line-left3.highlighted[data-v-8da9606c] path{stroke:var(--curve-color);stroke-width:4}.printer-machine-header-line-left4[data-v-8da9606c]{position:absolute;top:14%;left:78.2%;transform:translate(-50%,-50%);z-index:1}.printer-machine-header-line-left4[data-v-8da9606c] path{fill:var(--curve-color);stroke:none;stroke-width:0;stroke-dasharray:none;stroke-dashoffset:0;filter:none}.printer-machine-header-line-left4.highlighted[data-v-8da9606c] path{stroke:var(--curve-color);stroke-width:4}[class^=printer-curve][data-v-8da9606c]{position:absolute}[class^=printer-curve][data-v-8da9606c] path{fill:var(--curve-color)}.printer-curve1[data-v-8da9606c]{top:26%;left:45%;transform:translate(-50%,-50%)}.printer-curve2[data-v-8da9606c]{top:38%;left:49%;transform:translate(-50%,-50%)}.printer-curve3[data-v-8da9606c]{top:38%;left:60%;transform:translate(-50%,-50%)}.printer-curve4[data-v-8da9606c]{top:26%;left:63%;transform:translate(-50%,-50%)}.hollow-circle[data-v-8da9606c]{position:absolute;width:78.45px;height:78.45px;border-radius:50%;box-shadow:0 0 0 2px #aeaeae,inset 0 0 0 1px #aeaeae;border:26px solid var(--curFilamentColor, #409eff);cursor:pointer;transition:transform .2s ease}.hollow-circle[data-v-8da9606c]:hover{transform:scale(1.05)}.hollow-circle[data-v-8da9606c]:after{content:var(--filamentType, "PLA");color:var(--text-color, white);font-size:12px;position:absolute;z-index:1;transform:translate(-50%,-50%);top:145%;left:50%}@media (max-width: 768px){.printer[data-v-8da9606c]{transform:scale(.75);margin:0 auto;padding:0;left:-7%!important;top:1%!important}.hollow-circle[data-v-8da9606c]:after{font-size:14px;top:140%}}#app .uniform-table[data-v-67f3b399],#app .mobile-uniform-table[data-v-67f3b399]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-67f3b399]{min-width:280px}#app .uniform-table .el-table__header[data-v-67f3b399],#app .mobile-uniform-table .el-table__header[data-v-67f3b399],#app .uniform-table .el-table__body[data-v-67f3b399],#app .mobile-uniform-table .el-table__body[data-v-67f3b399]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-67f3b399],#app .mobile-uniform-table .el-table__header th[data-v-67f3b399]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-67f3b399],#app .mobile-uniform-table .el-table__body tr[data-v-67f3b399]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-67f3b399]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-67f3b399]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-67f3b399]{padding:0!important}#app .el-table__expand-icon[data-v-67f3b399]{display:none}#app .table-expand-content[data-v-67f3b399]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-67f3b399]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-67f3b399],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-67f3b399]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-67f3b399]{max-width:300px;word-break:break-all}#app .font-size16[data-v-67f3b399]{font-size:16px}#app .font-size14[data-v-67f3b399]{font-size:14px}#app .font-size12[data-v-67f3b399]{font-size:12px}#app .font-size24[data-v-67f3b399]{font-size:24px}#app .font-size18[data-v-67f3b399]{font-size:18px}#app .color-white-65[data-v-67f3b399]{color:#ffffffa6}#app .bg-color[data-v-67f3b399]{background-color:#333334}#app .bg_color434343[data-v-67f3b399]{background-color:#434343}#app .bg-color232425[data-v-67f3b399]{background-color:#232524}#app .global-font-14[data-v-67f3b399]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-67f3b399]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-67f3b399]{width:auto;height:28px}}#app .small-btn-size[data-v-67f3b399]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-67f3b399]{width:auto;height:28px}}#app .global-relative-offset[data-v-67f3b399]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-67f3b399]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-67f3b399],#app .confirm-btn[data-v-67f3b399]{width:100px}.standard-container[data-v-67f3b399]{background-color:#282829;height:90%;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center}.standard-tray-nav[data-v-67f3b399]{display:flex;flex-direction:row;justify-content:center;gap:10px}.standard-main-section[data-v-67f3b399]{display:flex;flex-direction:row;justify-content:center;gap:10px;padding:10px;background-color:#282829}.standard-left-panel[data-v-67f3b399]{display:flex;flex-direction:column;justify-content:center;background-color:#1f1f1f;border:1px solid #555555;padding-bottom:30px}.standard-vertical-group[data-v-67f3b399]{display:flex;flex-direction:column;gap:10px;padding:10px 0 0 10px;background-color:#1f1f1f;border:1px solid #555555}.standard-horizontal-group[data-v-67f3b399]{display:flex;flex-direction:row;justify-items:center;align-items:center;gap:5px;padding:10px;background-color:#1f1f1f}.standard-humidity-container[data-v-67f3b399]{display:flex;justify-content:flex-end;background-color:transparent}.standard-humidity-display[data-v-67f3b399]{background-color:#282829;display:flex;justify-content:center;align-items:center;border-radius:10%;height:30px;min-width:60px}.standard-instruction-text[data-v-67f3b399]{color:#aeaeae;padding-left:10px;white-space:normal;word-break:break-word}.standard-instruction-text-lite[data-v-67f3b399]{color:#aeaeae;padding-left:10px;white-space:normal;word-break:break-word;max-width:242px;align-self:flex-end;margin-right:10px;text-align:left}.standard-action-buttons[data-v-67f3b399]{padding:10px;display:flex;justify-content:space-between;width:100%}.standard-left-action-buttons[data-v-67f3b399],.standard-right-action-buttons[data-v-67f3b399]{display:flex;gap:5px}.standard-action-btn[data-v-67f3b399]{display:flex;align-items:center;justify-content:center;padding:8px 12px;margin-right:10px;border-radius:4px;cursor:pointer;background:#1c1c1d;width:60px}.lite-container[data-v-67f3b399]{display:flex;justify-content:center;align-items:center;height:332px}.lite-wrapper[data-v-67f3b399]{display:flex;flex-direction:row;align-items:center;justify-content:center;height:278px}.lite-btn-container[data-v-67f3b399]{display:flex;flex-direction:column;justify-content:center;gap:22px;background-color:#282829}.lite-btn-container .el-button[data-v-67f3b399]{width:74px;height:36px}.lite-mobile-btn-container[data-v-67f3b399]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.lite-mobile-btn-container .el-button[data-v-67f3b399]{margin:0}.lite-btn-group[data-v-67f3b399]{display:flex;justify-content:flex-end}.lite-main-buttons[data-v-67f3b399]{padding-right:10px}.lite-edit-btn[data-v-67f3b399]{background-color:#1c1c1d}@media (max-width: 768px){.standard-horizontal-group[data-v-67f3b399],.standard-vertical-group[data-v-67f3b399]{gap:0px;padding:0}.lite-container[data-v-67f3b399]{height:278px}}#app .uniform-table[data-v-ad7b57fc],#app .mobile-uniform-table[data-v-ad7b57fc]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-ad7b57fc]{min-width:280px}#app .uniform-table .el-table__header[data-v-ad7b57fc],#app .mobile-uniform-table .el-table__header[data-v-ad7b57fc],#app .uniform-table .el-table__body[data-v-ad7b57fc],#app .mobile-uniform-table .el-table__body[data-v-ad7b57fc]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-ad7b57fc],#app .mobile-uniform-table .el-table__header th[data-v-ad7b57fc]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-ad7b57fc],#app .mobile-uniform-table .el-table__body tr[data-v-ad7b57fc]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-ad7b57fc]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-ad7b57fc]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-ad7b57fc]{padding:0!important}#app .el-table__expand-icon[data-v-ad7b57fc]{display:none}#app .table-expand-content[data-v-ad7b57fc]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-ad7b57fc]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-ad7b57fc],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-ad7b57fc]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-ad7b57fc]{max-width:300px;word-break:break-all}#app .font-size16[data-v-ad7b57fc]{font-size:16px}#app .font-size14[data-v-ad7b57fc]{font-size:14px}#app .font-size12[data-v-ad7b57fc]{font-size:12px}#app .font-size24[data-v-ad7b57fc]{font-size:24px}#app .font-size18[data-v-ad7b57fc]{font-size:18px}#app .color-white-65[data-v-ad7b57fc]{color:#ffffffa6}#app .bg-color[data-v-ad7b57fc]{background-color:#333334}#app .bg_color434343[data-v-ad7b57fc]{background-color:#434343}#app .bg-color232425[data-v-ad7b57fc]{background-color:#232524}#app .global-font-14[data-v-ad7b57fc]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-ad7b57fc]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-ad7b57fc]{width:auto;height:28px}}#app .small-btn-size[data-v-ad7b57fc]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-ad7b57fc]{width:auto;height:28px}}#app .global-relative-offset[data-v-ad7b57fc]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-ad7b57fc]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-ad7b57fc],#app .confirm-btn[data-v-ad7b57fc]{width:100px}.status-container[data-v-ad7b57fc]{border-radius:4px;background:hsla(var(--ef-card-background-color));position:relative;width:100%;height:100%;padding:8px 12px 8px 8px;display:flex}.model-image[data-v-ad7b57fc]{width:99px;height:99px;border-radius:4px;background:#5a5a5a;padding:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;align-self:center;background-color:#faebd7}.detail-title[data-v-ad7b57fc]{line-height:20px;color:#7c7b80;display:inline-block;min-width:100px;margin-right:4px}.detail-text[data-v-ad7b57fc]{line-height:22px;color:#fff}.filename-container[data-v-ad7b57fc]{display:flex;flex-direction:row;justify-content:flex-start}.detail-filename[data-v-ad7b57fc]{line-height:22px;color:#fff;max-width:100px;height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.print-control-button[data-v-ad7b57fc]{background:#343536;border:none;border-radius:4px;width:60px;height:26px;padding:0;margin-left:10px}.print-control-button[data-v-ad7b57fc]:hover{background:#ffffff1a}.print-control-button[data-v-ad7b57fc]:active{background:#ffffff1f}#app .uniform-table[data-v-5c7e7505],#app .mobile-uniform-table[data-v-5c7e7505]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-5c7e7505]{min-width:280px}#app .uniform-table .el-table__header[data-v-5c7e7505],#app .mobile-uniform-table .el-table__header[data-v-5c7e7505],#app .uniform-table .el-table__body[data-v-5c7e7505],#app .mobile-uniform-table .el-table__body[data-v-5c7e7505]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-5c7e7505],#app .mobile-uniform-table .el-table__header th[data-v-5c7e7505]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-5c7e7505],#app .mobile-uniform-table .el-table__body tr[data-v-5c7e7505]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-5c7e7505]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-5c7e7505]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-5c7e7505]{padding:0!important}#app .el-table__expand-icon[data-v-5c7e7505]{display:none}#app .table-expand-content[data-v-5c7e7505]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-5c7e7505]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-5c7e7505],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-5c7e7505]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-5c7e7505]{max-width:300px;word-break:break-all}#app .font-size16[data-v-5c7e7505]{font-size:16px}#app .font-size14[data-v-5c7e7505]{font-size:14px}#app .font-size12[data-v-5c7e7505]{font-size:12px}#app .font-size24[data-v-5c7e7505]{font-size:24px}#app .font-size18[data-v-5c7e7505]{font-size:18px}#app .color-white-65[data-v-5c7e7505]{color:#ffffffa6}#app .bg-color[data-v-5c7e7505]{background-color:#333334}#app .bg_color434343[data-v-5c7e7505]{background-color:#434343}#app .bg-color232425[data-v-5c7e7505]{background-color:#232524}#app .global-font-14[data-v-5c7e7505]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-5c7e7505]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-5c7e7505]{width:auto;height:28px}}#app .small-btn-size[data-v-5c7e7505]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-5c7e7505]{width:auto;height:28px}}#app .global-relative-offset[data-v-5c7e7505]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-5c7e7505]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-5c7e7505],#app .confirm-btn[data-v-5c7e7505]{width:100px}.control-container[data-v-5c7e7505]{min-height:200px;display:flex;color:#ffffffa6;flex-direction:column;align-items:center;gap:16px}.control-container .fan-container[data-v-5c7e7505]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#app .uniform-table[data-v-9a145184],#app .mobile-uniform-table[data-v-9a145184]{--table-row-hover-bg: #333334;--table-header-bg: #2f2f30;--table-header-border: #3a3a3a;--table-header-color: rgba(255, 255, 255, .65);--table-row-bg: #282829;--table-expanded-bg: #202021;--table-font-family: var(--app-font-family);--table-row-height: 60px;--table-expanded-height: 70px;--el-table-row-hover-bg-color: rgba(255, 255, 255, .05)}#app .mobile-uniform-table[data-v-9a145184]{min-width:280px}#app .uniform-table .el-table__header[data-v-9a145184],#app .mobile-uniform-table .el-table__header[data-v-9a145184],#app .uniform-table .el-table__body[data-v-9a145184],#app .mobile-uniform-table .el-table__body[data-v-9a145184]{width:100%;table-layout:fixed!important}#app .uniform-table .el-table__header th[data-v-9a145184],#app .mobile-uniform-table .el-table__header th[data-v-9a145184]{background-color:var(--table-header-bg)!important;border-bottom:1px solid var(--table-header-border);font:350 14px/20px var(--table-font-family);color:var(--table-header-color)}#app .uniform-table .el-table__body tr[data-v-9a145184],#app .mobile-uniform-table .el-table__body tr[data-v-9a145184]{font:350 14px/14px var(--table-font-family);color:#fff;cursor:pointer;text-align:center;background-color:var(--table-row-bg);height:var(--table-row-height)}#app .uniform-table .el-table__body tr[data-v-9a145184]:hover,#app .mobile-uniform-table .el-table__body tr[data-v-9a145184]:hover{background-color:var(--table-row-hover-bg)!important}#app .el-table__expanded-cell[data-v-9a145184]{padding:0!important}#app .el-table__expand-icon[data-v-9a145184]{display:none}#app .table-expand-content[data-v-9a145184]{height:var(--table-expanded-height);background-color:var(--table-expanded-bg);display:flex;justify-content:flex-end;align-items:center;padding-right:20px;margin:0!important}#app .table-expand-content .el-button[data-v-9a145184]{border-radius:7px;margin-left:10px}#app .uniform-table .el-table__body .el-table__cell[data-v-9a145184],#app .mobile-uniform-table .el-table__body .el-table__cell[data-v-9a145184]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}#app .el-tooltip__popper[data-v-9a145184]{max-width:300px;word-break:break-all}#app .font-size16[data-v-9a145184]{font-size:16px}#app .font-size14[data-v-9a145184]{font-size:14px}#app .font-size12[data-v-9a145184]{font-size:12px}#app .font-size24[data-v-9a145184]{font-size:24px}#app .font-size18[data-v-9a145184]{font-size:18px}#app .color-white-65[data-v-9a145184]{color:#ffffffa6}#app .bg-color[data-v-9a145184]{background-color:#333334}#app .bg_color434343[data-v-9a145184]{background-color:#434343}#app .bg-color232425[data-v-9a145184]{background-color:#232524}#app .global-font-14[data-v-9a145184]{font-family:var(--app-font-family);font-size:14px;font-weight:400;line-height:14px;letter-spacing:0em;font-variation-settings:"opsz" auto;font-feature-settings:"kern" on;color:#ffffffa6}#app .medium-btn-size[data-v-9a145184]{width:109px;height:32px}@media (max-width: 768px){#app .medium-btn-size[data-v-9a145184]{width:auto;height:28px}}#app .small-btn-size[data-v-9a145184]{width:100px;height:26px}@media (max-width: 768px){#app .small-btn-size[data-v-9a145184]{width:auto;height:28px}}#app .global-relative-offset[data-v-9a145184]{position:relative;top:var(--offset-top, 10%);left:var(--offset-left, 0%)}#app .cancel-btn[data-v-9a145184]{background-color:#1c1c1d;width:100px}#app .reset-btn[data-v-9a145184],#app .confirm-btn[data-v-9a145184]{width:100px}.main-view[data-v-9a145184]{padding:6px 30px 0;position:relative;height:100%}.main-view .content[data-v-9a145184]{background:#1c1c1d;position:relative;min-height:calc(100vh - 60px);padding:0 20px 20px}.main-view-mobile[data-v-9a145184]{padding:10px;position:relative;height:100%}.pc-layout[data-v-9a145184]{display:flex;justify-content:space-between;align-items:flex-start;padding:0 0 20px;min-width:100%;flex-wrap:wrap;position:relative}.pc-layout .left[data-v-9a145184],.pc-layout .right[data-v-9a145184]{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;margin-top:10px;width:100%!important}@media (min-width: 1600px){.pc-layout .left[data-v-9a145184]{width:57%!important}.pc-layout .right[data-v-9a145184]{width:42.5%!important}}.mobile-layout[data-v-9a145184]{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;margin-top:10px;width:100%!important}.version-info[data-v-9a145184]{position:fixed;bottom:10px;left:10px;font-size:11px;color:#ffffff1a;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;z-index:9999}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;width:fit-content}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from:is(.is-left,.is-right),.el-message-fade-leave-to:is(.is-left,.is-right){transform:translateY(-100%)}.el-message-fade-enter-from:is(.is-left,.is-right).is-bottom,.el-message-fade-leave-to:is(.is-left,.is-right).is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}</style></head><body><div id="app"></div></body></html>