trtc-sdk-v5 5.13.1-wasm.6 → 5.13.1-wasm.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/trtc.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,C=Object,D=T("".split),N=b((function(){return!C("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):C(e)}:C,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},W=r,j=F,G=function(e,t){return arguments.length<2?(r=W[e],j(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=G,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.40.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Le=Me,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},We=T,je=0,Ge=Math.random(),ze=We(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++je+Ge,36)},qe=Pe,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=d,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Ct={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Ct.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Gt in r&&!r[Gt]){var i=Ht(e,t);i&&i[Gt]&&(e[t]=r.value,r={configurable:jt in r?r[jt]:i[jt],enumerable:Wt in r?r[Wt]:i[Wt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Pe("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Lr=er.CONFIGURABLE,Pr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Nr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Lr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),jr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(Gr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return kr(this)&&Ur(this).source||Pr(this)}),"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Jr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Yr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=mr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Ci=G,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Ct,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,Wi=function(e,t){var r=Gi[ji(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Kr,fo=Ct,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=z,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Co={},Do=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Co,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,jo=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};jo("asyncIterator");var Go=R,zo=Array.isArray||function(e){return"Array"===Go(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=G("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=zo,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Dt,Vn=Ct,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var Wn,jn=G("document","documentElement"),Gn=Mt,zn=On,Kn=Si,qn=mr,Yn=jn,Jn=_t,Xn="prototype",$n="script",Qn=pr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{Wn=new ActiveXObject("htmlfile")}catch(o){}var e,t,r;ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):(t=Jn("iframe"),r="java"+$n+":",t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F):ta(Wn);for(var i=Kn.length;i--;)delete ra[Xn][Kn[i]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Gn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=pr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Da(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Ct.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,Wa=fa,ja=function(){return this},Ga=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=ja,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Ga,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,d=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||ds(s,_s,ys)),cs(s,u,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Cs(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(hG){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},js={left:Ws(!1),right:Ws(!0)},Gs=o,zs=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=js.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,d=23===t?rl(2,-24)-rl(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?d/n:d*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*u,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=Gl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=Gl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il((function(){Kl(1)}))&&Il((function(){new Kl(-1)}))&&!Il((function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl}))?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Ll(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);var i=jl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",jl),dd(Jl,"buffer",Gl),dd(Jl,"byteLength",Gl),dd(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=G,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Ld=bd(kd.prototype.slice),Pd=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd((function(){return!new kd(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Ld&&void 0===t)return Ld(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Pd(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,jd=TypeError,Gd=function(e){if(Hd(e))return e;throw new jd(Wd(e)+" is not a constructor")},zd=Mt,Kd=Gd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=jn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu((function(){Ud=ou.location}));var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Lu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Pu=function(){this.head=null,this.tail=null};Pu.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var xu,Uu,Vu,Fu,Bu,Hu=Pu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,ju=/web0s(?!.*chrome)/i.test(Y),Gu=r,zu=Lu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=ju,Qu=$s,Zu=Gu.MutationObserver||Gu.WebKitMutationObserver,eh=Gu.document,th=Gu.process,rh=Gu.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(hG){throw oh.head&&xu(),hG}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,Gu),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(hG){return{error:!0,value:hG}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[gh]=i,!(Eh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)})),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i})),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh=to,Nh=$s,kh=r,Oh=l,Mh=$r,Lh=ts,Ph=Ua,xh=Td,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Jd,Wh=Nu.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(hG){}},zh=sh,Kh=Hu,qh=Cr,Yh=ch,Jh=Ih,Xh="Promise",$h=Th.CONSTRUCTOR,Qh=Th.REJECTION_EVENT,Zh=Th.SUBCLASSING,ep=qh.getterFor(Xh),tp=qh.set,rp=Yh&&Yh.prototype,ip=Yh,op=rp,np=kh.TypeError,ap=kh.document,sp=kh.process,cp=Jh.f,lp=cp,dp=!!(ap&&ap.createEvent&&kh.dispatchEvent),up="unhandledrejection",hp=function(e){var t;return!(!Fh(e)||!Vh(t=e.then))&&t},pp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,d=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new np("Promise-chain cycle")):(i=hp(r))?Oh(i,r,c,l):c(r)):l(n)}catch(hG){d&&!o&&d.exit(),l(hG)}},mp=function(e,t){e.notified||(e.notified=!0,jh((function(){for(var r,i=e.reactions;r=i.get();)pp(r,e);e.notified=!1,t&&!e.rejection&&_p(e)})))},fp=function(e,t,r){var i,o;dp?((i=ap.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),kh.dispatchEvent(i)):i={promise:t,reason:r},!Qh&&(o=kh["on"+e])?o(i):e===up&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=zh((function(){Nh?sp.emit("unhandledRejection",i,r):fp(up,r,i)})),e.rejection=Nh||gp(e)?2:1,t.error))throw t.value}))},gp=function(e){return 1!==e.rejection&&!e.parent},Ep=function(e){Oh(Wh,kh,(function(){var t=e.facade;Nh?sp.emit("rejectionHandled",t):fp("rejectionhandled",t,e.value)}))},vp=function(e,t,r){return function(i){e(t,i,r)}},yp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,mp(e,!0))},Tp=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new np("Promise can't be resolved itself");var i=hp(t);i?jh((function(){var r={done:!1};try{Oh(i,t,vp(Tp,r,e),vp(yp,r,e))}catch(hG){yp(r,hG,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(hG){yp({done:!1},hG,e)}}};if($h&&(op=(ip=function(e){Bh(this,op),Uh(e),Oh(bh,this);var t=ep(this);try{e(vp(Tp,t),vp(yp,t))}catch(hG){yp(t,hG)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new Kh,rejection:!1,state:0,value:null})}).prototype=Mh(op,"then",(function(e,t){var r=ep(this),i=cp(Hh(this,ip));return r.parent=!0,i.ok=!Vh(e)||e,i.fail=Vh(t)&&t,i.domain=Nh?sp.domain:void 0,0===r.state?r.reactions.add(i):jh((function(){pp(i,r)})),i.promise})),wh=function(){var e=new bh,t=ep(e);this.promise=e,this.resolve=vp(Tp,t),this.reject=vp(yp,t)},Jh.f=cp=function(e){return e===ip||undefined===e?new wh(e):lp(e)},Vh(Yh)&&rp!==Object.prototype)){Ch=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(hG){}Lh&&Lh(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Ph(ip,Xh,!1),xh(Xh);var Ip=fa,Ap=tt("iterator"),Sp=Array.prototype,Rp=function(e){return void 0!==e&&(Ip.Array===e||Sp[Ap]===e)},bp=lo,wp=ye,Cp=k,Dp=fa,Np=tt("iterator"),kp=function(e){if(!Cp(e))return wp(e,Np)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Lp=Mt,Pp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Lp(Op(r,e));throw new Up(Pp(e)+" is not iterable")},Fp=l,Bp=Mt,Hp=ye,Wp=function(e,t,r){var i,o;Bp(e);try{if(!(i=Hp(e,"return"))){if("throw"===t)throw r;return r}i=Fp(i,e)}catch(hG){o=!0,i=hG}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,zp=Mt,Kp=pe,qp=Rp,Yp=hi,Jp=z,Xp=Vp,$p=kp,Qp=Wp,Zp=TypeError,em=function(e,t){this.stopped=e,this.result=t},tm=em.prototype,rm=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,d),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return u?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=$p(e)))throw new Zp(Kp(e)+" is not iterable");if(qp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Jp(tm,s))return s;return new em(!1)}i=Xp(e,o)}for(c=h?e.next:i.next;!(l=Gp(c,i)).done;){try{s=g(l.value)}catch(hG){Qp(i,"throw",hG)}if("object"==typeof s&&s&&Jp(tm,s))return s}return new em(!1)},im=tt("iterator"),om=!1;try{var nm=0,am={next:function(){return{done:!!nm++}},return:function(){om=!0}};am[im]=function(){return this},Array.from(am,(function(){throw 2}))}catch(hG){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(hG){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(hG){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),dm=l,um=ge,hm=Ih,pm=sh,mm=rm;to({target:"Promise",stat:!0,forced:lm},{all:function(e){var t=this,r=hm.f(t),i=r.resolve,o=r.reject,n=pm((function(){var r=um(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var fm=to,_m=Th.CONSTRUCTOR,gm=ch,Em=G,vm=F,ym=$r,Tm=gm&&gm.prototype;if(fm({target:"Promise",proto:!0,forced:_m,real:!0},{catch:function(e){return this.then(void 0,e)}}),vm(gm)){var Im=Em("Promise").prototype.catch;Tm.catch!==Im&&ym(Tm,"catch",Im,{unsafe:!0})}var Am=l,Sm=ge,Rm=Ih,bm=sh,wm=rm;to({target:"Promise",stat:!0,forced:lm},{race:function(e){var t=this,r=Rm.f(t),i=r.reject,o=bm((function(){var o=Sm(t.resolve);wm(e,(function(e){Am(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Nm=H,km=Ih,Om=function(e,t){if(Dm(e),Nm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Lm=Th.CONSTRUCTOR,Pm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Lm},{resolve:function(e){return Pm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Jd,Wm=Om,jm=$r,Gm=Um&&Um.prototype;if(xm({target:"Promise",proto:!0,real:!0,forced:!!Um&&Vm((function(){Gm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Fm("Promise")),r=Bm(e);return this.then(r?function(r){return Wm(t,e()).then((function(){return r}))}:e,r?function(r){return Wm(t,e()).then((function(){throw r}))}:e)}}),Bm(Um)){var zm=Fm("Promise").prototype.finally;Gm.finally!==zm&&jm(Gm,"finally",zm,{unsafe:!0})}var Km=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return Km(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===qm(e))},Xm=Mt,$m=function(){var e=Xm(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},Qm=l,Zm=He,ef=z,tf=$m,rf=RegExp.prototype,of=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},nf=o,af=r.RegExp,sf=nf((function(){var e=af("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),cf=sf||nf((function(){return!af("a","y").sticky})),lf={BROKEN_CARET:sf||nf((function(){var e=af("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Ct.f,uf=o,hf=r.RegExp,pf=uf((function(){var e=hf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),mf=o,ff=r.RegExp,_f=mf((function(){var e=ff("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),gf=n,Ef=r,vf=T,yf=qi,Tf=ml,If=qt,Af=ia,Sf=Qr.f,Rf=z,bf=Jm,wf=po,Cf=of,Df=lf,Nf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},kf=$r,Of=o,Mf=He,Lf=Cr.enforce,Pf=Td,xf=pf,Uf=_f,Vf=tt("match"),Ff=Ef.RegExp,Bf=Ff.prototype,Hf=Ef.SyntaxError,Wf=vf(Bf.exec),jf=vf("".charAt),Gf=vf("".replace),zf=vf("".indexOf),Kf=vf("".slice),qf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Yf=/a/g,Jf=/a/g,Xf=new Ff(Yf)!==Yf,$f=Df.MISSED_STICKY,Qf=Df.UNSUPPORTED_Y,Zf=gf&&(!Xf||$f||xf||Uf||Of((function(){return Jf[Vf]=!1,Ff(Yf)!==Yf||Ff(Jf)===Jf||"/a/i"!==String(Ff(Yf,"i"))})));if(yf("RegExp",Zf)){for(var e_=function(e,t){var r,i,o,n,a,s,c=Rf(Bf,this),l=bf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===e_)return e;if((l||Rf(Bf,e))&&(e=e.source,d&&(t=Cf(h))),e=void 0===e?"":wf(e),t=void 0===t?"":wf(t),h=e,xf&&"dotAll"in Yf&&(i=!!t&&zf(t,"s")>-1)&&(t=Gf(t,/s/g,"")),r=t,$f&&"sticky"in Yf&&(o=!!t&&zf(t,"y")>-1)&&Qf&&(t=Gf(t,/y/g,"")),Uf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Af(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=jf(e,i)))t+=jf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Kf(e,i+1,i+3))continue;Wf(qf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Mf(a,d))throw new Hf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=Tf(Ff(e,t),c?this:Bf,e_),(i||o||u.length)&&(s=Lf(a),i&&(s.dotAll=!0,s.raw=e_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=jf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+jf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{If(a,"source",""===h?"(?:)":h)}catch(hG){}return a},t_=Sf(Ff),r_=0;t_.length>r_;)Nf(e_,Ff,t_[r_++]);Bf.constructor=e_,e_.prototype=Bf,kf(Ef,"RegExp",e_,{constructor:!0})}Pf("RegExp");var i_=l,o_=T,n_=po,a_=$m,s_=lf,c_=ia,l_=Cr.get,d_=pf,u_=_f,h_=Pe("native-string-replace",String.prototype.replace),p_=RegExp.prototype.exec,m_=p_,f_=o_("".charAt),__=o_("".indexOf),g_=o_("".replace),E_=o_("".slice),v_=function(){var e=/a/,t=/b*/g;return i_(p_,e,"a"),i_(p_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),y_=s_.BROKEN_CARET,T_=void 0!==/()??/.exec("")[1];(v_||T_||y_||d_||u_)&&(m_=function(e){var t,r,i,o,n,a,s,c=this,l=l_(c),d=n_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=i_(m_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=y_&&c.sticky,m=i_(a_,c),f=c.source,_=0,g=d;if(p&&(m=g_(m,"y",""),-1===__(m,"g")&&(m+="g"),g=E_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==f_(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),T_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),v_&&(i=c.lastIndex),o=i_(p_,p?r:c,g),p?o?(o.input=E_(o.input,_),o[0]=E_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:v_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),T_&&o&&o.length>1&&i_(h_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=c_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var I_=m_;to({target:"RegExp",proto:!0,forced:/./.exec!==I_},{exec:I_});var A_=n,S_=_o,R_=$m,b_=o,w_=r.RegExp,C_=w_.prototype,D_=A_&&b_((function(){var e=!0;try{w_(".","d")}catch(hG){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(C_,"flags").get.call(t)!==i||r!==i}));D_&&S_(C_,"flags",{configurable:!0,get:R_});var N_=ii,k_=po,O_=L,M_=RangeError,L_=T,P_=di,x_=po,U_=function(e){var t=k_(O_(this)),r="",i=N_(e);if(i<0||Infinity===i)throw new M_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},V_=L,F_=L_(U_),B_=L_("".slice),H_=Math.ceil,W_=function(e){return function(t,r,i){var o,n,a=x_(V_(t)),s=P_(r),c=a.length,l=void 0===i?" ":x_(i);return s<=c||""===l?a:((n=F_(l,H_((o=s-c)/l.length))).length>o&&(n=B_(n,0,o)),e?a+n:n+a)}},j_={start:W_(!1),end:W_(!0)},G_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=j_.start;to({target:"String",proto:!0,forced:G_},{padStart:function(e){return z_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,q_=$r,Y_=I_,J_=o,X_=tt,$_=qt,Q_=X_("species"),Z_=RegExp.prototype,eg=T,tg=ii,rg=po,ig=L,og=eg("".charAt),ng=eg("".charCodeAt),ag=eg("".slice),sg=function(e){return function(t,r){var i,o,n=rg(ig(t)),a=tg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=ng(n,a))<55296||i>56319||a+1===s||(o=ng(n,a+1))<56320||o>57343?e?og(n,a):i:e?ag(n,a,a+2):o-56320+(i-55296<<10)+65536}},cg={codeAt:sg(!1),charAt:sg(!0)},lg=cg.charAt,dg=T,ug=Ve,hg=Math.floor,pg=dg("".charAt),mg=dg("".replace),fg=dg("".slice),_g=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gg=/\$([$&'`]|\d{1,2})/g,Eg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=gg;return void 0!==o&&(o=ug(o),c=_g),mg(n,c,(function(n,c){var l;switch(pg(c,0)){case"$":return"$";case"&":return e;case"`":return fg(t,0,r);case"'":return fg(t,a);case"<":l=o[fg(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=hg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?pg(c,1):i[u-1]+pg(c,1):n}l=i[d-1]}return void 0===l?"":l}))},vg=l,yg=Mt,Tg=F,Ig=R,Ag=I_,Sg=TypeError,Rg=eu,bg=l,wg=T,Cg=function(e,t,r,i){var o=X_(e),n=!J_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!J_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[Q_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===Y_||a===Z_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));q_(String.prototype,e,c[0]),q_(Z_,o,c[1])}i&&$_(Z_[o],"sham",!0)},Dg=o,Ng=Mt,kg=F,Og=k,Mg=ii,Lg=di,Pg=po,xg=L,Ug=function(e,t,r){return t+(r?lg(e,t).length:1)},Vg=ye,Fg=Eg,Bg=function(e,t){var r=e.exec;if(Tg(r)){var i=vg(r,e,t);return null!==i&&yg(i),i}if("RegExp"===Ig(e))return vg(Ag,e,t);throw new Sg("RegExp#exec called on incompatible receiver")},Hg=tt("replace"),Wg=Math.max,jg=Math.min,Gg=wg([].concat),zg=wg([].push),Kg=wg("".indexOf),qg=wg("".slice),Yg="$0"==="a".replace(/./,"$0"),Jg=!!/./[Hg]&&""===/./[Hg]("a","$0");Cg("replace",(function(e,t,r){var i=Jg?"$":"$0";return[function(e,r){var i=xg(this),o=Og(e)?void 0:Vg(e,Hg);return o?bg(o,e,i,r):bg(t,Pg(i),e,r)},function(e,o){var n=Ng(this),a=Pg(e);if("string"==typeof o&&-1===Kg(o,i)&&-1===Kg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=kg(o);c||(o=Pg(o));var l,d=n.global;d&&(l=n.unicode,n.lastIndex=0);for(var u,h=[];null!==(u=Bg(n,a))&&(zg(h,u),d);){""===Pg(u[0])&&(n.lastIndex=Ug(a,Lg(n.lastIndex),l))}for(var p,m="",f=0,_=0;_<h.length;_++){for(var g,E=Pg((u=h[_])[0]),v=Wg(jg(Mg(u.index),a.length),0),y=[],T=1;T<u.length;T++)zg(y,void 0===(p=u[T])?p:String(p));var I=u.groups;if(c){var A=Gg([E],y,v,a);void 0!==I&&zg(A,I),g=Pg(Rg(o,void 0,A))}else g=Fg(E,a,v,y,I,o);v>=f&&(m+=qg(a,f,v)+g,f=v+E.length)}return m+qg(a,f)}]}),!!Dg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!Yg||Jg);var Xg="\t\n\v\f\r                 \u2028\u2029\ufeff",$g=L,Qg=po,Zg=Xg,eE=T("".replace),tE=RegExp("^["+Zg+"]+"),rE=RegExp("(^|[^"+Zg+"])["+Zg+"]+$"),iE=function(e){return function(t){var r=Qg($g(t));return 1&e&&(r=eE(r,tE,"")),2&e&&(r=eE(r,rE,"$1")),r}},oE={start:iE(1),end:iE(2),trim:iE(3)},nE=er.PROPER,aE=o,sE=Xg,cE=oE.trim;to({target:"String",proto:!0,forced:function(e){return aE((function(){return!!sE[e]()||"​…᠎"!=="​…᠎"[e]()||nE&&sE[e].name!==e}))}("trim")},{trim:function(){return cE(this)}});var lE,dE,uE,hE={exports:{}},pE=Uc,mE=n,fE=r,_E=F,gE=H,EE=He,vE=lo,yE=pe,TE=qt,IE=$r,AE=_o,SE=z,RE=Sa,bE=ts,wE=tt,CE=Ke,DE=Cr.enforce,NE=Cr.get,kE=fE.Int8Array,OE=kE&&kE.prototype,ME=fE.Uint8ClampedArray,LE=ME&&ME.prototype,PE=kE&&RE(kE),xE=OE&&RE(OE),UE=Object.prototype,VE=fE.TypeError,FE=wE("toStringTag"),BE=CE("TYPED_ARRAY_TAG"),HE="TypedArrayConstructor",WE=pE&&!!bE&&"Opera"!==vE(fE.opera),jE=!1,GE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},zE={BigInt64Array:8,BigUint64Array:8},KE=function(e){var t=RE(e);if(gE(t)){var r=NE(t);return r&&EE(r,HE)?r[HE]:KE(t)}},qE=function(e){if(!gE(e))return!1;var t=vE(e);return EE(GE,t)||EE(zE,t)};for(lE in GE)(uE=(dE=fE[lE])&&dE.prototype)?DE(uE)[HE]=dE:WE=!1;for(lE in zE)(uE=(dE=fE[lE])&&dE.prototype)&&(DE(uE)[HE]=dE);if((!WE||!_E(PE)||PE===Function.prototype)&&(PE=function(){throw new VE("Incorrect invocation")},WE))for(lE in GE)fE[lE]&&bE(fE[lE],PE);if((!WE||!xE||xE===UE)&&(xE=PE.prototype,WE))for(lE in GE)fE[lE]&&bE(fE[lE].prototype,xE);if(WE&&RE(LE)!==xE&&bE(LE,xE),mE&&!EE(xE,FE))for(lE in jE=!0,AE(xE,FE,{configurable:!0,get:function(){return gE(this)?this[BE]:void 0}}),GE)fE[lE]&&TE(fE[lE],BE,lE);var YE={NATIVE_ARRAY_BUFFER_VIEWS:WE,TYPED_ARRAY_TAG:jE&&BE,aTypedArray:function(e){if(qE(e))return e;throw new VE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_E(e)&&(!bE||SE(PE,e)))return e;throw new VE(yE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(mE){if(r)for(var o in GE){var n=fE[o];if(n&&EE(n.prototype,e))try{delete n.prototype[e]}catch(hG){try{n.prototype[e]=t}catch(a){}}}xE[e]&&!r||IE(xE,e,r?t:WE&&OE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(mE){if(bE){if(r)for(i in GE)if((o=fE[i])&&EE(o,e))try{delete o[e]}catch(hG){}if(PE[e]&&!r)return;try{return IE(PE,e,r?t:WE&&PE[e]||t)}catch(hG){}}for(i in GE)!(o=fE[i])||o[e]&&!r||IE(o,e,t)}},getTypedArrayConstructor:KE,isView:function(e){if(!gE(e))return!1;var t=vE(e);return"DataView"===t||EE(GE,t)||EE(zE,t)},isTypedArray:qE,TypedArray:PE,TypedArrayPrototype:xE},JE=r,XE=o,$E=sm,QE=YE.NATIVE_ARRAY_BUFFER_VIEWS,ZE=JE.ArrayBuffer,ev=JE.Int8Array,tv=!QE||!XE((function(){ev(1)}))||!XE((function(){new ev(-1)}))||!$E((function(e){new ev,new ev(null),new ev(1.5),new ev(e)}),!0)||XE((function(){return 1!==new ev(new ZE(2),1,void 0).length})),rv=H,iv=Math.floor,ov=Number.isInteger||function(e){return!rv(e)&&isFinite(e)&&iv(e)===e},nv=ii,av=RangeError,sv=function(e){var t=nv(e);if(t<0)throw new av("The argument can't be less than 0");return t},cv=RangeError,lv=function(e,t){var r=sv(e);if(r%t)throw new cv("Wrong offset");return r},dv=Math.round,uv=lo,hv=lt,pv=TypeError,mv=function(e){var t=hv(e,"number");if("number"==typeof t)throw new pv("Can't convert number to bigint");return BigInt(t)},fv=Zo,_v=l,gv=Gd,Ev=Ve,vv=hi,yv=Vp,Tv=kp,Iv=Rp,Av=function(e){var t=uv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Sv=YE.aTypedArrayConstructor,Rv=mv,bv=Zo,wv=N,Cv=Ve,Dv=hi,Nv=bn,kv=T([].push),Ov=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,d,u){for(var h,p,m=Cv(c),f=wv(m),_=Dv(f),g=bv(l,d),E=0,v=u||Nv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:kv(y,h)}else switch(e){case 4:return!1;case 7:kv(y,h)}return n?-1:i||o?o:y}},Mv={forEach:Ov(0),map:Ov(1),filter:Ov(2),some:Ov(3),every:Ov(4),find:Ov(5),findIndex:Ov(6),filterReject:Ov(7)},Lv=hi,Pv=to,xv=r,Uv=l,Vv=n,Fv=tv,Bv=YE,Hv=_d,Wv=Wc,jv=_,Gv=qt,zv=ov,Kv=di,qv=Kc,Yv=lv,Jv=function(e){var t=dv(e);return t<0?0:t>255?255:255&t},Xv=ht,$v=He,Qv=lo,Zv=H,ey=ue,ty=ia,ry=z,iy=ts,oy=Qr.f,ny=function(e){var t,r,i,o,n,a,s,c,l=gv(this),d=Ev(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=Tv(d);if(m&&!Iv(m))for(c=(s=yv(d,m)).next,d=[];!(a=_v(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=fv(h,arguments[2])),r=vv(d),i=new(Sv(l))(r),o=Av(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?Rv(n):+n;return i},ay=Mv.forEach,sy=Td,cy=_o,ly=Ct,dy=i,uy=function(e,t,r){for(var i=0,o=arguments.length>2?r:Lv(t),n=new e(o);o>i;)n[i]=t[i++];return n},hy=ml,py=Cr.get,my=Cr.set,fy=Cr.enforce,_y=ly.f,gy=dy.f,Ey=xv.RangeError,vy=Hv.ArrayBuffer,yy=vy.prototype,Ty=Hv.DataView,Iy=Bv.NATIVE_ARRAY_BUFFER_VIEWS,Ay=Bv.TYPED_ARRAY_TAG,Sy=Bv.TypedArray,Ry=Bv.TypedArrayPrototype,by=Bv.isTypedArray,wy="BYTES_PER_ELEMENT",Cy="Wrong length",Dy=function(e,t){cy(e,t,{configurable:!0,get:function(){return py(this)[t]}})},Ny=function(e){var t;return ry(yy,e)||"ArrayBuffer"===(t=Qv(e))||"SharedArrayBuffer"===t},ky=function(e,t){return by(e)&&!ey(t)&&t in e&&zv(+t)&&t>=0},Oy=function(e,t){return t=Xv(t),ky(e,t)?jv(2,e[t]):gy(e,t)},My=function(e,t,r){return t=Xv(t),!(ky(e,t)&&Zv(r)&&$v(r,"value"))||$v(r,"get")||$v(r,"set")||r.configurable||$v(r,"writable")&&!r.writable||$v(r,"enumerable")&&!r.enumerable?_y(e,t,r):(e[t]=r.value,e)};Vv?(Iy||(dy.f=Oy,ly.f=My,Dy(Ry,"buffer"),Dy(Ry,"byteOffset"),Dy(Ry,"byteLength"),Dy(Ry,"length")),Pv({target:"Object",stat:!0,forced:!Iy},{getOwnPropertyDescriptor:Oy,defineProperty:My}),hE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=xv[o],c=s,l=c&&c.prototype,d={},u=function(e,t){_y(e,t,{get:function(){return function(e,t){var r=py(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=py(e);n.view[a](t*i+n.byteOffset,r?Jv(o):o,!0)}(this,t,e)},enumerable:!0})};Iy?Fv&&(c=t((function(e,t,r,o){return Wv(e,l),hy(Zv(t)?Ny(t)?void 0!==o?new s(t,Yv(r,i),o):void 0!==r?new s(t,Yv(r,i)):new s(t):by(t)?uy(c,t):Uv(ny,c,t):new s(qv(t)),e,c)})),iy&&iy(c,Sy),ay(oy(s),(function(e){e in c||Gv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){Wv(e,l);var n,a,s,d=0,h=0;if(Zv(t)){if(!Ny(t))return by(t)?uy(c,t):Uv(ny,c,t);n=t,h=Yv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ey(Cy);if((a=p-h)<0)throw new Ey(Cy)}else if((a=Kv(o)*i)+h>p)throw new Ey(Cy);s=a/i}else s=qv(t),n=new vy(a=s*i);for(my(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ty(n)});d<s;)u(e,d++)})),iy&&iy(c,Sy),l=c.prototype=ty(Ry)),l.constructor!==c&&Gv(l,"constructor",c),fy(l).TypedArrayConstructor=c,Ay&&Gv(l,Ay,o);var h=c!==s;d[o]=c,Pv({global:!0,constructor:!0,forced:h,sham:!Iy},d),wy in c||Gv(c,wy,i),wy in l||Gv(l,wy,i),sy(o)}):hE.exports=function(){};var Ly=hE.exports;Ly("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),Ly("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Py=dl,xy=mv,Uy=lo,Vy=l,Fy=o,By=YE.aTypedArray,Hy=YE.exportTypedArrayMethod,Wy=T("".slice);Hy("fill",(function(e){var t=arguments.length;By(this);var r="Big"===Wy(Uy(this),0,3)?xy(e):+e;return Vy(Py,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Fy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var jy=r,Gy=l,zy=YE,Ky=hi,qy=lv,Yy=Ve,Jy=o,Xy=jy.RangeError,$y=jy.Int8Array,Qy=$y&&$y.prototype,Zy=Qy&&Qy.set,eT=zy.aTypedArray,tT=zy.exportTypedArrayMethod,rT=!Jy((function(){var e=new Uint8ClampedArray(2);return Gy(Zy,e,{length:1,0:3},1),3!==e[1]})),iT=rT&&zy.NATIVE_ARRAY_BUFFER_VIEWS&&Jy((function(){var e=new $y(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));tT("set",(function(e){eT(this);var t=qy(arguments.length>1?arguments[1]:void 0,1),r=Yy(e);if(rT)return Gy(Zy,this,r,t);var i=this.length,o=Ky(r),n=0;if(o+t>i)throw new Xy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!rT||iT);var oT=Jo,nT=o,aT=ge,sT=dc,cT=hc,lT=pc,dT=te,uT=fc,hT=YE.aTypedArray,pT=YE.exportTypedArrayMethod,mT=r.Uint16Array,fT=mT&&oT(mT.prototype.sort),_T=!(!fT||nT((function(){fT(new mT(2),null)}))&&nT((function(){fT(new mT(2),{})}))),gT=!!fT&&!nT((function(){if(dT)return dT<74;if(cT)return cT<67;if(lT)return!0;if(uT)return uT<602;var e,t,r=new mT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(fT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));pT("sort",(function(e){return void 0!==e&&aT(e),gT?fT(this,e):sT(hT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!gT||_T);var ET=to,vT=l,yT=T,TT=L,IT=F,AT=k,ST=Jm,RT=po,bT=ye,wT=of,CT=Eg,DT=tt("replace"),NT=TypeError,kT=yT("".indexOf);yT("".replace);var OT=yT("".slice),MT=Math.max;ET({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=TT(this),h=0,p="";if(!AT(e)){if(ST(e)&&(r=RT(TT(wT(e))),!~kT(r,"g")))throw new NT("`.replaceAll` does not allow non-global regexes");if(i=bT(e,DT))return vT(i,e,u,t)}for(o=RT(u),n=RT(e),(a=IT(t))||(t=RT(t)),s=n.length,c=MT(1,s),l=kT(o,n);-1!==l;)d=a?RT(t(n,l,o)):CT(n,o,l,[],void 0,t),p+=OT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:kT(o,n,l+c);return h<o.length&&(p+=OT(o,h)),p}});var LT={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},PT=_t("span").classList,xT=PT&&PT.constructor&&PT.constructor.prototype,UT=xT===Object.prototype?void 0:xT,VT=Mv.forEach,FT=zs("forEach")?[].forEach:function(e){return VT(this,e,arguments.length>1?arguments[1]:void 0)},BT=r,HT=LT,WT=UT,jT=FT,GT=qt,zT=function(e){if(e&&e.forEach!==jT)try{GT(e,"forEach",jT)}catch(hG){e.forEach=jT}};for(var KT in HT)HT[KT]&&zT(BT[KT]&&BT[KT].prototype);zT(WT);var qT=r,YT=LT,JT=UT,XT=Ls,$T=qt,QT=Ua,ZT=tt("iterator"),eI=XT.values,tI=function(e,t){if(e){if(e[ZT]!==eI)try{$T(e,ZT,eI)}catch(hG){e[ZT]=eI}if(QT(e,t,!0),YT[t])for(var r in XT)if(e[r]!==XT[r])try{$T(e,r,XT[r])}catch(hG){e[r]=XT[r]}}};for(var rI in YT)tI(qT[rI]&&qT[rI].prototype,rI);tI(JT,"DOMTokenList");var iI=cg.charAt,oI=po,nI=Cr,aI=Ts,sI=Is,cI="String Iterator",lI=nI.set,dI=nI.getterFor(cI);aI(String,"String",(function(e){lI(this,{type:cI,string:oI(e),index:0})}),(function(){var e,t=dI(this),r=t.string,i=t.index;return i>=r.length?sI(void 0,!0):(e=iI(r,i),t.index+=e.length,sI(e,!1))}));var uI=o,hI=n,pI=tt("iterator"),mI=!uI((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!hI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[pI]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),fI=n,_I=T,gI=l,EI=o,vI=Pn,yI=wi,TI=d,II=Ve,AI=N,SI=Object.assign,RI=Object.defineProperty,bI=_I([].concat),wI=!SI||EI((function(){if(fI&&1!==SI({b:1},SI(RI({},"a",{enumerable:!0,get:function(){RI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==SI({},e)[r]||vI(SI({},t)).join("")!==i}))?function(e,t){for(var r=II(e),i=arguments.length,o=1,n=yI.f,a=TI.f;i>o;)for(var s,c=AI(arguments[o++]),l=n?bI(vI(c),n(c)):vI(c),d=l.length,u=0;d>u;)s=l[u++],fI&&!gI(a,c,s)||(r[s]=c[s]);return r}:SI,CI=Mt,DI=Wp,NI=n,kI=Ct,OI=_,MI=Zo,LI=l,PI=Ve,xI=function(e,t,r,i){try{return i?t(CI(r)[0],r[1]):t(r)}catch(hG){DI(e,"throw",hG)}},UI=Rp,VI=vn,FI=hi,BI=function(e,t,r){NI?kI.f(e,t,OI(0,r)):e[t]=r},HI=Vp,WI=kp,jI=Array,GI=T,zI=2147483647,KI=/[^\0-\u007E]/,qI=/[.\u3002\uFF0E\uFF61]/g,YI="Overflow: input needs wider integers to process",JI=RangeError,XI=GI(qI.exec),$I=Math.floor,QI=String.fromCharCode,ZI=GI("".charCodeAt),eA=GI([].join),tA=GI([].push),rA=GI("".replace),iA=GI("".split),oA=GI("".toLowerCase),nA=function(e){return e+22+75*(e<26)},aA=function(e,t,r){var i=0;for(e=r?$I(e/700):e>>1,e+=$I(e/t);e>455;)e=$I(e/35),i+=36;return $I(i+36*e/(e+38))},sA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=ZI(e,r++);if(o>=55296&&o<=56319&&r<i){var n=ZI(e,r++);56320==(64512&n)?tA(t,((1023&o)<<10)+(1023&n)+65536):(tA(t,o),r--)}else tA(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&tA(t,QI(i));var c=t.length,l=c;for(c&&tA(t,"-");l<o;){var d=zI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>$I((zI-a)/u))throw new JI(YI);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>zI)throw new JI(YI);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;tA(t,QI(nA(m+f%_))),h=$I(f/_),p+=36}tA(t,QI(nA(h))),s=aA(a,u,l===c),a=0,l++}}a++,n++}return eA(t,"")},cA=to,lA=T,dA=si,uA=RangeError,hA=String.fromCharCode,pA=String.fromCodePoint,mA=lA([].join);cA({target:"String",stat:!0,arity:1,forced:!!pA&&1!==pA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],dA(t,1114111)!==t)throw new uA(t+" is not a valid code point");r[o]=t<65536?hA(t):hA(55296+((t-=65536)>>10),t%1024+56320)}return mA(r,"")}});var fA=to,_A=r,gA=Lu,EA=G,vA=l,yA=T,TA=n,IA=mI,AA=$r,SA=_o,RA=Fc,bA=Ua,wA=Ga,CA=Cr,DA=Wc,NA=F,kA=He,OA=Zo,MA=lo,LA=Mt,PA=H,xA=po,UA=ia,VA=_,FA=Vp,BA=kp,HA=Is,WA=ru,jA=dc,GA=tt("iterator"),zA="URLSearchParams",KA=zA+"Iterator",qA=CA.set,YA=CA.getterFor(zA),JA=CA.getterFor(KA),XA=gA("fetch"),$A=gA("Request"),QA=gA("Headers"),ZA=$A&&$A.prototype,eS=QA&&QA.prototype,tS=_A.TypeError,rS=_A.encodeURIComponent,iS=String.fromCharCode,oS=EA("String","fromCodePoint"),nS=parseInt,aS=yA("".charAt),sS=yA([].join),cS=yA([].push),lS=yA("".replace),dS=yA([].shift),uS=yA([].splice),hS=yA("".split),pS=yA("".slice),mS=yA(/./.exec),fS=/\+/g,_S=/^[0-9a-f]+$/i,gS=function(e,t){var r=pS(e,t,t+2);return mS(_S,r)?nS(r,16):NaN},ES=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},vS=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},yS=function(e){for(var t=(e=lS(e,fS," ")).length,r="",i=0;i<t;){var o=aS(e,i);if("%"===o){if("%"===aS(e,i+1)||i+3>t){r+="%",i++;continue}var n=gS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=ES(n);if(0===a)o=iS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==aS(e,i));){var l=gS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;cS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=vS(s);null===d?r+="�":o=oS(d)}}r+=o,i++}return r},TS=/[!'()~]|%20/g,IS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},AS=function(e){return IS[e]},SS=function(e){return lS(rS(e),TS,AS)},RS=wA((function(e,t){qA(this,{type:KA,target:YA(e).entries,index:0,kind:t})}),zA,(function(){var e=JA(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,HA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return HA(i.key,!1);case"values":return HA(i.value,!1)}return HA([i.key,i.value],!1)}),!0),bS=function(e){this.entries=[],this.url=null,void 0!==e&&(PA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===aS(e,0)?pS(e,1):e:xA(e)))};bS.prototype={type:zA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=BA(e);if(l)for(r=(t=FA(e,l)).next;!(i=vA(r,t)).done;){if(n=(o=FA(LA(i.value))).next,(a=vA(n,o)).done||(s=vA(n,o)).done||!vA(n,o).done)throw new tS("Expected sequence with length 2");cS(c,{key:xA(a.value),value:xA(s.value)})}else for(var d in e)kA(e,d)&&cS(c,{key:d,value:xA(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=hS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=hS(t,"="),cS(i,{key:yS(dS(r)),value:yS(sS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],cS(r,SS(e.key)+"="+SS(e.value));return sS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var wS=function(){DA(this,CS);var e=qA(this,new bS(arguments.length>0?arguments[0]:void 0));TA||(this.size=e.entries.length)},CS=wS.prototype;if(RA(CS,{append:function(e,t){var r=YA(this);WA(arguments.length,2),cS(r.entries,{key:xA(e),value:xA(t)}),TA||this.length++,r.updateURL()},delete:function(e){for(var t=YA(this),r=WA(arguments.length,1),i=t.entries,o=xA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:xA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(uS(i,s,1),void 0!==a)break}TA||(this.size=i.length),t.updateURL()},get:function(e){var t=YA(this).entries;WA(arguments.length,1);for(var r=xA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=YA(this).entries;WA(arguments.length,1);for(var r=xA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&cS(i,t[o].value);return i},has:function(e){for(var t=YA(this).entries,r=WA(arguments.length,1),i=xA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:xA(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=YA(this);WA(arguments.length,1);for(var i,o=r.entries,n=!1,a=xA(e),s=xA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?uS(o,c--,1):(n=!0,i.value=s));n||cS(o,{key:a,value:s}),TA||(this.size=o.length),r.updateURL()},sort:function(){var e=YA(this);jA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=YA(this).entries,i=OA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new RS(this,"keys")},values:function(){return new RS(this,"values")},entries:function(){return new RS(this,"entries")}},{enumerable:!0}),AA(CS,GA,CS.entries,{name:"entries"}),AA(CS,"toString",(function(){return YA(this).serialize()}),{enumerable:!0}),TA&&SA(CS,"size",{get:function(){return YA(this).entries.length},configurable:!0,enumerable:!0}),bA(wS,zA),fA({global:!0,constructor:!0,forced:!IA},{URLSearchParams:wS}),!IA&&NA(QA)){var DS=yA(eS.has),NS=yA(eS.set),kS=function(e){if(PA(e)){var t,r=e.body;if(MA(r)===zA)return t=e.headers?new QA(e.headers):new QA,DS(t,"content-type")||NS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),UA(e,{body:VA(0,xA(r)),headers:VA(0,t)})}return e};if(NA(XA)&&fA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return XA(e,arguments.length>1?kS(arguments[1]):{})}}),NA($A)){var OS=function(e){return DA(this,ZA),new $A(e,arguments.length>1?kS(arguments[1]):{})};ZA.constructor=OS,OS.prototype=ZA,fA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:OS})}}var MS,LS=to,PS=n,xS=mI,US=r,VS=Zo,FS=T,BS=$r,HS=_o,WS=Wc,jS=He,GS=wI,zS=function(e){var t=PI(e),r=VI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=MI(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=WI(t),p=0;if(!h||this===jI&&UI(h))for(a=FI(t),s=r?new this(a):jI(a);a>p;p++)u=n?o(t[p],p):t[p],BI(s,p,u);else for(s=r?new this:[],d=(l=HI(t,h)).next;!(c=LI(d,l)).done;p++)u=n?xI(l,o,[c.value,p],!0):c.value,BI(s,p,u);return s.length=p,s},KS=ac,qS=cg.codeAt,YS=function(e){var t,r,i=[],o=iA(rA(oA(e),qI,"."),".");for(t=0;t<o.length;t++)r=o[t],tA(i,XI(KI,r)?"xn--"+sA(r):r);return eA(i,".")},JS=po,XS=Ua,$S=ru,QS={URLSearchParams:wS,getState:YA},ZS=Cr,eR=ZS.set,tR=ZS.getterFor("URL"),rR=QS.URLSearchParams,iR=QS.getState,oR=US.URL,nR=US.TypeError,aR=US.parseInt,sR=Math.floor,cR=Math.pow,lR=FS("".charAt),dR=FS(/./.exec),uR=FS([].join),hR=FS(1..toString),pR=FS([].pop),mR=FS([].push),fR=FS("".replace),_R=FS([].shift),gR=FS("".split),ER=FS("".slice),vR=FS("".toLowerCase),yR=FS([].unshift),TR="Invalid scheme",IR="Invalid host",AR="Invalid port",SR=/[a-z]/i,RR=/[\d+-.a-z]/i,bR=/\d/,wR=/^0x/i,CR=/^[0-7]+$/,DR=/^\d+$/,NR=/^[\da-f]+$/i,kR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,OR=/[\0\t\n\r #/:<>?@[\\\]^|]/,MR=/^[\u0000-\u0020]+/,LR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,PR=/[\t\n\r]/g,xR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)yR(t,e%256),e=sR(e/256);return uR(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=hR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},UR={},VR=GS({},UR,{" ":1,'"':1,"<":1,">":1,"`":1}),FR=GS({},VR,{"#":1,"?":1,"{":1,"}":1}),BR=GS({},FR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),HR=function(e,t){var r=qS(e,0);return r>32&&r<127&&!jS(t,e)?e:encodeURIComponent(e)},WR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},jR=function(e,t){var r;return 2===e.length&&dR(SR,lR(e,0))&&(":"===(r=lR(e,1))||!t&&"|"===r)},GR=function(e){var t;return e.length>1&&jR(ER(e,0,2))&&(2===e.length||"/"===(t=lR(e,2))||"\\"===t||"?"===t||"#"===t)},zR=function(e){return"."===e||"%2e"===vR(e)},KR={},qR={},YR={},JR={},XR={},$R={},QR={},ZR={},eb={},tb={},rb={},ib={},ob={},nb={},ab={},sb={},cb={},lb={},db={},ub={},hb={},pb=function(e,t,r){var i,o,n,a=JS(e);if(t){if(o=this.parse(a))throw new nR(o);this.searchParams=null}else{if(void 0!==r&&(i=new pb(r,!0)),o=this.parse(a,null,i))throw new nR(o);(n=iR(new rR)).bindURL(this),this.searchParams=n}};pb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||KR,d=0,u="",h=!1,p=!1,m=!1;for(e=JS(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=fR(e,MR,""),e=fR(e,LR,"$1")),e=fR(e,PR,""),i=zS(e);d<=i.length;){switch(o=i[d],l){case KR:if(!o||!dR(SR,o)){if(t)return TR;l=YR;continue}u+=vR(o),l=qR;break;case qR:if(o&&(dR(RR,o)||"+"===o||"-"===o||"."===o))u+=vR(o);else{if(":"!==o){if(t)return TR;u="",l=YR,d=0;continue}if(t&&(c.isSpecial()!==jS(WR,u)||"file"===u&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&WR[c.scheme]===c.port&&(c.port=null));u="","file"===c.scheme?l=nb:c.isSpecial()&&r&&r.scheme===c.scheme?l=JR:c.isSpecial()?l=ZR:"/"===i[d+1]?(l=XR,d++):(c.cannotBeABaseURL=!0,mR(c.path,""),l=db)}break;case YR:if(!r||r.cannotBeABaseURL&&"#"!==o)return TR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=KS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=hb;break}l="file"===r.scheme?nb:$R;continue;case JR:if("/"!==o||"/"!==i[d+1]){l=$R;continue}l=eb,d++;break;case XR:if("/"===o){l=tb;break}l=lb;continue;case $R:if(c.scheme=r.scheme,o===MS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=QR;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query="",l=ub;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.path.length--,l=lb;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query=r.query,c.fragment="",l=hb}break;case QR:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=lb;continue}l=tb}else l=eb;break;case ZR:if(l=eb,"/"!==o||"/"!==lR(u,d+1))continue;d++;break;case eb:if("/"!==o&&"\\"!==o){l=tb;continue}break;case tb:if("@"===o){h&&(u="%40"+u),h=!0,n=zS(u);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=HR(_,BR);m?c.password+=g:c.username+=g}else m=!0}u=""}else if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===u)return"Invalid authority";d-=zS(u).length+1,u="",l=rb}else u+=o;break;case rb:case ib:if(t&&"file"===c.scheme){l=sb;continue}if(":"!==o||p){if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===u)return IR;if(t&&""===u&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(u))return a;if(u="",l=cb,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),u+=o}else{if(""===u)return IR;if(a=c.parseHost(u))return a;if(u="",l=ob,t===ib)return}break;case ob:if(!dR(bR,o)){if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==u){var E=aR(u,10);if(E>65535)return AR;c.port=c.isSpecial()&&E===WR[c.scheme]?null:E,u=""}if(t)return;l=cb;continue}return AR}u+=o;break;case nb:if(c.scheme="file","/"===o||"\\"===o)l=ab;else{if(!r||"file"!==r.scheme){l=lb;continue}switch(o){case MS:c.host=r.host,c.path=KS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=KS(r.path),c.query="",l=ub;break;case"#":c.host=r.host,c.path=KS(r.path),c.query=r.query,c.fragment="",l=hb;break;default:GR(uR(KS(i,d),""))||(c.host=r.host,c.path=KS(r.path),c.shortenPath()),l=lb;continue}}break;case ab:if("/"===o||"\\"===o){l=sb;break}r&&"file"===r.scheme&&!GR(uR(KS(i,d),""))&&(jR(r.path[0],!0)?mR(c.path,r.path[0]):c.host=r.host),l=lb;continue;case sb:if(o===MS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&jR(u))l=lb;else if(""===u){if(c.host="",t)return;l=cb}else{if(a=c.parseHost(u))return a;if("localhost"===c.host&&(c.host=""),t)return;u="",l=cb}continue}u+=o;break;case cb:if(c.isSpecial()){if(l=lb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==MS&&(l=lb,"/"!==o))continue}else c.fragment="",l=hb;else c.query="",l=ub;break;case lb:if(o===MS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=vR(s=u))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||mR(c.path,"")):zR(u)?"/"===o||"\\"===o&&c.isSpecial()||mR(c.path,""):("file"===c.scheme&&!c.path.length&&jR(u)&&(c.host&&(c.host=""),u=lR(u,0)+":"),mR(c.path,u)),u="","file"===c.scheme&&(o===MS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)_R(c.path);"?"===o?(c.query="",l=ub):"#"===o&&(c.fragment="",l=hb)}else u+=HR(o,FR);break;case db:"?"===o?(c.query="",l=ub):"#"===o?(c.fragment="",l=hb):o!==MS&&(c.path[0]+=HR(o,UR));break;case ub:t||"#"!==o?o!==MS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":HR(o,UR)):(c.fragment="",l=hb);break;case hb:o!==MS&&(c.fragment+=HR(o,VR))}d++}},parseHost:function(e){var t,r,i;if("["===lR(e,0)){if("]"!==lR(e,e.length-1))return IR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return lR(e,u)};if(":"===h()){if(":"!==lR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&dR(NR,h());)t=16*t+aR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!dR(bR,h()))return;for(;dR(bR,h());){if(n=aR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(ER(e,1,-1)),!t)return IR;this.host=t}else if(this.isSpecial()){if(e=YS(e),dR(kR,e))return IR;if(t=function(e){var t,r,i,o,n,a,s,c=gR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===lR(o,0)&&(n=dR(wR,o)?16:8,o=ER(o,8===n?1:2)),""===o)a=0;else{if(!dR(10===n?DR:8===n?CR:NR,o))return e;a=aR(o,n)}mR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=cR(256,5-t))return null}else if(a>255)return null;for(s=pR(r),i=0;i<r.length;i++)s+=r[i]*cR(256,3-i);return s}(e),null===t)return IR;this.host=t}else{if(dR(OR,e))return IR;for(t="",r=zS(e),i=0;i<r.length;i++)t+=HR(r[i],UR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return jS(WR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&jR(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=xR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+uR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new nR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new mb(e.path[0]).origin}catch(hG){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+xR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(JS(e)+":",KR)},getUsername:function(){return this.username},setUsername:function(e){var t=zS(JS(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=HR(t[r],BR)}},getPassword:function(){return this.password},setPassword:function(e){var t=zS(JS(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=HR(t[r],BR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?xR(e):xR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,rb)},getHostname:function(){var e=this.host;return null===e?"":xR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,ib)},getPort:function(){var e=this.port;return null===e?"":JS(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=JS(e))?this.port=null:this.parse(e,ob))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+uR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,cb))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=JS(e))?this.query=null:("?"===lR(e,0)&&(e=ER(e,1)),this.query="",this.parse(e,ub)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=JS(e))?("#"===lR(e,0)&&(e=ER(e,1)),this.fragment="",this.parse(e,hb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var mb=function(e){var t=WS(this,fb),r=$S(arguments.length,1)>1?arguments[1]:void 0,i=eR(t,new pb(e,!1,r));PS||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},fb=mb.prototype,_b=function(e,t){return{get:function(){return tR(this)[e]()},set:t&&function(e){return tR(this)[t](e)},configurable:!0,enumerable:!0}};if(PS&&(HS(fb,"href",_b("serialize","setHref")),HS(fb,"origin",_b("getOrigin")),HS(fb,"protocol",_b("getProtocol","setProtocol")),HS(fb,"username",_b("getUsername","setUsername")),HS(fb,"password",_b("getPassword","setPassword")),HS(fb,"host",_b("getHost","setHost")),HS(fb,"hostname",_b("getHostname","setHostname")),HS(fb,"port",_b("getPort","setPort")),HS(fb,"pathname",_b("getPathname","setPathname")),HS(fb,"search",_b("getSearch","setSearch")),HS(fb,"searchParams",_b("getSearchParams")),HS(fb,"hash",_b("getHash","setHash"))),BS(fb,"toJSON",(function(){return tR(this).serialize()}),{enumerable:!0}),BS(fb,"toString",(function(){return tR(this).serialize()}),{enumerable:!0}),oR){var gb=oR.createObjectURL,Eb=oR.revokeObjectURL;gb&&BS(mb,"createObjectURL",VS(gb,oR)),Eb&&BS(mb,"revokeObjectURL",VS(Eb,oR))}XS(mb,"URL"),LS({global:!0,constructor:!0,forced:!xS,sham:!PS},{URL:mb});var vb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return vb(URL.prototype.toString,this)}});var yb,Tb=Object.create,Ib=Object.defineProperty,Ab=Object.defineProperties,Sb=Object.getOwnPropertyDescriptor,Rb=Object.getOwnPropertyDescriptors,bb=Object.getOwnPropertyNames,wb=Object.getOwnPropertySymbols,Cb=Object.getPrototypeOf,Db=Object.prototype.hasOwnProperty,Nb=Object.prototype.propertyIsEnumerable,kb=Reflect.get,Ob=Math.pow,Mb=(e,t,r)=>t in e?Ib(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Lb=(e,t)=>{for(var r in t||(t={}))Db.call(t,r)&&Mb(e,r,t[r]);if(wb)for(var r of wb(t))Nb.call(t,r)&&Mb(e,r,t[r]);return e},Pb=(e,t)=>Ab(e,Rb(t)),xb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ub=(e,t)=>{for(var r in t)Ib(e,r,{get:t[r],enumerable:!0})},Vb=(e,t,r)=>(r=null!=e?Tb(Cb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of bb(t))!Db.call(e,o)&&o!==r&&Ib(e,o,{get:()=>t[o],enumerable:!(i=Sb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Ib(r,"default",{value:e,enumerable:!0}),e)),Fb=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?Sb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&Ib(t,r,n),n},Bb=(e,t,r)=>Mb(e,"symbol"!=typeof t?t+"":t,r),Hb=(e,t,r)=>kb(Cb(e),r,t),Wb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(UO){o(UO)}},a=e=>{try{s(r.throw(e))}catch(UO){o(UO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),jb=xb(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),Gb=xb(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),zb=xb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=Gb(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),Kb=xb(((e,t)=>{var r=Gb(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),qb=xb((e=>{var t=zb(),r=Kb(),i=Gb();e.grammar=i,e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),Yb=((yb=Yb||{})[yb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",yb[yb.INVALID_OPERATION=4097]="INVALID_OPERATION",yb[yb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",yb[yb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",yb[yb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",yb[yb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",yb[yb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",yb[yb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",yb[yb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",yb[yb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",yb[yb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",yb[yb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",yb[yb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",yb[yb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",yb[yb.CLIENT_BANNED=16448]="CLIENT_BANNED",yb[yb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",yb[yb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",yb[yb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",yb[yb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",yb[yb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",yb[yb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",yb[yb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",yb[yb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",yb[yb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",yb[yb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",yb[yb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",yb[yb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",yb[yb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",yb[yb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",yb[yb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",yb[yb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",yb[yb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",yb[yb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",yb[yb.UNKNOWN=65535]="UNKNOWN",yb),Jb=Yb,Xb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=Jb.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in Jb)if(Jb[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),Bb(this,"code"),Bb(this,"extraCode"),Bb(this,"message"),Bb(this,"originMessage"),Bb(this,"name"),Bb(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},$b=Xb,Qb=function(){return 0},Zb=function(){return Date.now()+0},ew=function(){let e=new Date;return e.setTime(Zb()),e.toLocaleString()},tw=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},rw={};Ub(rw,{REPORT_TYPE:()=>uN,buildSSOPackage:()=>hN,bytes2ms:()=>hD,calculateScaleResolutionDownNumber:()=>sN,concatArrayBuffers:()=>pN,convertObjectNumberToInt:()=>rN,copyProperties:()=>uD,deepClone:()=>KD,deepCloneBasic:()=>dN,deepMerge:()=>zD,delay:()=>iN,fibonacci:()=>vD,formatedTime:()=>JD,getConstructorName:()=>MD,getContainerFromElement:()=>YD,getEnv:()=>iD,getFirst16Bits:()=>fN,getInternalVersion:()=>FD,getLast16Bits:()=>mN,getLoggerUrl:()=>nD,getMediaStreamTrackInfo:()=>aN,getMuteStateFromFlag:()=>WD,getNetworkType:()=>sD,getNumNetworkType:()=>dD,getReconnectionTimeout:()=>yD,getStringByteLength:()=>QD,getTurnServer:()=>jD,getUint32Version:()=>tN,getValueType:()=>TD,getViewListFromView:()=>qD,glog:()=>_D,ipv4ToUint32:()=>GD,isArray:()=>CD,isAudioWorkletSupported:()=>LD,isBoolean:()=>bD,isConstructor:()=>OD,isEmpty:()=>HD,isFunction:()=>ID,isLangChinese:()=>gD,isMediaStreamTrack:()=>DD,isNumber:()=>RD,isObject:()=>wD,isOverseaSdkAppId:()=>oD,isPlainObject:()=>ED,isPortrait:()=>ZD,isPromise:()=>kD,isRemoteTrack:()=>ND,isRotate90Or270:()=>cN,isSetSinkIdSupported:()=>PD,isString:()=>SD,isUndefined:()=>AD,loadImage:()=>eN,loadVideo:()=>lN,ms2bytes:()=>mD,ms2samples:()=>fD,normalizeUrl:()=>nN,performanceNow:()=>UD,promiseAny:()=>xD,samples2ms:()=>pD,setNetworkType:()=>lD,stringify:()=>XD,stringifyIncludeValue:()=>$D,throttlePromise:()=>oN});var iw={};Ub(iw,{AUDIO_MUTE_BIT:()=>jw,AUDIO_STAT_BIT:()=>Ww,AUX_STAT_BIT:()=>Hw,AUX_STREAM_MSID:()=>Yw,BACKEND_ENV:()=>Uw,BASE_DOC_URL:()=>Ew,BASE_HOST:()=>mw,CAPABILITIES_KEYS:()=>PC,CLASS_NAME:()=>bC,CLOUD_CONSOLE_URL:()=>gw,CROSS_ROOM_BIT:()=>Kw,DATA_FREEZE_TIMING:()=>vC,DOC_URL:()=>vw,DTLS_STATE_UNKNOWN:()=>oC,ENV_NAME:()=>Sw,EXCHANGE_SDP_TIMEOUT:()=>mC,IS_WORKER:()=>lw,IS_WORKLET:()=>dw,KIBANA_EVENT:()=>uC,LOCAL_STREAM_PUBLISH_STATE:()=>EC,LOGGER_CMD_TYPE:()=>Aw,LOGGER_DOMAIN:()=>yw,LOGGER_DOMAIN_OVERSEA:()=>Tw,LOG_LEVEL:()=>Rw,LOG_LEVEL_NAME:()=>kC,MAIN_STREAM_MSID:()=>qw,MAX_RTT:()=>xC,MICROPHONE_COMMUNICATIONS:()=>NC,MICROPHONE_DEFAULT:()=>CC,MUTE_ALL_BIT:()=>zw,NAME:()=>Pw,NETWORK_TYPE:()=>Cw,NOT_SUPPORTED_H264:()=>gC,PAUSED_RETRY_COUNT:()=>wC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>AC,PEER_CONNECTION_STATE:()=>nC,PEER_LEAVE_REASON:()=>OC,RECOVER_CAPTURE_INTERVAL:()=>LC,REMOTE_STREAM_TYPE_AUX:()=>Xw,REMOTE_STREAM_TYPE_MAIN:()=>Jw,RENDER_FREEZE_TIMING:()=>yC,SCHEDULE_DOMAIN:()=>SC,SCHEDULE_TIMEOUT:()=>RC,SDP_SEMANTICS_PLAN_B:()=>_C,SDP_SEMANTICS_UNIFIED_PLAN:()=>fC,SECOND_HOST:()=>fw,SIGNAL_PING_PONG_INTERVAL:()=>ww,SIGNAL_PING_TIMEOUT:()=>bw,SIGNAL_RECONNECTION_COUNT:()=>dC,SMALL_STAT_BIT:()=>Bw,SPEAKER_DEFAULT:()=>DC,STORAGE_EXPIRES_TIME:()=>Dw,STREAM_TYPE_BIG:()=>TC,STREAM_TYPE_SMALL:()=>IC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>MC,SYNC_USER_LIST_INTERVAL:()=>hC,Scene:()=>Vw,THIRD_HOST:()=>_w,TRANSPORT_DIRECTION:()=>xw,TRTC_ERROR_ASSISTANCE:()=>Iw,TRTC_QUALITY_BAD:()=>tC,TRTC_QUALITY_DISCONNECTED:()=>iC,TRTC_QUALITY_EXCELLENT:()=>Qw,TRTC_QUALITY_GOOD:()=>Zw,TRTC_QUALITY_POOR:()=>eC,TRTC_QUALITY_UNKNOWN:()=>$w,TRTC_QUALITY_VERY_BAD:()=>rC,UPDATE_OFFER_TIMEOUT:()=>pC,VIDEO_MUTE_BIT:()=>Gw,VIDEO_STAT_BIT:()=>Fw,audioProfileMap:()=>Nw,defaultBigVideoProfile:()=>Ow,defaultSmallVideoProfile:()=>Mw,getRetryCount:()=>cC,getScriptDir:()=>uw,innerVersion:()=>ow,loggerProxy:()=>hw,screenProfileMap:()=>Lw,setLoggerProxy:()=>pw,setRetryCount:()=>sC,setVersion:()=>aw,version:()=>nw,videoProfileMap:()=>kw});var ow="4.15.00.1600",nw="5.0.0";function aw(e){nw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));ow="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var sw,cw,lw="undefined"!=typeof importScripts,dw="undefined"!=typeof registerProcessor,uw=()=>{let e=lw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},hw="",pw=e=>hw=e,mw="web.sdk.qcloud.com",fw="web.sdk.tencent.cn",_w="web.sdk.cloud.tencent.cn",gw="https://console.cloud.tencent.com/trtc",Ew="https://".concat(mw,"/trtc/webrtc/v5/doc"),vw="".concat(Ew,"/zh-cn/"),yw="https://yun.tim.qq.com",Tw="https://apisgp.my-imcloud.com",Iw="trtc_error_assistance",Aw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},Sw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},Rw=((cw=Rw||{})[cw.TRACE=0]="TRACE",cw[cw.DEBUG=1]="DEBUG",cw[cw.INFO=2]="INFO",cw[cw.WARN=3]="WARN",cw[cw.ERROR=4]="ERROR",cw[cw.NONE=5]="NONE",cw),bw=18e3,ww=2e3,Cw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},Dw=6048e5,Nw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},kw={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},Ow=kw["480p_2"],Mw=kw["120p_2"],Lw={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},Pw={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture",RESIZE:"resize",TIME_UPDATE:"timeupdate"},xw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Uw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},Vw=((sw=Vw||{}).LIVE="live",sw.RTC="rtc",sw),Fw=1,Bw=2,Hw=4,Ww=8,jw=64,Gw=16,zw=112,Kw=128,qw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Yw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",Jw=Pw.MAIN,Xw=Pw.AUXILIARY,$w=0,Qw=1,Zw=2,eC=3,tC=4,rC=5,iC=6,oC="unknown",nC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},aC=1/0;function sC(e){aC=e}function cC(){return aC}var lC,dC=30,uC={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry",VIDEO_ENCODE_FAILED_DURING_CALL:"video-encode-failed-during-call",AUDIO_ENCODE_FAILED_DURING_CALL:"audio-encode-failed-during-call"},hC=1e4,pC=1e4,mC=1e4,fC="unified-plan",_C="plan-b",gC=1028,EC=((lC=EC||{})[lC.UNPUBLISH=-1]="UNPUBLISH",lC[lC.PUBLISHING=0]="PUBLISHING",lC[lC.PUBLISHED=1]="PUBLISHED",lC),vC=500,yC=1e3,TC=Pw.BIG,IC=Pw.SMALL,AC=1e4,SC={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},RC=2e3,bC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},wC=5,CC="default",DC=CC,NC="communications",kC=Object.keys(Rw),OC=["normal leave","timeout leave","kick","role change"],MC=10,LC=2e3,PC=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],xC=1e4,UC=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))},VC=Symbol(32),FC=Symbol(16),BC=Symbol(8),HC=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return UC(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(VC)}readU16(){return this.read(FC)}readU8(){return this.read(BC)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===VC){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===FC){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===BC){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};HC.U32=VC,HC.U16=FC,HC.U8=BC;var WC=128;function jC(e){let t=new HC;for(;e>=128;)t.malloc(1)[0]=255&e|WC,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function GC(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new HC,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(jC(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(jC(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new HC;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=GC(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=GC(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(jC(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var zC=class{constructor(){Bb(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function KC(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function qC(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function YC(e,t){return e[t]}function JC(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var XC=0,$C=2654435769,QC=16,ZC=2,eD=7;function tD(e,t){let r=new zC,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,XC);XC=XC+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new zC;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,SD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+ZC+eD)%8;i&&(i=8-i);let o=r+1+ZC+eD+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<ZC;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){rD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){rD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<eD;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){rD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function rD(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=qC(e,0),n=qC(e,4),a=[];for(let c=0;c<4;c++)a[c]=qC(t,4*c);let s=0;for(let c=0;c<QC;c++)s+=$C,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;KC(r,o,i),KC(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var iD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},oD=e=>Number(e)<14e8,nD=function(e,t){let r;r=hw||(oD(e)?Tw:yw);let i=Math.floor(Math.random()*Ob(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},aD="unknown";function sD(){if("unknown"!==aD)return aD;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(aD=cD(i,o)),aD}function cD(e,t){if(Cw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function lD(e){aD=cD(e)}function dD(){return Cw[sD()]}function uD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function hD(e){return pD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function pD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function mD(e){return 4*fD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function fD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var _D="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},gD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},ED=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function vD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:vD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function yD(e){return e>8?3e4:1e3*vD(e)}function TD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var ID=e=>"function"==typeof e,AD=e=>void 0===e,SD=e=>"string"==typeof e,RD=e=>"number"==typeof e,bD=e=>"boolean"==typeof e,wD=e=>"object"===TD(e),CD=e=>"array"===TD(e),DD=e=>TD(e)==="MediaStreamTrack".toLowerCase(),ND=e=>e.isRemote,kD=e=>"promise"===TD(e),OD=e=>ID(e)&&e.prototype.constructor===e,MD=e=>OD(e)?e.prototype.constructor.name:"",LD="undefined"!=typeof AudioWorkletNode,PD="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function xD(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function UD(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var VD=e=>+e<10?"0".concat(e):e,FD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=VD(r[1])+VD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},BD=Object.prototype.hasOwnProperty;function HD(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(ED(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(BD.call(e,t))return!1;return!0}return!1}function WD(e,t){return{userId:t,hasAudio:!!(e&Ww),hasVideo:!!(e&Fw),hasAuxiliary:!!(e&Hw),hasSmall:!!(e&Bw),audioMuted:!!(e&jw),videoMuted:!!(e&Gw),audioAvailable:!(!(e&Ww)||e&jw),videoAvailable:!(!(e&Fw)||e&Gw)}}function jD(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!AD(e.username)&&!AD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",AD(e.credentialType)||(t.credentialType=e.credentialType)),t}function GD(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!SD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var zD=function(e,t,r,i){if(!wD(e)||!wD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(AD(t[o])||r&&r.includes(o)))if(wD(e[o])&&wD(t[o]))n+=zD(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=KD(t[o]),n+=1)}return n};function KD(e){if(CD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=KD(e)})),t}if(wD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=KD(e[r])})),t}return e}var qD=e=>{let t=[];if(CD(e))t=[...e];else if(SD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},YD=e=>SD(e)?document.getElementById(e):e,JD=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function XD(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(CD(e))return"[".concat(e.map((e=>XD(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!ED(e)||!CD(r)&&!CD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=ED(e[a])||CD(e[a])?JSON.parse(XD(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(lC){return"{}"}}function $D(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),XD(e,{keysToInclude:r})}function QD(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var ZD=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},eN=e=>Wb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(SD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new $b({code:Jb.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),tN=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},rN=e=>(Object.keys(e).forEach((t=>{RD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(ED(e[t])||CD(e[t]))&&rN(e[t])})),e);function iN(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function oN(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function nN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function aN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===Pw.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(sw){return""}}function sN(e,t){return e.width*e.height==t.width*t.height?1:ZD()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function cN(e){return 90===e||270===e}function lN(e){return Wb(this,null,(function*(){return new Promise(((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then((()=>t(i))),i.onerror=()=>{r(i.error)}}))}))}function dN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach(((e,i)=>{r[i]=dN(e,t)})),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach((i=>{r[i]=dN(e[i],t)})),r}return e}var uN=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(uN||{});function hN(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return AD(i)||(o=Pb(Lb({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return tD(GC(o),r)}catch(HO){return JSON.stringify(e)}}function pN(e,t){let r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}function mN(e){return(65535&e)>>>0}function fN(e){return(4294901760&e)>>>0}function _N(e){let t=function(e){try{let t={},r=0;t.totalLength=qC(e,r),r+=4,t.version=qC(e,r),r+=4,t.encryption=YC(e,r),r+=1,t.uinType=YC(e,r),r+=1,t.uinLength=qC(e,r),r+=4,t.uin=t.uinLength>4?JC(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=gN(o,t),a=7&n[0],s=e.length-1-a-ZC-eD,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=ZC;)if(h<8)h++,m++;else if(8===h){let i=EN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=EN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=eD;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=EN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=qC(e,r),r+=4,t.seqNo=qC(e,r),r+=4,t.retCode=qC(e,r),r+=4,t.retStrLength=qC(e,r),r+=4,t.retStr=t.retStrLength?JC(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=qC(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?JC(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=qC(e,r),r+=4,t.cookie=t.cookieLength?JC(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=qC(e,r),r+=4,t.busiBuffLength=qC(e,r),r+=4,t.busiBuff=t.busiBuffLength?JC(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function gN(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=$C*QC>>>0;for(let n=0;n<QC;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=$C,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function EN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:gN(c,n),bufPos:t+8}}var vN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function yN(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.clone().json().then((e=>({data:e})),(()=>e.arrayBuffer().then((e=>({data:_N(new Uint8Array(e))||(vN?vN.decode(e):e)}))))))).then(e,a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(jO){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function TN(e){return Wb(this,null,(function*(){let t=UD(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return kO.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(UD()-t,"ms")),i}catch(lC){return r}}))}var IN=Object.prototype.hasOwnProperty,AN=e=>"function"==typeof e,SN=e=>e.isRemote,RN=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};var bN=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Wb(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(KM){let a=()=>{clearTimeout(p),h=0,m=2,r(KM)},s=()=>{2!==m&&h<(AN(d)?d():d)?(h++,m=1,AN(o)&&o.call(this,h,a),p=window.setTimeout((()=>{p=-1,f(e,r)}),AN(u)?u(h):u)):(a(),AN(n)&&n.call(this,KM))};AN(i)?i.call(this,{error:KM,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}}));return new Promise(f)}},wN=class{constructor(e){Bb(this,"userId"),Bb(this,"remoteUserId"),Bb(this,"id"),Bb(this,"sdkAppId"),Bb(this,"type"),Bb(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),kO.log(e,t,void 0===this.userId||function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(RN(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(IN.call(e,t))return!1;return!0}return!1}(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},CN={};Ub(CN,{ANDROID_VERSION:()=>HN,CHROME_MAJOR_VERSION:()=>zk,CHROME_VERSION:()=>Kk,EDGE_VERSION:()=>YN,EDG_MAJOR_VERSION:()=>$N,EDG_VERSION:()=>XN,ELECTRON_MAJOR_VERSION:()=>qk,FIREFOX_MAJOR_VERSION:()=>KN,FIREFOX_VERSION:()=>zN,HUAWEI_VERSION:()=>Ok,IE_VERSION:()=>ck,IOS_MAIN_VERSION:()=>tO,IOS_VERSION:()=>Qk,IPADQQB_VERSION:()=>vk,IS_ANDROID:()=>BN,IS_ANDROID_WEBVIEW:()=>$k,IS_ANY_SAFARI:()=>Jk,IS_CHROME:()=>jk,IS_CHROME_OS:()=>Ak,IS_CHROMIUM_BASE:()=>Wk,IS_DESKTOP_IOS_CHROME:()=>aO,IS_EDG:()=>JN,IS_EDGE:()=>qN,IS_ELECTRON:()=>bk,IS_FIREFOX:()=>GN,IS_HEADLESS_CHROME:()=>Gk,IS_HONOR:()=>kk,IS_HUAWEI:()=>Nk,IS_HUAWEIBROWSER:()=>Dk,IS_IE:()=>sk,IS_IE8:()=>ak,IS_IOS:()=>FN,IS_IOS_13_OR_14:()=>oO,IS_IOS_15_1:()=>iO,IS_IOS_CHROME:()=>nO,IS_IPAD:()=>PN,IS_IPADQQB:()=>Ek,IS_IPAD_PRO:()=>xN,IS_IPHONE:()=>UN,IS_IPOD:()=>VN,IS_LINUX:()=>Ik,IS_LOCAL:()=>sO,IS_MAC:()=>Tk,IS_MACQQB:()=>_k,IS_MIBROWSER:()=>wk,IS_MQQB:()=>hk,IS_NATIVE_ANDROID:()=>jN,IS_OLD_ANDROID:()=>WN,IS_OPENHARMONY:()=>Fk,IS_OPPOBROWSER:()=>Pk,IS_SAFARI:()=>Yk,IS_SAFARI_15_1:()=>rO,IS_SAMSUNGBROWSER:()=>Mk,IS_SOGOU:()=>ek,IS_SOGOUM:()=>QN,IS_TBS:()=>rk,IS_UCBROWSER:()=>Rk,IS_VIVOBROWSER:()=>Uk,IS_WECHAT:()=>lk,IS_WIN:()=>yk,IS_WQQB:()=>mk,IS_WX:()=>Sk,IS_X5MQQB:()=>uk,IS_XWEB:()=>ok,MACQQB_VERSION:()=>gk,MI_VERSION:()=>Ck,MQQB_VERSION:()=>pk,OPENHARMONY_VERSION:()=>Bk,OPPO_VERSION:()=>xk,SAFARI_VERSION:()=>Xk,SAMSUNG_VERSION:()=>Lk,SOGOUM_VERSION:()=>ZN,SOGOU_VERSION:()=>tk,TBS_VERSION:()=>ik,UA_DATA_STRING:()=>pO,USER_AGENT:()=>DN,VIVO_VERSION:()=>Vk,WECHAT_VERSION:()=>dk,WQQB_VERSION:()=>fk,XWEB_VERSION:()=>nk,browserInfo:()=>lO,getBrowserCoreNumber:()=>TO,getBrowserInfo:()=>dO,getChromeMajorVersion:()=>Hk,getDeviceModel:()=>_O,getDeviceModelFromUA:()=>gO,getGPUInfo:()=>fO,getOSName:()=>vO,getOSNumber:()=>yO,getOSString:()=>IO,getOSType:()=>SO,getTerminalType:()=>AO,getUserAgentData:()=>mO,isLocalStorageEnabled:()=>cO,isMobile:()=>hO,isVersionLargerThan:()=>eO,isVersionSmallerThan:()=>Zk});var DN="undefined"==typeof navigator?"":navigator.userAgent,NN=e=>new RegExp(e,"i").test(DN),kN=e=>{if(NN(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=DN.match(t);if(r&&r[1])return r[1]}return""},ON=e=>{if(NN(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=DN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},MN=/AppleWebKit\/([\d.]+)/i.exec(DN),LN=MN?parseFloat(MN[1]):NaN,PN=NN("iPad"),xN="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&NN("Macintosh"),UN=NN("iPhone")&&!PN,VN=NN("iPod"),FN=UN||PN||VN||xN,BN=NN("Android"),HN=function(){if(BN){let e=DN.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),WN=BN&&NN("webkit")&&HN<2.3,jN=BN&&HN<5&&LN<537,GN=NN("Firefox"),zN=kN("Firefox"),KN=ON("Firefox"),qN=NN("Edge"),YN=kN("Edge"),JN=NN("Edg"),XN=kN("Edg"),$N=ON("Edg"),QN=NN("SogouMobileBrowser"),ZN=kN("SogouMobileBrowser"),ek=NN("MetaSr\\s"),tk=kN("MetaSr\\s"),rk=NN("TBS"),ik=kN("TBS"),ok=NN("XWEB"),nk=kN("XWEB"),ak=NN("MSIE\\s8\\.0"),sk=NN("MSIE\\/\\d+"),ck=function(){if(sk){let e=/MSIE\s(\d+)\.\d/.exec(DN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(DN)&&/rv:11.0/.test(DN)&&(t=11),t}return NaN}(),lk=NN("(micromessenger|webbrowser)"),dk=kN("MicroMessenger"),uk=!rk&&NN("MQQBrowser")&&NN("COVC"),hk=!rk&&NN("MQQBrowser")&&!NN("COVC"),pk=hk||uk?kN("MQQBrowser"):"",mk=!rk&&NN(" QQBrowser"),fk=kN(" QQBrowser"),_k=!rk&&NN("QQBrowserLite"),gk=kN("QQBrowserLite"),Ek=!rk&&NN("MQBHD"),vk=kN("MQBHD"),yk=NN("Windows"),Tk=!FN&&NN("MAC OS X"),Ik=!BN&&NN("Linux"),Ak=NN("CrOS"),Sk=NN("MicroMessenger"),Rk=NN("UCBrowser"),bk=NN("Electron"),wk=NN("MiuiBrowser"),Ck=kN("MiuiBrowser"),Dk=NN("HuaweiBrowser"),Nk=NN("Huawei")||NN("HUAWEI"),kk=NN("Honor")||NN("HONOR"),Ok=kN("HuaweiBrowser"),Mk=NN("SamsungBrowser"),Lk=kN("SamsungBrowser"),Pk=NN("HeyTapBrowser"),xk=kN("HeyTapBrowser"),Uk=NN("VivoBrowser"),Vk=kN("VivoBrowser"),Fk=NN("OpenHarmony"),Bk=kN("OpenHarmony"),Hk=()=>ON("Chrome"),Wk=NN("Chrome"),jk=!qN&&!ek&&!QN&&!rk&&!ok&&!JN&&!mk&&!wk&&!Dk&&!Mk&&!Pk&&!Uk&&Wk,Gk=NN("HeadlessChrome"),zk=Hk(),Kk=kN("Chrome"),qk=ON("Electron"),Yk=!Wk&&!hk&&!uk&&!_k&&!Ek&&NN("Safari"),Jk=Yk||FN,Xk=kN("Version"),$k=/Android.*(wv|.0.0.0)/.test(DN),Qk=(()=>{if(xN)return Xk;if(FN){let e=DN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function Zk(e,t){let r=e.split(".").map((e=>Number(e))),i=t.split(".").map((e=>Number(e)));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function eO(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map((e=>Number(e))),o=t.split(".").map((e=>Number(e)));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var tO=Number(Qk.split(".")[0]),rO="15.1"===Xk,iO="15.1"===Qk,oO=(()=>{let e=Number(Qk.split(".")[0]);return 14===e||13===e})(),nO=NN("CriOS"),aO=nO&&"11.1.1"===Xk,sO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),cO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(FO){e=!1}return e}})(),lO=dO();function dO(){let e=new Map([[GN,["Firefox",zN]],[JN,["Edg",XN]],[jk,["Chrome",Kk]],[Yk,["Safari",Xk]],[rk,["TBS",ik]],[ok,["XWEB",nk]],[lk&&UN,["WeChat",dk]],[mk,["QQ(Win)",fk]],[hk,["QQ(Mobile)",pk]],[uk,["QQ(Mobile X5)",pk]],[_k,["QQ(Mac)",gk]],[Ek,["QQ(iPad)",vk]],[wk,["MI",Ck]],[Dk,["HW",Ok]],[Mk,["Samsung",Lk]],[Pk,["OPPO",xk]],[Uk,["VIVO",Vk]],[qN,["EDGE",YN]],[QN,["SogouMobile",ZN]],[ek,["Sogou",tk]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var uO=null;function hO(){return uO&&"boolean"==typeof uO.mobile?uO.mobile:BN||FN||UN||PN||Fk}var pO="";function mO(){return Wb(this,null,(function*(){if(uO)return uO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(uO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!pO&&(pO="UAData: ".concat(uO.platform,"/").concat(uO.platformVersion),uO.architecture&&uO.bitness&&(pO+=" ".concat(uO.architecture,"/").concat(uO.bitness)),uO.mobile&&(pO+=" mobile"),uO.model&&(pO+=" model: ".concat(uO.model.replace(/\s+/g,"/"))),uO.fullVersionList&&(pO+=" ".concat(uO.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),uO}catch(XB){return null}}))}function fO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(XB){return""}}function _O(){return(null==uO?void 0:uO.model)||gO()||""}function gO(){let e=DN.match(/;\s*([^;)]+)\s+Build\//);return null!=e&&e[1]?e[1].trim():null}var EO=new Map([[BN,"Android"],[FN,"iOS"],[yk,"Windows"],[Tk,"MacOS"],[Ik,"Linux"],[Ak,"ChromeOS"]]),vO=function(){return EO.get(!0)?EO.get(!0):uO?uO.platform:"unknown"};function yO(){return yk?1:BN?2:Tk?3:FN?4:Ik?5:Ak?6:Fk?7:0}function TO(){return Wk?1:Yk?2:GN?3:0}var IO=()=>{let e=vO();return e+="/".concat(lO.name,"/").concat(Yk?lO.version:lO.version.split(".")[0]),null!=uO&&uO.platformVersion&&(e+="/".concat(uO.platformVersion)),null!=uO&&uO.architecture&&(e+="/".concat(uO.architecture)),e};function AO(){return BN?4:UN?2:PN?3:Tk?12:yk?5:Ik?13:Fk?22:1}function SO(){return BN?"Android":UN?"iPhone":PN?"iPad":Tk?"Mac":yk?"Windows":Ik?"Linux":"unknown"}var RO,bO=new(Vb(jb(),1).default),wO=((RO=wO||{}).ROOM_DESTROY="1",RO.JOIN_START="21",RO.JOIN_SCHEDULE_SUCCESS="22",RO.JOIN_SIGNAL_CONNECTION_START="23",RO.JOIN_SIGNAL_CONNECTION_END="24",RO.JOIN_SEND_CMD="25",RO.JOIN_RECEIVED_CMD_RES="26",RO.JOIN_SUCCESS="27",RO.JOIN_FAILED="28",RO.LEAVE_START="51",RO.LEAVE_SEND_CMD="52",RO.LEAVE_SUCCESS="53",RO.PUBLISH_START="61",RO.SEND_FIRST_VIDEO_FRAME="62",RO.PUBLISH_FAILED="63",RO.SUBSCRIBE_START="81",RO.SUBSCRIBE_SUCCESS="82",RO.SUBSCRIBE_FAILED="84",RO.UNSUBSCRIBE_SUCCESS="83",RO.LOCAL_TRACK_CAPTURE_START="101",RO.LOCAL_TRACK_CAPTURE_SUCCESS="102",RO.LOCAL_TRACK_CAPTURE_FAILED="103",RO.LOCAL_TRACK_PUBLISHED="104",RO.LOCAL_TRACK_UNPUBLISHED="105",RO.LOCAL_TRACK_REPLACED="106",RO.SWITCH_DEVICE_SUCCESS="107",RO.TRACK_MUTED="108",RO.TRACK_UNMUTED="109",RO.REMOTE_TRACK_SUBSCRIBED="110",RO.REMOTE_TRACK_UNSUBSCRIBED="111",RO.LOCAL_TRACK_RECAPTURE="112",RO.LOCAL_AUDIO_STARTED="113",RO.LOCAL_AUDIO_STOPPED="114",RO.REMOTE_AUDIO_STARTED="115",RO.REMOTE_AUDIO_STOPPED="116",RO.PLAY_TRACK_START="151",RO.PLAYER_STATE_CHANGED="152",RO.VIDEO_LOADED_DATA="153",RO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",RO.AUDIO_CONTEXT_LONG_SUSPENDED="155",RO.SIGNAL_CONNECTION_STATE_CHANGED="201",RO.PEER_CONNECTION_STATE_CHANGED="202",RO.SINGLE_CONNECTION_STAT="203",RO.SPC_RECONNECTED="204",RO.HEARTBEAT_REPORT="251",RO.RECEIVED_PUBLISHED_USER_LIST="252",RO.REMOTE_PUBLISH_STATE_CHANGED="253",RO.AUDIO_LEVEL_INTERVAL="260",RO.NETWORK_QUALITY="261",RO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",RO.QUALITY_LIMITATION_CHANGED="263",RO.LOG="264",RO.AUDIO_PROCESSOR_DEBUG="265",RO.SSO_SWITCH="266",RO.SWITCH_ROOM_START="401",RO.SWITCH_ROOM_SUCCESS="407",RO.SWITCH_ROOM_FAILED="408",RO),CO=wO,DO=new class{constructor(){Bb(this,"enable",!1),Bb(this,"ssoFailCount",0),bO.on("22",(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&bO.emit("266",{enable:!0})})),bO.on("266",(e=>{let{enable:t}=e;this.enable=t}))}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&bO.emit("266",{enable:!1})}},NO=class e{constructor(){Bb(this,"_isEnableUploadLog",!0),Bb(this,"_localJoinedUser",new Map),Bb(this,"_queue",[]),Bb(this,"_timeoutId",-1),Bb(this,"_logLevel",1),Bb(this,"_logLevelToUpload",2),!lw&&!dw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){bO.on(CO.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&Rw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),bO.on(CO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),bO.once(CO.JOIN_FAILED,(()=>{this.startUpload()})),bO.on(CO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(SD(r.userId)&&RD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return Wb(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e],n={timestamp:ew(),sdkAppId:String(i),userId:r,version:nw,log:o.map((e=>e.log)).join("\n")},a=JSON.stringify(n),s=DO.enable?hN(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach((e=>e.uploaded=!0))}}catch(HO){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t,r,i){return bN({retryFunction:()=>yN({url:nD(t,Aw.LOG),body:e,timeout:5e3,priority:"low"}).then((e=>{r&&"ok"!==e.data&&(DO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))})),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(Zb()),"[".concat(tw(t),"] <").concat(Rw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){AD(Rw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(SD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(sw){return""}}addLogToQueue(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,n={log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:i,sdkAppId:o,forAllJoinedClients:r};bO.emit(CO.LOG,{log:n}),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push(n)}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;if(r.unshift(this.getPrefix(t)),this.addLogToQueue(t,r,i,o,n),t<this._logLevel)return;let s=(null==(a=Rw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[s]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[s](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new wN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;Rw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Bb(NO,"PRINT_LOG_TAG",!(FN||BN||Gk));var kO=new NO,OO=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},MO=new class{constructor(){Bb(this,"_prefix","TRTC"),Bb(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){cO()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(HO){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(cO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(FO){kO.warn(FO)}}getItem(e){if(!cO())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(sw){kO.warn(sw)}}setItem(e,t){if(cO())try{let r={expiresIn:Date.now()+Dw,value:t};this._queue.set(this.getRealKey(e),r)}catch(lC){kO.warn(lC)}}deleteItem(e){if(!cO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(sw){return kO.warn(sw),!1}}clear(){if(cO())try{localStorage.clear()}catch(FO){kO.warn(FO)}}},LO={};Ub(LO,{HTTPS_API:()=>TL,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>jL,IS_GET_CAPABILITIES_SUPPORTED:()=>WL,IS_GET_SETTINGS_SUPPORTED:()=>HL,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>BL,IS_INSERTABLE_STREAM_SUPPORTED:()=>GL,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>iP,IS_RTC_RTP_SENDER_SUPPORTED:()=>UL,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>zL,IS_SEI_SUPPORTED:()=>KL,IS_SPC_SUPPORTED:()=>PL,basis:()=>QL,capabilityCheck:()=>tP,checkSystemRequirementsInternal:()=>fL,decodeSupportStatus:()=>mL,detectVideoCodecCapabilities:()=>aP,detectVideoDecoderCapabilities:()=>cP,detectVideoEncoderCapabilities:()=>sP,encodeSupportStatus:()=>pL,getBrowserInfo:()=>nL,getDisplayResolution:()=>AL,getH264ProfileLevelIds:()=>lP,isAddTransceiverSupported:()=>LL,isBrowserSupported:()=>aL,isCanvasCaptureStreamAPISupported:()=>bL,isCanvasSmallStreamSupported:()=>wL,isGetReceiversSupported:()=>kL,isGetSendersSupported:()=>OL,isGetTransceiversSupported:()=>ML,isGetUserMediaSupported:()=>SL,isMediaDevicesSupported:()=>cL,isMediaSessionSupported:()=>JL,isMediaStreamTrackGeneratorSupported:()=>hL,isMediaStreamTrackProcessorSupported:()=>uL,isReplaceTrackSupported:()=>VL,isRequestVideoFrameCallbackSupported:()=>rP,isSIMDSupported:()=>$L,isScaleResolutionDownBySupported:()=>CL,isScreenCaptureApiAvailable:()=>gL,isSelectedCandidatePair:()=>IL,isSetParametersSupported:()=>FL,isSetSinkIdSupported:()=>EL,isSmallStreamSupported:()=>DL,isStopTransceiverSupported:()=>xL,isTRTCSupported:()=>_L,isUnifiedPlanDefault:()=>NL,isUsedInHttpProtocol:()=>dL,isWebAudioSupported:()=>RL,isWebCodecSupported:()=>YL,isWebCodecsSupported:()=>sL,isWebRTCSupported:()=>qL,isWebTransportSupported:()=>XL});var PO={};Ub(PO,{AUDIO_LEVEL_SCALE:()=>wM,AudioCodecPipelineType:()=>MM,AudioDecoderDowngradeState:()=>cM,AudioPlayerMode:()=>SM,AudioType:()=>mM,BASIC_TYPE:()=>NM,BannedReason:()=>RM,CONNECTION_CLOSED_REASON:()=>JO,CheckPermissionType:()=>FM,ClientEvent:()=>XO,CodecType:()=>LM,ConnectionEvent:()=>YO,ConnectionState:()=>sM,DECODE_FAILED_ERROR_CODE:()=>PM,DenoiserMode:()=>CM,DeviceType:()=>BM,FacingMode:()=>IM,FrameWorkType:()=>qO,LeaveReason:()=>bM,LocalTrackEvent:()=>QO,MULTI_VIDEO_DATA_TYPE:()=>EM,MediaType:()=>hM,MediaTypeLabel:()=>pM,MonitorEventId:()=>vM,MutedFlag:()=>iM,NetworkQualityValue:()=>yM,PlayerState:()=>ZO,ReceiveMode:()=>TM,RemoteStreamType:()=>gM,RemoteTrackEvent:()=>rM,RoomEvent:()=>eM,SMALL_MODE:()=>VM,SceneNumber:()=>oM,StreamEvent:()=>$O,StreamType:()=>_M,SubscribeMediaType:()=>DM,TIMER_TYPE:()=>UM,TRACK_ACTION:()=>uM,TRACK_KIND:()=>dM,TrackEvent:()=>tM,UserRole:()=>aM,UserRoleNumber:()=>nM,VideoCodec:()=>kM,VideoCodecPipelineType:()=>OM,VideoContentHint:()=>xM,VideoDecoderDowngradeState:()=>lM,VideoPlayerMode:()=>AM,VideoType:()=>fM});var xO,UO,VO,FO,BO,HO,WO,jO,GO,zO,KO,qO=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(qO||{}),YO=((KO=YO||{}).TRACK_ADDED="track-added",KO.TRACK_UPDATED="track-updated",KO.TRACK_SUBSCRIBED="track-subscribed",KO.STREAM_ADDED="stream-added",KO.STREAM_REMOVED="stream-removed",KO.STREAM_UPDATED="stream-updated",KO.STREAM_PUBLISHED="stream-published",KO.STREAM_SUBSCRIBED="stream-subscribed",KO.STREAM_UNSUBSCRIBED="stream-unsubscribed",KO.STATE_CHANGED="state-changed",KO.ERROR="error",KO.CONNECTION_STATE_CHANGED="connection-state-changed",KO.FIREWALL_RESTRICTION="firewall-restriction",KO.SEI_MESSAGE="sei-message",KO.CLOSED="closed",KO),JO=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(JO||{}),XO=((zO=XO||{}).STREAM_ADDED="stream-added",zO.STREAM_REMOVED="stream-removed",zO.STREAM_UPDATED="stream-updated",zO.STREAM_SUBSCRIBED="stream-subscribed",zO.CONNECTION_STATE_CHANGED="connection-state-changed",zO.PEER_JOIN="peer-join",zO.PEER_LEAVE="peer-leave",zO.MUTE_AUDIO="mute-audio",zO.MUTE_VIDEO="mute-video",zO.UNMUTE_AUDIO="unmute-audio",zO.UNMUTE_VIDEO="unmute-video",zO.CLIENT_BANNED="client-banned",zO.NETWORK_QUALITY="network-quality",zO.AUDIO_VOLUME="audio-volume",zO.SEI_MESSAGE="sei-message",zO.ERROR="error",zO),$O=((GO=$O||{}).PLAYER_STATE_CHANGED="player-state-changed",GO.SCREEN_SHARING_STOPPED="screen-sharing-stopped",GO.CONNECTION_STATE_CHANGED="connection-state-changed",GO.DEVICE_AUTO_RECOVERED="device-auto-recovered",GO.ERROR="error",GO),QO=((jO=QO||{}).DEVICE_AUTO_RECOVERED="1",jO.DEVICE_RECOVER_FAILED="5",jO.DEVICE_CHANGED="2",jO.ERROR="3",jO.PUBLISH_STATE_CHANGED="4",jO.ENCODE_FAILED="6",jO.TRACK_ENDED="7",jO.RENDER="render",jO),ZO=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(ZO||{}),eM=((WO=eM||{}).PEER_JOIN="peer-join",WO.PEER_LEAVE="peer-leave",WO.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",WO.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",WO.BANNED="banned",WO.NETWORK_QUALITY="network-quality",WO.AUDIO_VOLUME="audio-volume",WO.SEI_MESSAGE="sei-message",WO.ERROR="error",WO.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",WO.REMOTE_PUBLISHED="remote-published",WO.REMOTE_UNPUBLISHED="remote-unpublished",WO.FIREWALL_RESTRICTION="firewall-restriction",WO.HEARTBEAT_REPORT="heartbeat-report",WO.CUSTOM_MESSAGE="custom-message",WO.LAYER_DATA="layerData",WO.FIRST_VIDEO_FRAME="first-video-frame",WO.DUMP="dump",WO.AUDIO_FRAME="audio-frame",WO.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",WO.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",WO.NTP_TIME_UPDATED="ntp-time-updated",WO),tM=(e=>(e.PLAYER_STATE_CHANGED="player-state-changed",e.MUTE="mute",e.UNMUTE="unmute",e.ERROR="error",e.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",e.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",e.FIRST_VIDEO_FRAME="first-video-frame",e.VIDEO_SIZE_CHANGED="video-size-changed",e))(tM||{}),rM=((HO=rM||{}).DECODE_FAILED="decode-failed",HO.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",HO.REMOTE_PUBLISH_CHANGED="remote-publish-changed",HO.AUDIO_FRAME_WITH_NTP="audio-frame-with-ntp",HO),iM=((BO=iM||{})[BO.VIDEO=1]="VIDEO",BO[BO.SMALL=2]="SMALL",BO[BO.AUX=4]="AUX",BO[BO.AUDIO=8]="AUDIO",BO[BO.VIDEO_MUTE=16]="VIDEO_MUTE",BO[BO.AUX_MUTE=32]="AUX_MUTE",BO[BO.AUDIO_MUTE=64]="AUDIO_MUTE",BO),oM=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(oM||{}),nM=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(nM||{}),aM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(aM||{}),sM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(sM||{}),cM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(cM||{}),lM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(lM||{}),dM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(dM||{}),uM=(e=>(e.ADD="add",e.REMOVE="remove",e))(uM||{}),hM=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(hM||{}),pM={1:"audio",2:"auxVideo",4:"video"},mM=((FO=mM||{})[FO.opus=111]="opus",FO),fM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(fM||{}),_M=(e=>(e.Big="big",e.Small="small",e))(_M||{}),gM=(e=>(e.Main="main",e.Aux="auxiliary",e))(gM||{}),EM=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(EM||{}),vM=((VO=vM||{})[VO.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",VO[VO.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",VO[VO.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",VO[VO.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",VO[VO.MUTE_AUDIO=32772]="MUTE_AUDIO",VO[VO.MUTE_VIDEO=32773]="MUTE_VIDEO",VO[VO.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",VO[VO.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",VO[VO.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",VO[VO.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",VO[VO.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",VO[VO.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",VO[VO.SWITCH_CAMERA=32780]="SWITCH_CAMERA",VO[VO.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",VO[VO.REPLACE_VIDEO=32782]="REPLACE_VIDEO",VO[VO.REPLACE_AUDIO=32783]="REPLACE_AUDIO",VO[VO.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",VO[VO.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",VO[VO.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",VO[VO.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",VO[VO.JOIN=32788]="JOIN",VO[VO.LEAVE=32789]="LEAVE",VO[VO.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",VO[VO.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",VO[VO.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",VO[VO.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",VO[VO.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",VO[VO.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",VO[VO.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",VO[VO.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",VO[VO.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",VO[VO.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",VO[VO.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",VO[VO.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",VO[VO.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",VO[VO.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",VO[VO.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",VO[VO.PUBLISH_AUX=32805]="PUBLISH_AUX",VO[VO.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",VO[VO.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",VO[VO.VIDEO_ENCODER=4004]="VIDEO_ENCODER",VO[VO.VIDEO_DECODER=4005]="VIDEO_DECODER",VO),yM=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(yM||{}),TM=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(TM||{}),IM=(e=>(e.user="user",e.environment="environment",e))(IM||{}),AM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(AM||{}),SM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(SM||{}),RM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(RM||{}),bM=((UO=bM||{})[UO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",UO[UO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",UO[UO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",UO[UO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",UO[UO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",UO[UO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",UO[UO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",UO[UO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",UO[UO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",UO),wM=1e8,CM=(e=>(e[e.NORMAL=0]="NORMAL",e[e.FAR_FIELD_REDUCTION=1]="FAR_FIELD_REDUCTION",e))(CM||{}),DM=class{constructor(){Bb(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},NM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(NM||{}),kM=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))(kM||{}),OM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(OM||{}),MM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(MM||{}),LM=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(LM||{}),PM=((xO=PM||{})[xO.SUCCESS=0]="SUCCESS",xO[xO.FAILED=1]="FAILED",xO[xO.WEBCODEC_INIT=2]="WEBCODEC_INIT",xO[xO.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",xO[xO.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",xO[xO.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",xO[xO.WASM_INIT=6]="WASM_INIT",xO[xO.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",xO[xO.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",xO[xO.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",xO[xO.TEST=10]="TEST",xO[xO.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",xO),xM=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(xM||{}),UM=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(UM||{}),VM=(e=>(e.CANVAS="canvas",e.API="api",e))(VM||{}),FM=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(FM||{}),BM=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(BM||{}),HM={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},WM={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(TD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(TD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},jM=(e,t)=>t?"".concat(Ew,"/").concat(e,"/").concat(t):"".concat(Ew,"/").concat(e,"/index.html"),GM=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(Iw);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function zM(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";ID(WM[t])?n=WM[t](r):SD(WM[t])&&(n=WM[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=GM();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(ID(l[t])?s=l[t](r):SD(l[t])&&(s=l[t]));let d=n;return gD()&&(c&&c[t]&&(ID(c[t])?a=c[t](r):SD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(jM("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(jM("en",s),"\n")),d}var KM,qM=Vb(qb(),1),YM=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Bb(this,"countMap",new Map),Bb(this,"distributionMap",new Map),Bb(this,"version"),Bb(this,"log",kO.createLogger({id:"kv"})),e&&(bO.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===Pw.AUDIO?501700:511700,cost:r})})),bO.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===Pw.AUDIO?501700:511700,error:r})})),bO.on("266",(e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})})))}getReportData(e,t){let r={msg_sdk_basic_info:{uint32_sdk_version:tN(this.version||nw),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}})),str_user_sig:e,bytes_report_token:t};return this.countMap.clear(),this.distributionMap.clear(),r}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1,max:n=5e3}=e;var a;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(RD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=Jb.UNKNOWN;r&&(RD(r)?i=r:(!AD(r.extraCode)||!AD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},JM=(e=>(e[e.enterRoom=500700]="enterRoom",e[e.exitRoom=500701]="exitRoom",e[e.switchRole=500702]="switchRole",e[e.destroy=500703]="destroy",e[e.startLocalAudio=500704]="startLocalAudio",e[e.updateLocalAudio=500705]="updateLocalAudio",e[e.stopLocalAudio=500706]="stopLocalAudio",e[e.startLocalVideo=500707]="startLocalVideo",e[e.updateLocalVideo=500708]="updateLocalVideo",e[e.stopLocalVideo=500709]="stopLocalVideo",e[e.startScreenShare=500710]="startScreenShare",e[e.updateScreenShare=500711]="updateScreenShare",e[e.stopScreenShare=500712]="stopScreenShare",e[e.startRemoteVideo=500713]="startRemoteVideo",e[e.updateRemoteVideo=500714]="updateRemoteVideo",e[e.stopRemoteVideo=500715]="stopRemoteVideo",e[e.muteRemoteAudio=500716]="muteRemoteAudio",e[e.setRemoteAudioVolume=500717]="setRemoteAudioVolume",e[e.use=500718]="use",e[e.switchRoom=500719]="switchRoom",e[e.sendSEIMessage=5e5]="sendSEIMessage",e[e.sendCustomMessage=500001]="sendCustomMessage",e))(JM||{}),XM=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(XM||{}),$M=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))($M||{}),QM=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(QM||{}),ZM=((KM=ZM||{})[KM.DECODER_TYPE=514700]="DECODER_TYPE",KM[KM.DECODER_HW_SW=514701]="DECODER_HW_SW",KM[KM.DECODE_RESULT=514702]="DECODE_RESULT",KM[KM.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",KM[KM.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",KM[KM.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",KM[KM.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",KM[KM.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",KM[KM.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",KM[KM.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",KM[KM.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",KM[KM.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",KM[KM.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",KM[KM.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",KM[KM.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",KM[KM.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",KM[KM.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",KM),eL=new YM(!0),tL=new YM(!1),rL=eL,iL={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},oL=new Map([[GN,["Firefox",zN]],[JN,["Edg",XN]],[jk,["Chrome",Kk]],[Yk,["Safari",Xk]],[rk,["TBS",ik]],[ok,["XWEB",nk]],[lk&&UN,["WeChat",dk]],[mk,["QQ(Win)",fk]],[hk,["QQ(Mobile)",pk]],[uk,["QQ(Mobile X5)",pk]],[_k,["QQ(Mac)",gk]],[Ek,["QQ(iPad)",vk]],[wk,["MI",Ck]],[Dk,["HW",Ok]],[Mk,["Samsung",Lk]],[Pk,["OPPO",xk]],[Uk,["VIVO",Vk]],[qN,["EDGE",YN]],[QN,["SogouMobile",ZN]],[ek,["Sogou",tk]]]);function nL(){let e=oL.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var aL=function(){return!(Rk||qN||JN&&$N<80||GN&&KN<56)},sL=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},cL=function(){if(!navigator.mediaDevices)return dL()||kO.error(WM.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},lL=!1;function dL(){return"http:"===location.protocol&&!sO&&(lL||kO.error(zM({key:HM.NOT_SUPPORTED_HTTP})),lL=!0,!0)}var uL=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},hL=function(){return!(null==window||!window.MediaStreamTrackGenerator)},pL=function(){return Wb(this,null,(function*(){var e,t,r;if(iL.detail.isH264EncodeSupported&&iL.detail.isVp8EncodeSupported)return{isH264EncodeSupported:iL.detail.isH264EncodeSupported,isVp8EncodeSupported:iL.detail.isVp8EncodeSupported,isH265EncodeSupported:iL.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement(Pw.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(BO){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}}))},mL=function(){return Wb(this,null,(function*(){var e;if(iL.detail.isH264DecodeSupported&&iL.detail.isVp8DecodeSupported)return{isH264DecodeSupported:iL.detail.isH264DecodeSupported,isVp8DecodeSupported:iL.detail.isVp8DecodeSupported,isH265DecodeSupported:iL.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;LL()?(o.addTransceiver(Pw.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(HO){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}}))};var fL=oN((e=>Wb(void 0,null,(function*(){let t=Date.now(),r=qL(),i=cL(),o=sL();if(iL.detail.isWebRTCSupported=r,iL.detail.isMediaDevicesSupported=i,iL.detail.isWebCodecsSupported=o,iL.detail.isScreenShareSupported=gL(),iL.detail.isSmallStreamSupported=DL(),37===e)return Object.assign(iL.detail,yield function(){return Wb(this,null,(function*(){return yL||(yL=new Promise((e=>Wb(this,null,(function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!sL())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout((()=>{n(),e(t)}),5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map((e=>Wb(this,null,(function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise(((t,o)=>Wb(this,null,(function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(KO){o(KO)}}))))}catch(p){return kO.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise(((r,o)=>Wb(this,null,(function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(KO){o(KO)}}))))}catch(p){kO.warn("".concat(e.type," decoder error:"),p)}return i})))))).forEach((e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)})),n(),e(t)}catch(a){n(),kO.warn("detectWebCodecsSupported failed:",a),e(t)}})))),yL)}))}()),iL.detail.isBrowserSupported=o,iL.result=i&&o,iL.result||kO.error("".concat(navigator.userAgent," ").concat($D(iL.detail,!1))),eP(e),rL.addNumber({key:523800,value:Date.now()-t}),iL;if(iL.result&&iL.detail.isH264EncodeSupported&&iL.detail.isVp8EncodeSupported&&iL.detail.isH265EncodeSupported&&iL.detail.isH264DecodeSupported&&iL.detail.isVp8DecodeSupported&&iL.detail.isH265DecodeSupported)return iL;let n=aL(),{encode:a,decode:s}=yield function(){return Wb(this,null,(function*(){let[e,t]=yield Promise.all([pL(),mL()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}}))}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield pL();kO.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&BN&&Wk&&!ok&&!rk){let{encode:e,decode:t}=yield function(){return Wb(this,null,(function*(){return vL||(vL=new Promise((e=>Wb(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),d.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>d.addIceCandidate(e.candidate))),d.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=qM.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=qM.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Wb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===Pw.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===Pw.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),kO.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&kO.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(pO)),e))),vL)}))}();c=e,d=t}return iL.result=n&&r&&i&&(c||l)&&(d||h),iL.detail.isBrowserSupported=n,iL.detail.isWebRTCSupported=r,iL.detail.isH264EncodeSupported=c,iL.detail.isVp8EncodeSupported=l,iL.detail.isH265EncodeSupported=u,iL.detail.isH264DecodeSupported=d,iL.detail.isVp8DecodeSupported=h,iL.detail.isH265DecodeSupported=p,iL.result||kO.error("".concat(navigator.userAgent," ").concat($D(iL.detail,!1))),eP(),rL.addNumber({key:523800,value:Date.now()-t}),iL})))),_L=function(){return iL.result},gL=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},EL="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,vL=null;var yL=null;var TL=(e,t,r)=>{"http:"===location.protocol&&!sO&&(e[t]=()=>{throw new $b({code:Jb.INVALID_OPERATION,message:WM.NOT_SUPPORTED_HTTP})})},IL=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(bD(e.selected)&&!e.selected)};function AL(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function SL(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function RL(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function bL(){return"captureStream"in HTMLCanvasElement.prototype}function wL(){return!(lk||FN||zk&&zk<63)&&!(!aL()||!bL())}function CL(){return!(zk<74||qN||tO<11||KN<46)}function DL(){return wL()||CL()}var NL=function(){if(AD(window.RTCRtpTransceiver)||!LL()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:fC}),e.addTransceiver(Pw.AUDIO),t=!0}catch(sw){}return null==e||e.close(),t};function kL(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function OL(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function ML(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function LL(){return!(11===tO&&!aO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var PL=!(!LL()||Wk&&zk<86);function xL(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var UL="RTCRtpSender"in window;function VL(){return UL&&"replaceTrack"in window.RTCRtpSender.prototype}function FL(){return UL&&"setParameters"in window.RTCRtpSender.prototype&&OL()}var BL="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,HL=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,WL=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,jL="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,GL=UL&&"createEncodedStreams"in window.RTCRtpSender.prototype&&Hk()>=86,zL="RTCRtpScriptTransform"in window,KL=UL&&(GL||zL),qL=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function YL(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return AD(window.AudioDecoder)||(e.AudioDecoder=!0),AD(window.AudioEncoder)||(e.AudioEncoder=!0),AD(window.VideoDecoder)||(e.VideoDecoder=!0),AD(window.VideoEncoder)||(e.VideoEncoder=!0),AD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function JL(){return"mediaSession"in navigator&&!AD(navigator.mediaSession.setActionHandler)}function XL(){return!AD(window.WebTransport)}function $L(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function QL(){let e={browser:"".concat(lO.name,"/").concat(lO.version),os:vO(),displayResolution:AL(),isScreenShareSupported:gL(),isWebRTCSupported:qL(),isGetUserMediaSupported:SL(),isWebAudioSupported:RL(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:YL(),isMediaSessionSupported:JL(),isWebTransportSupported:XL()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var ZL="checkResult";function eP(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;MO.setItem(ZL+e,{ua:navigator.userAgent,checkResult:iL})}function tP(e){dL();let t=MO.getItem(ZL+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!wD(e)&&Object.keys(t).every((t=>t in e))}(t.checkResult.detail,iL.detail)&&(iL=t.checkResult),fL(e)}function rP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var iP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function oP(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var nP=!1;function aP(){return Wb(this,null,(function*(){var e;try{if(nP||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=yO(),r=TO();if(0===t||0===r)return;nP=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([sP(i),cP(i)]);o&&Object.keys(o).forEach((e=>{let i=oP(e.toLowerCase());rL.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})})),n&&Object.keys(n).forEach((e=>{let i=oP(e.toLowerCase());rL.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})}))}catch(FO){kO.info("detectVideoCodecCapabilities failed",FO)}}))}function sP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return Wb(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(cw){}return n}))}function cP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return Wb(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(cw){}return n}))}function lP(){let e={sender:new Set,receiver:new Set,senderHex:new Set,receiverHex:new Set};try{if(RTCRtpSender&&"function"==typeof RTCRtpSender.getCapabilities){let t=RTCRtpSender.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.senderHex.add(t);let i=parseInt(t,16);isNaN(i)||e.sender.add(i)}}}))}if(RTCRtpReceiver&&"function"==typeof RTCRtpReceiver.getCapabilities){let t=RTCRtpReceiver.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.receiverHex.add(t);let i=parseInt(t,16);isNaN(i)||e.receiver.add(i)}}}))}}catch(FO){kO.warn("get H264 profile levelId failed",FO)}return e}var dP=Vb(jb(),1),uP=Symbol("instance"),hP=Symbol("cacheResult"),pP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,EP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},mP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var fP=new Map;function _P(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=fP.get(i)||[];fP.has(i)||fP.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=vP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[hP]:Promise.resolve(i[hP]);i.state instanceof pP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof pP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new mP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new mP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new pP(u,t,a);EP.call(i,h);let p=e=>{var o;return i[hP]=e,h.aborted||(EP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[hP])),e},m=e=>(EP.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(zO){return m(new mP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(zO),zO instanceof Error?zO:new Error(String(zO))))}}}}var gP="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function EP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(vP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var vP=class e extends dP.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[uP];o?this.name=o.name+"-"+o.count++:i[uP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=fP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);fP.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};gP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){EP.call(this,e)}};vP.STATECHANGED="stateChanged",vP.UPDATEAFSM="updateAFSM",vP.INIT="[*]",vP.ON="on",vP.OFF="off",vP.instances=new Map,vP.instances2=new WeakMap;var yP="undefined"!=typeof window,TP=yP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},IP=yP&&window.cancelIdleCallback||function(e){clearTimeout(e)},AP=yP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),SP=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=Lb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=Pb(Lb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=UD(),o=()=>{if(r=UD()-i,r>=t.delay&&(i=UD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=TP(o,{timeout:t.delay})};return t.ricID=TP(o,{timeout:t.delay})}static raf(t){let r,i=UD(),o=()=>document.hidden&&t.backgroundTask?(r=UD()-i,i=UD(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=UD()-i,r>=t.delay&&(i=UD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=UD()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&AP&&AP(i),o&&IP(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Bb(SP,"taskMap",new Map),Bb(SP,"currentTaskID",1),Bb(SP,"sharedWorker",null),Bb(SP,"workerTasks",new Map);var RP=SP;Pw.SEI_MESSAGE;var bP={LOADED_DATA:Pw.LOADEDDATA,LOADED_META_DATA:Pw.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:Pw.RESIZE,TIME_UPDATE:"time-update"},wP={};Ub(wP,{create:()=>DP,remove:()=>NP});var CP=new WeakMap;function DP(e,t){CP.has(e)||CP.set(e,[]);let r=CP.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function NP(e){let t=CP.get(e);t&&(t.forEach((e=>e())),CP.delete(e))}var kP=new class{constructor(){Bb(this,"_roomIdMap",new Map),Bb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:nw,env:Sw.QCLOUD,browserVersion:lO.name+lO.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){sO||!kO.isAbleToUpload||this._configs.env===Sw.QCLOUD&&this.uploadEventToKibana(Pb(Lb({},e),{result:"success"}))}logFailedEvent(e){if(sO||!kO.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||Jb.UNKNOWN};this._configs.env===Sw.QCLOUD&&this.uploadEventToKibana(Pb(Lb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:ew(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:nw,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=DO.enable?hN(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(nD(this._configs.sdkAppId,Aw.LOG),n)}sendRequest(e,t){setTimeout((()=>yN({url:e,body:t,priority:"low"}).catch((()=>{}))),2e3)}},OP=new WeakMap;function MP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=bN({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=OP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=OP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;AN(i)&&i.call(this,t,r),null!=(o=OP.get(e))&&o.has(n)&&(OP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=OP.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):OP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=OP.get(e))?void 0:t.delete(n)}))},a}}var LP=class extends vP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.options=e,this.kind=t,Bb(this,"id"),Bb(this,"element",null),Bb(this,"track"),Bb(this,"url"),Bb(this,"attr"),Bb(this,"mode"),Bb(this,"muted"),Bb(this,"_log"),Bb(this,"_pausedRetryCount"),Bb(this,"_isElementPlayingFired",!1),Bb(this,"_interval"),Bb(this,"_delayDestroyTimeoutId",0),Bb(this,"_playSuccessResolve"),Bb(this,"_isReplayByRecreateMediaStreamCalled",!1),Bb(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=wC,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&!1===(null==(e=this.element)?void 0:e.paused)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return Wb(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(sw){let t=zM({key:HM.PLAY_FAILED,data:{media:this.kind,error:sw}});if(this._log.warn(sw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new $b({code:Jb.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!Jk?this._delayDestroyTimeoutId||(null==(t=this.element)||t.remove(),this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(Pw.ENDED),this._interval>0&&RP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.src="",this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():iO?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return DP(this.element,this.element).add(Pw.PLAYING,e).add(Pw.ENDED,e).add(Pw.PAUSE,e).add(Pw.ERROR,e).add(Pw.LOADEDDATA,e).add(Pw.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==wP||wP.create(e,e).add(Pw.ENDED,t).add(Pw.MUTE,t).add(Pw.UNMUTE,t),e.readyState===Pw.ENDED&&this.handleTrackEvent({type:Pw.ENDED}),e.muted&&this.handleTrackEvent({type:Pw.MUTE})}}bindAutoPlayEvent(){bO.on(CO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&NP(e)}unbindEvents(){this.element&&NP(this.element),this.unbindTrackEvents(),bO.off(CO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case Pw.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(Pw.PLAYING),this._interval&&(RP.clearTask(this._interval),this._interval=-1);break;case Pw.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(Pw.ENDED);break;case Pw.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(Pw.PAUSE),FN&&(this._interval=RP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case Pw.ERROR:if(this.element&&this.element.error){this.handlePaused(Pw.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),kP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(uC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),kk||Nk?this.emit(bP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case Pw.LOADEDDATA:this.kind===Pw.VIDEO&&this.emit(bP.LOADED_DATA);break;case Pw.LOADEDMETADATA:this.kind===Pw.VIDEO&&this.emit(bP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),kP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),rL.addSuccessEvent({key:this.kind===Pw.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),kP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),rL.addFailedEvent({key:this.kind===Pw.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(bP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{iN(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),iN(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){return Wb(this,null,(function*(){switch(e.type){case Pw.ENDED:this.handleStopped(Pw.ENDED);break;case Pw.MUTE:this.handlePaused(Pw.MUTE);break;case Pw.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.resume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(Pw.UNMUTE))}}))}handlePlaying(e){var t;return this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),e}handlePaused(e){return this._log.debug("handlePaused",e),e}handleStopped(e){return this._log.debug("handleStopped",e),e}getElement(){return this.element}};Bb(LP,"PlayerEvent",bP),Fb([MP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],LP.prototype,"doReplayByRecreateMediaStream",1),Fb([_P([],"PLAYING",{sync:!0,success(e){this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}})],LP.prototype,"handlePlaying",1),Fb([_P("PLAYING","PAUSED",{ignoreError:!0,sync:!0,success(e){this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}})],LP.prototype,"handlePaused",1),Fb([_P([],"STOPPED",{sync:!0,success(e){this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}})],LP.prototype,"handleStopped",1);var PP,xP="trtc_autoplay",UP="".concat(xP,"_mask"),VP="".concat(xP,"_wrapper"),FP="".concat(xP,"_header"),BP="".concat(xP,"_content"),HP="".concat(xP,"_action_wrapper"),WP="".concat(xP,"_question"),jP="".concat(xP,"_collapse"),GP="".concat(xP,"_action_confirm"),zP="".concat(xP,"_detail"),KP="#2473E8",qP="dialog",YP="".concat(qP,"-show"),JP="".concat(qP,"-1"),XP="".concat(qP,"-2"),$P=!1,QP=!1,ZP=()=>QP,ex="".concat(Ew,"/").concat(gD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),tx="<br><a href='".concat(ex,"' target='_blank'>").concat(gD()?"其他方案?":"Any other solution?","</a>"),rx="".concat(gD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(tx):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(tx)),ix=class{constructor(){if(Bb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Bb(this,"_dialogNode",null),Bb(this,"_bodyPosition",""),Bb(this,"_showDetail",!1),Bb(this,"_isCollapseClicked",!1),Bb(this,"_isQuestionClicked",!1),gD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!$P){let e=document.createElement("style");e.innerHTML=".".concat(UP,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(UP," div:not(.").concat(HP,"){display:block !important;}.").concat(VP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(VP," a{color:").concat(KP,";}.").concat(FP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(BP,"{margin:8px 0;}.").concat(HP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(jP,"{margin-right:auto;cursor:pointer}.").concat(WP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(GP,"{margin-left:8px;color:#fff;background:").concat(KP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(GP,":hover{opacity:0.9;}.").concat(jP,",.").concat(GP,",.").concat(BP,",.").concat(WP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(VP,"{width:80vw;}}"),document.head.appendChild(e),$P=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(UP,"\"><div class='").concat(VP,"'><div class='").concat(FP,"'>").concat(location.host,"</div><div class='").concat(BP,"'>").concat(this.content,"</div><div class='").concat(zP,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(rx,"</div><div class='").concat(HP,"'></div></div></div>").trim();let t=document.createElement("button");t.className=GP,t.innerText=gD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=WP,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=jP,i.innerText="".concat(gD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(HP));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){ZP()||(QP=!0,this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(VP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",kO.info("show autoplay dialog"),kP.uploadEvent({log:YP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null,QP=!1)}onConfirm(){kO.warn("confirm clicked, try resume stream"),bO.emit(CO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(zP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||kP.uploadEvent({log:JP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(ex,"_blank"),this._isQuestionClicked||kP.uploadEvent({log:XP}),this._isQuestionClicked=!0}},ox=class extends LP{constructor(e){super(e,Pw.VIDEO),Bb(this,"stat",{}),Bb(this,"_calculateTimeout",-1),Bb(this,"viewMirror",!1),Bb(this,"objectFit"),Bb(this,"container"),Bb(this,"canvas"),Bb(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,AD(e.viewMirror)||(this.viewMirror=e.viewMirror),AD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement(Pw.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,this.track&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(Pw.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(Pw.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add(Pw.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===Pw.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===Pw.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=wC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!ZP()&&(this._log.info("[".concat(wC-this._pausedRetryCount+1,"/").concat(wC,"] ").concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;l===Pw.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===Pw.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===Pw.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(bP.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(bP.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(rP()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(sw){this._log.warn("init stat failed",sw)}}};function nx(e,t){return Wb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),kO.info("worklet addModule success")}catch(sw){throw kO.info("worklet addModule catch error. ".concat(sw.message)),sw}}))}"undefined"!=typeof AudioContext?PP=AudioContext:"undefined"!=typeof webkitAudioContext?PP=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(PP=mozAudioContext);var ax,sx=1500,cx=-1,lx=0,dx=-1,ux=!1;!function e(){try{if(ax)return;(ax=new PP({sampleRate:48e3})).onstatechange=()=>{kO.info("context state: ".concat(ax.state).concat("running"!==ax.state?" visibilityState: ".concat(document.visibilityState):"")),hx()},clearTimeout(cx)}catch(XB){kO.error("initAudioContext failed: ".concat(XB," typeof AudioContextClass: ").concat(typeof PP)),cx=setTimeout(e,1e3)}}();var hx=()=>{"suspended"===ax.state?(lx=UD(),-1===dx&&(dx=setTimeout((()=>{"suspended"===ax.state&&(ux=!0,bO.emit("155",{isSuspended:!0}))}),sx)),fx(),document.addEventListener("click",hx)):"interrupted"===ax.state?fx():(lx&&(rL.addNumber({key:507800,value:UD()-lx,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),lx=0),-1!==dx&&(clearTimeout(dx),dx=-1,ux&&(ux=!1,bO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",hx),document.removeEventListener("click",hx))},px=0,mx=-1;function fx(){return new Promise(((e,t)=>{if("running"===ax.state)return e();Date.now()-px<1e3?(clearTimeout(mx),mx=setTimeout((()=>{px=Date.now(),ax.resume().then(e,t)}),1e3)):(clearTimeout(mx),px=Date.now(),ax.resume().then(e,t))})).catch((e=>{kO.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",hx)}))}document.addEventListener("click",hx);var _x=e=>ax,gx=class{constructor(e){this.name=e,Bb(this,"node"),Bb(this,"node2"),Bb(this,"pre",new Set),Bb(this,"next",new Set),Bb(this,"context"),Bb(this,"connectedNodes",new Set),Bb(this,"nextInputChannelMap",new Map),Bb(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((t=>t.channelCount=e))}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(lC){kO.error(lC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),rL.addSuccessEvent({key:502701})}catch(HO){kO.error(HO),rL.addFailedEvent({key:502701,error:HO})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),rL.addSuccessEvent({key:502702})}catch(sw){kO.error(sw),rL.addFailedEvent({key:502702,error:sw})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)}))}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},Ex=class extends gx{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Bb(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},vx=class{constructor(){Bb(this,"source",new gx),Bb(this,"gain",new gx),Bb(this,"destination",new gx)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(_x().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(Ax(e))}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},yx=class extends vx{constructor(e){super(),this.context=e,Bb(this,"aec",new gx("aec")),Bb(this,"mixNode",new gx("mixNode")),Bb(this,"silentNode",new gx("silentNode")),Bb(this,"denoiser",new gx("denoiser")),Bb(this,"voiceChanger",new gx("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},Tx=class{constructor(){Bb(this,"audioContext",_x()),Bb(this,"destination",this.audioContext.createMediaStreamDestination()),Bb(this,"inputs",new Set),Bb(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},Ix=new WeakMap;function Ax(e){let t=Ix.get(e);if(t)return t;let r=_x();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return Ix.set(e,t),t}var Sx=class e{constructor(e){Bb(this,"_volume",0),Bb(this,"_volumeDb",0),Bb(this,"_log"),Bb(this,"_scriptProcessorNode",null),Bb(this,"_audioWorkletNode",null),Bb(this,"_interval",200),Bb(this,"ready",this.preload());let{log:t}=e;this._log=t,bO.on(CO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=nx(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(FO){this._log.error("volumeMeter init audio worklet error: ".concat(FO)),kP.logFailedEvent({userId:this._log.userId,eventType:uC.LOAD_WORKLET,error:FO}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=_x().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(FO){this._log.error("volumeMeter init script processor error: ".concat(FO))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,bO.off(CO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};Bb(Sx,"lastMessageTime",0),Bb(Sx,"audioContext",_x()),Bb(Sx,"workletReady");var Rx=Sx,bx=class extends gx{constructor(e){super(),Bb(this,"_volumeMeter"),this._volumeMeter=new Rx(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Wb(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},wx=Rx,Cx=Vb(jb(),1),Dx=e=>t=>t.deviceId===e,Nx=class{constructor(e,t){Bb(this,"kind"),Bb(this,"type"),Bb(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&Mx(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(Dx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");kO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(Dx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");kO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},kx=class extends Cx.EventEmitter{constructor(){super(),Bb(this,"audioInputs",new Nx(Pw.AUDIO,"Input")),Bb(this,"videoInputs",new Nx(Pw.VIDEO,"Input")),Bb(this,"audioOutputs",new Nx(Pw.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||RP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){Lx().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield Lx(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}hasBlueTooth(){var e;if((null==(e=_x())?void 0:e.outputLatency)>150)return!0;let t=["bluetooth","air","wireless","bt","tws","buds","headset","headphone"];return this.audioOutputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))}},Ox=dw||lw?null:new kx;function Mx(e){return e.deviceId===e.groupId&&""===e.groupId}function Lx(){return Wb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(dL()||!cL())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{Mx(e)&&(e.kind===Pw.AUDIO_INPUT?r.audio=!0:e.kind===Pw.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&fx()}catch(HO){kO.debug("capture before getDevices failed: ",HO)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&Fx.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function Px(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Ox.update(e?1:0).then((e=>e.audioInputs.devices))}function xx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Ox.update(e?2:0).then((e=>e.videoInputs.devices))}var Ux=!1;function Vx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Wb(this,null,(function*(){return(FN||Yk)&&(e=!1),Ox.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var Fx=new Set;function Bx(e,t){return Wb(this,null,(function*(){let r=(yield Px()).find((e=>e.deviceId===CC));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var Hx,Wx=class extends vx{constructor(e){super(),this.log=e,Bb(this,"volumeMeter"),Bb(this,"volumeMeterAfter3A"),Bb(this,"volumeDestination"),Bb(this,"analyser",new Ex),this.volumeMeter=new bx({log:this.log}),this.volumeMeterAfter3A=new bx({log:this.log}),this.volumeDestination=new gx,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},jx=class e extends LP{constructor(e){super(e,Pw.AUDIO),Bb(this,"_outputDeviceId"),Bb(this,"_volume",1),Bb(this,"_destination",_x().createMediaStreamDestination()),Bb(this,"pipeline"),Bb(this,"volumeMeterMode","worklet"),this.mode=0,e.url&&(this.url=e.url),this.pipeline=new Wx(this._log)}get duration(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.duration)||0))}get currentTime(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.currentTime)||0))}set currentTime(e){this.element&&(this.element.currentTime=e/1e3)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===Qk||"15.3"===Qk||"15.4"===Qk)&&this.muted)return void this._log.info("audioElement is muted.");let t=Hx||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.url&&(t.crossOrigin="anonymous",t.src=this.url),this.element=t,RD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===Hx&&(Hx=void 0),this.options.enableTimeupdateEvent&&(this.element.ontimeupdate=()=>this.emit(bP.TIME_UPDATE,this.currentTime)),this.bindElementEvents()}play(t){return Wb(this,null,(function*(){if(this.track||this.url)return!this.pipeline.source.node&&this.track&&this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?(this.pipeline.volumeMeter.init(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(_x().createAnalyser()),function(){Wb(this,null,(function*(){try{Ux||(Ux=!0,kO.info("speakers:".concat((yield Vx()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),Hb(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}setSinkId(e){return Wb(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},Gx=class extends jx{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(bP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}},zx=class extends jx{constructor(e){super(e),Bb(this,"_sourceElement"),Bb(this,"_output",new gx),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(_x().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(bP.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):FN||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),NP(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play()))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&Jk&&(Hx=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},Kx=class extends vP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?zx:ox)}=e;var a;super(),Bb(this,"id",OO()),Bb(this,"userId",""),Bb(this,"isRemote"),Bb(this,"mediaType"),Bb(this,"room"),Bb(this,"user"),Bb(this,"_log"),Bb(this,"_inputTrack"),Bb(this,"_outputTrack"),Bb(this,"isPlayCalled"),Bb(this,"container",null),Bb(this,"player"),Bb(this,"subVideoPlayerMap"),Bb(this,"muted",!1),Bb(this,"abortCtrl"),Bb(this,"objectFit","cover"),Bb(this,"mirror"),Bb(this,"rotation"),Bb(this,"isScreen",!1),Bb(this,"manager"),Bb(this,"trackSettings"),Bb(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=kO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof SF?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof SF}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(bP.PLAYER_STATE_CHANGED,(e=>{bO.emit(CO.PLAYER_STATE_CHANGED,Lb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===Pw.VIDEO&&(this.player.on(bP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(bP.LOADED_DATA),bO.emit(CO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(bP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(bP.LOADED_META_DATA)})),this.player.on(bP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))})),this.player.on(bP.RESIZE,(e=>{this.emit("video-size-changed",Lb({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(bP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||kO}get kind(){return 1===this.mediaType?Pw.AUDIO:Pw.VIDEO}get isAudio(){return this.kind===Pw.AUDIO}get strMediaType(){return 4===this.mediaType?Pw.VIDEO:2===this.mediaType?Pw.SCREEN:Pw.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return Wb(this,null,(function*(){let r=CD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!AD(t.muted)&&this.setPlayerMute(t.muted),t&&!AD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof ox&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),CD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!AD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===Pw.VIDEO)&&this.setPlayerMute(!0),t&&!AD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof ox&&(this.player.setObjectFit(this.objectFit),t&&!AD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof ox&&this.player.setContainer(r)),bO.emit(CO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),CD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(GO){throw this.handleAutoPlayFailed(GO),GO}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==Pw.VIDEO||AD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(bD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return Wb(this,null,(function*(){if(!this._outputTrack||this.kind===Pw.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(AD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new ox({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(SN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Wb(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),bO.emit(e?CO.TRACK_MUTED:CO.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){DP(e,e).add(Pw.MUTE,this.onTrackMuted).add(Pw.UNMUTE,this.onTrackUnmuted).add(Pw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Pw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){NP(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(SN(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new ix;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof ox?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===bP.RESIZE&&!n&&!a||e===bP.LOADED_META_DATA&&!n&&!a||(e===bP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,cN(this.rotation)&&([n,a]=[a,n]),this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};Fb([_P([],vP.INIT,{sync:!0})],Kx.prototype,"close",1);var qx=Object.prototype.hasOwnProperty;var Yx=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(ED(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(qx.call(e,t))return!1;return!0}return!1},Jx=bN({retryFunction:function(e){return Wb(this,null,(function*(){let t=function(e){return{audio:$x(e),video:Qx(e)}}(e);kO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield Px(),kO.info("microphones: ".concat(XD(r.map((e=>Pb(Lb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield xx(),kO.info("cameras: ".concat(XD(i,{keysToInclude:o}))));try{let r=yield navigator.mediaDevices.getUserMedia(t);return WL&&r.getTracks().forEach((t=>{var r;let i=t.getCapabilities();kO.info("".concat(t.kind," capabilities: ").concat(XD(i,{keysToInclude:PC}))),!AD(e.echoCancellation)&&-1===(null==(r=i.echoCancellation)?void 0:r.indexOf(e.echoCancellation))&&kO.warn("Invalid argument for 'echoCancellation'. Expected one of [".concat(JSON.stringify(i.echoCancellation),"], but received '").concat(e.echoCancellation,"'"))})),t.audio&&fx(),r}catch(GO){let{message:o}=GO;throw"NotFoundError"===GO.name&&(e.video&&i&&0===i.length&&(o=zM({key:HM.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=zM({key:HM.MICROPHONE_NOT_FOUND}))),new $b({code:Jb.INITIALIZE_FAILED,name:GO.name,message:o,constraint:GO.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name||"AbortError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!Yk||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&Xx(o[0].microphoneId,!1),o[0].cameraId&&Xx(o[0].cameraId,!0)},onRetrying:e=>{kO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{kP.logFailedEvent({eventType:uC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{kP.logSuccessEvent({eventType:uC.GET_USER_MEDIA_RETRY}),kP.uploadEvent({log:"stat-".concat(uC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function Xx(e,t){return Wb(this,null,(function*(){let r=(t?yield xx():yield Px()).find((t=>t.deviceId===e));r&&ID(r.getCapabilities)&&kO.warn(XD(r.getCapabilities(),{keysToInclude:PC}))}))}function $x(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!Yx(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(RD(e.channelCount)&&(t.channelCount=e.channelCount),(bD(e.echoCancellation)||"remote-only"===e.echoCancellation||"all"===e.echoCancellation)&&(t.echoCancellation=e.echoCancellation),bD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),bD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!Yx(t)||t)}function Qx(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!Yx(r)?r:(e.width&&(r.width={ideal:e.width},t&&!GN&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!GN&&(r.height.max=e.height)),GN&&Tk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!Yx(r)||r)}var Zx=Jx;function eU(e){return tU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Wb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function tU(e){return function(t,r,i){return i.value=e(i.value,r),i}}var rU=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&kO.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{kO.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),iU=0,oU=class{constructor(){Bb(this,"log",kO.createLogger({id:"fq".concat(++iU)})),Bb(this,"isRunning",!1),Bb(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=Lb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},nU=new WeakMap,aU=new WeakMap;function sU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=nU.get(this)||new oU;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return nU.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function cU(e,t){return tU(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=UD();return kD(e)?e.then((e=>(t?rL.addSuccessEvent({key:i,cost:UD()-s}):rL.addSuccessEvent({key:i}),e))).catch((e=>{throw rL.addFailedEvent({key:i,error:e}),e})):(rL.addSuccessEvent({key:i}),e)}catch(cw){throw rL.addFailedEvent({key:i,error:cw}),cw}}))}var lU={};function dU(){}Ub(lU,{Events:()=>RU,Inspect:()=>_U,LastSink:()=>gU,Sink:()=>EU,Subscribe:()=>vU,TimeoutError:()=>bU,audit:()=>NV,bindCallback:()=>nV,bindNodeCallback:()=>aV,buffer:()=>FU,bufferCount:()=>VU,bufferTime:()=>pF,call:()=>uU,catchError:()=>fF,combineLatest:()=>LU,concat:()=>kU,concatMap:()=>tF,concatMapTo:()=>rF,count:()=>hV,create:()=>TU,debounce:()=>MV,debounceTime:()=>LV,defer:()=>WU,delay:()=>mF,deliver:()=>IU,dispose:()=>pU,elementAt:()=>PV,empty:()=>lV,every:()=>BV,exhaustMap:()=>lF,exhaustMapTo:()=>dF,filter:()=>_V,find:()=>xV,findIndex:()=>UV,first:()=>VV,fromAnimationFrame:()=>iV,fromArray:()=>KU,fromEvent:()=>$U,fromEventPattern:()=>XU,fromFetch:()=>ZU,fromIterable:()=>eV,fromPromise:()=>QU,fromReadableStream:()=>rV,fromReader:()=>tV,groupBy:()=>uF,identity:()=>hU,ignoreElements:()=>gV,iif:()=>MU,inspect:()=>mU,interval:()=>qU,last:()=>FV,map:()=>GV,mapTo:()=>zV,max:()=>pV,merge:()=>DU,mergeMap:()=>nF,mergeMapTo:()=>aF,min:()=>mV,never:()=>sV,nothing:()=>dU,of:()=>zU,pairwise:()=>WV,pipe:()=>yU,race:()=>NU,range:()=>oV,reduce:()=>uV,retry:()=>TF,scan:()=>HV,share:()=>CU,shareReplay:()=>OU,skip:()=>IV,skipUntil:()=>AV,skipWhile:()=>SV,startWith:()=>xU,subject:()=>HU,subscribe:()=>EF,sum:()=>fV,switchMap:()=>XV,switchMapTo:()=>QV,take:()=>EV,takeLast:()=>TV,takeUntil:()=>vV,takeWhile:()=>yV,tap:()=>vF,throttle:()=>CV,throwError:()=>cV,timeInterval:()=>hF,timeout:()=>yF,timer:()=>YU,toPromise:()=>_F,toReadableStream:()=>gF,withLatestFrom:()=>UU,zip:()=>PU});var uU=e=>e(),hU=e=>e;function pU(){this.dispose()}var mU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,fU=1,_U=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new SU(e,this,this.streamId++);return RU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},gU=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=dU,this.error=dU,this.next=dU,this.dispose=dU,this.subscribe=dU,this.doDefer()}subscribe(e){return e instanceof _U?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(uU),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},EU=class extends gU{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},vU=class extends gU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:dU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:dU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=dU,e instanceof _U){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{RU.defer(o,0)})),RU.create(o),RU.pipe(o),this.sourceId=o.id,this.subscribe(e),RU.subscribe({id:o.id,end:!0}),t==dU?this._next=e=>RU.next(o,0,e):this.next=e=>{RU.next(o,0,e),t(e)},i==dU?this._complete=()=>RU.complete(o,0):this.complete=()=>{this.dispose(),RU.complete(o,0),i()},r==dU?this._error=e=>RU.complete(o,0,e):this.error=e=>{this.dispose(),RU.complete(o,0,e),r()}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function yU(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function TU(e,t,r){if(mU()){let i=Object.defineProperties(Object.setPrototypeOf(e,_U.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});RU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof _U&&RU.addSource(i,t)}return i}return e}function IU(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof _U){let o=TU((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,RU.pipe(o),o}return t=>r(new e(t,...i))}}}function AU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var SU=class extends EU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{RU.defer(this.source,this.id)}))}next(e){RU.next(this.source,this.id,e),this.sink.next(e)}complete(){RU.complete(this.source,this.id),this.sink.complete()}error(e){RU.complete(this.source,this.id,e),this.sink.error(e)}},RU={addSource(e,t){AU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){AU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;AU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){AU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){AU("defer",{id:e.id,streamId:t})},pipe(e){AU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){AU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=fU++),AU("create",{name:e.toString(),id:e.id})}},bU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},wU=class extends gU{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function CU(){return e=>{let t=new wU(e);if(e instanceof _U){let r=TU((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,RU.pipe(r),r}return TU(t.add.bind(t),"share",arguments)}}function DU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU((e=>{let r=new EU(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function NU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU((e=>{let r=new Map;t.forEach((t=>{let i=new EU(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function kU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU((e=>{let r=0,i=t.length,o=new EU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function OU(e){return t=>{let r=new wU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},TU((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function MU(e,t,r){return TU((i=>e()?t(i):r(i)),"iif",arguments)}function LU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new EU(e);o.next=t=>{0==--i?(o.next=t=>{n[r]=t,e.next(n)},o.next(t)):n[r]=t},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function PU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new EU(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function xU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>TU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var UU=IU(class extends EU{constructor(e){super(e);let t=new EU(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=dU,t.subscribe(LU(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),VU=IU(class extends EU{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),FU=IU(class extends EU{constructor(e,t){super(e),this.buffer=[];let r=new EU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=dU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),BU=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function HU(e){let t=arguments,r=CU()(TU((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=dU,r.complete=dU,r.error=dU,r}function WU(e){return TU((t=>t.subscribe(e())),"defer",arguments)}var jU=e=>t=>{setTimeout((()=>e(t)))},GU=e=>jU((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function zU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TU(GU(t),"of",arguments)}function KU(e){return TU(GU(e),"fromArray",arguments)}function qU(e){return TU((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function YU(e,t){return TU((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>{clearTimeout(o)};r.defer(n)}),"timer",arguments)}function JU(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function XU(e,t){return TU(JU(e,t),"fromEventPattern",arguments)}function $U(e,t){if("on"in e&&"off"in e)return TU(JU((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return TU(JU((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return TU(JU((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function QU(e){return TU((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function ZU(e,t){return TU(WU((()=>QU(fetch(e,t)))),"fromFetch",arguments)}function eV(e){return TU(jU((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(sw){t.error(sw)}})),"fromIterable",arguments)}function tV(e){let t=r=>BU(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return TU((e=>{t(e)}),"fromReader",arguments)}function rV(e){return TU((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function iV(){return TU((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function oV(e,t){return TU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function nV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return TU((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function aV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return TU((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function sV(){return TU((()=>{}),"never",arguments)}function cV(e){return TU((t=>t.error(e)),"throwError",arguments)}function lV(){return TU((e=>e.complete()),"empty",arguments)}var dV=class extends EU{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},uV=IU(dV,"reduce"),hV=e=>IU(dV,"count")(((t,r)=>e(r)?t+1:t),0),pV=()=>IU(dV,"max")(Math.max),mV=()=>IU(dV,"min")(Math.min),fV=()=>IU(dV,"sum")(((e,t)=>e+t),0),_V=IU(class extends EU{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),gV=IU(class extends EU{next(e){}},"ignoreElements"),EV=IU(class extends EU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),vV=IU(class extends EU{constructor(e,t){super(e);let r=new EU(e);r.next=()=>e.complete(),r.complete=pU,r.subscribe(t)}},"takeUntil"),yV=IU(class extends EU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),TV=e=>uV(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),IV=IU(class extends EU{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),AV=IU(class extends EU{constructor(e,t){super(e),e.next=dU;let r=new EU(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=pU,r.subscribe(t)}},"skipUntil"),SV=IU(class extends EU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),RV={leading:!0,trailing:!1},bV=class extends EU{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},wV=class extends EU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:RV;super(e),this.durationSelector=t,this.config=r,this._throttle=new bV(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=dU,this._throttle.complete(),super.complete()}},CV=IU(wV,"throttle"),DV={leading:!1,trailing:!0},NV=e=>IU(wV,"audit")(e,DV),kV=class extends EU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},OV=class extends EU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new kV(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},MV=IU(OV,"debounce"),LV=e=>IU(OV,"debounceTime")((t=>YU(e))),PV=IU(class extends EU{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),xV=e=>t=>EV(1)(SV((t=>!e(t)))(t)),UV=IU(class extends EU{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.complete()):++this.i}},"findIndex"),VV=IU(class extends EU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),FV=IU(class extends EU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),BV=IU(class extends EU{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),HV=IU(class extends EU{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),WV=IU(class extends EU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),jV=class extends EU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},GV=IU(jV,"map"),zV=e=>IU(jV,"mapTo")((t=>e)),KV=class extends EU{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},qV=class extends EU{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(e,t){let r=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,r.complete=r.tryComplete,r.subscribe(this.makeSource(e,this.index++))}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},YV=class extends KV{},JV=class extends qV{next(e){this.subInner(e,YV),this.next=e=>{this.currentSink.dispose(),this.subInner(e,YV)}}},XV=IU(JV,"switchMap");function $V(e){return(t,r)=>e((()=>t),r)}var QV=$V(IU(JV,"switchMapTo")),ZV=class extends KV{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},eF=class extends qV{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),ZV),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},tF=IU(eF,"concatMap"),rF=$V(IU(eF,"concatMapTo")),iF=class extends KV{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},oF=class extends qV{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,iF),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},nF=IU(oF,"mergeMap"),aF=$V(IU(oF,"mergeMapTo")),sF=class extends KV{dispose(){this.context.resetNext(),super.dispose()}},cF=class extends qV{next(e){this.next=dU,this.subInner(e,sF)}},lF=IU(cF,"exhaustMap"),dF=$V(IU(cF,"exhaustMapTo")),uF=IU(class extends EU{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=HU(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),hF=IU(class extends EU{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),pF=IU(class extends EU{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),mF=IU(class extends EU{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),fF=IU(class extends EU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),_F=()=>e=>new Promise(((t,r)=>{let i;new vU(e,(e=>i=e),r,(()=>t(i)))})),gF=()=>e=>{let t;return new ReadableStream({start(r){t=new vU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},EF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:dU;return i=>new vU(i,e,t,r)},vF=IU(class extends EU{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),yF=IU(class extends EU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new bU(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),TF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof _U){let r=TU((i=>{let o=e,n=new EU(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,RU.pipe(r),r}return r=>{let i=e,o=new EU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},IF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(IF||{}),AF=class e extends Kx{constructor(e,t){super({mediaType:e,PlayerClass:t}),Bb(this,"isRemote",!1),Bb(this,"deviceId"),Bb(this,"groupId",""),Bb(this,"label",""),Bb(this,"sourceTrack"),Bb(this,"enableAutoSwitchWhenRecapturing",!0),Bb(this,"_isRecapturing",!1),Bb(this,"_lastRecaptureTime",0),Bb(this,"_onMuteTimeoutId",-1),Bb(this,"_encodeCheckTimeoutId",-1),Bb(this,"recaptureMode",0),Bb(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){DP(e,e).add(Pw.MUTE,this.onTrackMuted).add(Pw.UNMUTE,this.onTrackUnmuted).add(Pw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Pw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){NP(e)}setStateToReady(){}capture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Wb(this,null,(function*(){var r;let i=this.sourceTrack;try{let i,o=UD();bO.emit(CO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(i=new MediaStream,i.addTrack(e.customSource)):(t||null==(r=this.sourceTrack)||r.stop(),i=yield Zx(e));let n=i.getTracks()[0];return yield this.setInputMediaStreamTrack(n),e.customSource||(this.sourceTrack=n,this.updateDeviceIdInUse(),this.listenDeviceChange()),bO.emit(CO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:UD()-o}),i}catch(cw){throw bO.emit(CO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:cw}),this.log.error("getUserMedia error observed ".concat(cw)),cw}finally{t&&(null==i||i.stop())}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=WD((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),Promise.all([t,new Promise(((t,r)=>Wb(this,null,(function*(){var i,o;this.hasFlag?t():yU($U(e,"local-publish-flag-changed"),_V((()=>this.hasFlag)),vV(DU($U(this,vP.INIT),$U(this,"ready"))),EF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t,i,o,n,a;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===Pw.AUDIO,t=this.stat.bytesSent>0;if(rL[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&rL[t?"addSuccessEvent":"addFailedEvent"]({key:e})}t||(rL.addEnum({key:e?503701:513703,value:yO()}),kP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(_O()||IO()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.emit("6",this),r(new $b({message:"".concat(this.strMediaType," encode failed"),code:e?Jb.AUDIO_ENCODE_FAILED:Jb.VIDEO_ENCODE_FAILED})))}}),5e3))}))))])}unpublish(){this.room&&this.room.localTracks.delete(this),bO.emit(CO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Wb(this,null,(function*(){if(this.sourceTrack&&HL){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return Wb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==Pw.AUDIO||t!==CC||(yield Bx(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),Lx().then((r=>{let i=r.find((r=>{let i=r.deviceId===e;return t&&(i=i&&r.groupId===t),i}));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.sourceTrack||this.kind===Pw.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(Pw.AUDIO_INPUT);return!!Fx.has(r)}(this.sourceTrack)||this.kind===Pw.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(Pw.VIDEO_INPUT);return!!Fx.has(r)}(this.sourceTrack)||this._isRecapturing||e&&Tk&&Yk)}onTrackMuted(){if(super.onTrackMuted(),rU(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<LC)return void setTimeout((()=>this.onTrackMuted()),LC);this._onMuteTimeoutId=setTimeout((()=>Wb(this,null,(function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((FN||BN)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Wb(this,null,(function*(){if(Hb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<LC)return void setTimeout((()=>this.onTrackEnded()),LC);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Wb(this,null,(function*(){var r;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying");let i=this.sourceTrack;t||null==(r=this.sourceTrack)||r.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let o={useExactDeviceId:!0};if("user"===e||"environment"===e)o.facingMode=e;else{let t;("audio"===this.kind?yield Px():yield xx()).find((t=>t.deviceId===e))&&(t=e),o.deviceId=t}return this.capture(o,t).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),bO.emit(CO.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),bO.emit(CO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})})).finally((()=>{t&&(null==i||i.stop())}))}))}getRecoverCaptureDeviceId(){return Wb(this,null,(function*(){let e=this instanceof NF;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(RF.get(t)||0)+1;if(RF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield xx()).find((e=>!RF.has(e.deviceId))):(yield Px()).find((e=>!RF.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};Fb([_P(vP.INIT,"ready",{ignoreError:!0,sync:!0})],AF.prototype,"setStateToReady",1),Fb([sU()],AF.prototype,"capture",1),Fb([_P("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),bO.emit(CO.LOCAL_TRACK_PUBLISHED,{track:this,room:this.room}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof $b){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===Jb.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),cU(521714,!1)],AF.prototype,"publish",1),Fb([tU((e=>function(){return Wb(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),_P([],"ready",{sync:!0})],AF.prototype,"unpublish",1);var SF=AF,RF=new Map;bO.on(CO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&RF.delete(e.track.deviceId)}));var bF=class e extends SF{constructor(e){super(1,Gx),Bb(this,"mediaType",1),Bb(this,"volume",0),Bb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Bb(this,"playerMuted",!0),Bb(this,"pipeline"),Bb(this,"earMonitorGainNode",new gx),Bb(this,"_output",new gx),Bb(this,"codecPipeline",[]),Bb(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),Bb(this,"mixedAudioReferenceMap",new Map),Bb(this,"isAudioContextLongSuspended",!1),this.manager=e,this.pipeline=new yx(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),bO.on(CO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return wx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}setInputMediaStreamTrack(t){return Wb(this,null,(function*(){let r=this.trackSettings||{};rL.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),rL.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),rL.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.source.channelCount=o||1,this.pipeline.replaceSource(t),yield Hb(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(t){return Wb(this,arguments,(function(t){var r=this;let{deviceId:i,customSource:o,useExactDeviceId:n=!0,retryWhenExactFailed:a}=t,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){let t=yield Hb(e.prototype,r,"capture").call(r,{video:!1,audio:!0,microphoneId:i,echoCancellation:r.profile.echoCancellation,autoGainControl:r.profile.autoGainControl,noiseSuppression:r.profile.noiseSuppression,sampleRate:r.profile.sampleRate,channelCount:r.profile.channelCount,useExactDeviceId:n,retryWhenExactFailed:a,customSource:o},s);return fx(),t}()}))}switchDevice(e){return Wb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==CC)return;if(yield Bx(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),bO.emit(CO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(lC){throw this.log.error("switch microphone failed ".concat(lC)),this.deviceId&&this.recapture(this.deviceId),lC}}}))}listenDeviceChange(){Ox&&!Ox.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&Ox.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Wb(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(IF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){gB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield Px();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Ox.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Ox.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return Wb(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!AD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!AD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!AD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(GN||Yk?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId,!0)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&rL.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),FN&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(_x().createGain()),this._output.setNode(_x().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!Yk&&!FN)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;zk<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(rL.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=Ax(e),i=new gx,o=_x().createGain();o.gain.value=1;let n=new gx;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode())}close(){this.mixedAudioReferenceMap.forEach((e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()})),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),Ox.off("audioInputAdded",this.handleMicrophoneAdded,this),Ox.off("audioInputRemoved",this.handleMicrophoneRemoved,this),bO.off(CO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Wb(this,null,(function*(){try{yield Hb(e.prototype,this,"recapture").call(this,t,r)}catch(HO){let i=(yield Px()).find((e=>e.deviceId!==t));if(!i)throw HO;yield Hb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,ntp:Zb()}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(Jk?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},wF=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},CF=class{constructor(){Bb(this,"_seiMessageList",[]),Bb(this,"_smallSeiMessageList",[]),Bb(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new wF(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},DF=class e extends SF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,ox),Bb(this,"profile",Lb({},Ow)),Bb(this,"avoidCropping",!1),Bb(this,"_scaleResolutionDownBy"),Bb(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0,framesCaptured:0}),Bb(this,"small"),Bb(this,"isNeedToSetBandwidth"),Bb(this,"muteImage"),Bb(this,"manager"),Bb(this,"_seiCodec",new CF),this.manager=e;let t=()=>{this.isAllowed2k4k(this.profile)?this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),this.setProfile(Pb(Lb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(HL&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return Wb(this,null,(function*(){var r,i,o;if(SD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t}),this.muteImage=t,Hb(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),Hb(e.prototype,this,"setMute").call(this,t)}))}capture(t){return Wb(this,arguments,(function(t){var r=this;let{deviceId:i,facingMode:o,useExactDeviceId:n=!0,customSource:a,retryWhenExactFailed:s=!0}=t;return function*(){let t={audio:!1,video:!0,facingMode:o||r.facingMode,cameraId:i,width:r.profile.width,height:r.profile.height,frameRate:r.profile.frameRate,useExactDeviceId:n,retryWhenExactFailed:s,customSource:a};if("environment"===t.facingMode){let e=yield r.getDeviceIdWhenUsingBackCamera();e&&(t.cameraId=e)}return Hb(e.prototype,r,"capture").call(r,t)}()}))}setProfile(e){let t=this.fallbackProfile(e);t.bitrate&&(this.isNeedToSetBandwidth=t.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(t):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(Pb(Lb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Wb(this,null,(function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===tO&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1})),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth){this.isNeedToSetBandwidth=!1;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:Pw.VIDEO,videoType:Pw.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return HL&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:sN(this.settings,this.profile)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return Wb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),bO.emit(CO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(lC){throw this.log.error("switch camera failed ".concat(lC)),this.deviceId&&this.recapture(this.deviceId),lC}}))}getDeviceIdWhenUsingBackCamera(){return Wb(this,null,(function*(){let e;try{if(Nk&&!Fk&&jL){let t=(yield xx(!0)).map((e=>{var t;return Pb(Lb({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})})).filter((e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")})),r=t[0];t.forEach((e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)})),null!=r&&r.capabilities&&(this._log.info("use max resolution back camera",r),e=r.deviceId)}}catch(lC){this._log.warn("get max res camera failed",lC)}return e}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=Lb({},e);return e.width*e.height<=19200&&BN&&Wk&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&oO&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),Zk(Qk,"14.3")&&eO(Qk,"14.0",!0)&&this.on("7",(()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!t&&this.avoidCropping&&(Wk||GN)&&!hO()&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){Ox&&!Ox.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&Ox.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Wb(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(IF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){gB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield xx();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Ox.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Wb(this,null,(function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Ox.off("videoInputAdded",this.handleCameraAdded,this),this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return AD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){Ox.off("videoInputAdded",this.handleCameraAdded,this),Ox.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Wb(this,null,(function*(){try{yield Hb(e.prototype,this,"recapture").call(this,t)}catch(lC){let i=(yield xx()).find((e=>e.deviceId!==t));if(!i)throw lC;yield Hb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}setRotation(e){this.manager&&(this.isScreen||AD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};Fb([eU((function(e){this.setContentHint(e.contentHint||"motion")}))],DF.prototype,"capture",1);var NF=DF,kF={};Ub(kF,{REPORT_TYPE:()=>uN,buildSSOPackage:()=>hN,bytes2ms:()=>hD,calculateScaleResolutionDownNumber:()=>sN,concatArrayBuffers:()=>pN,convertObjectNumberToInt:()=>rN,copyProperties:()=>uD,deepClone:()=>KD,deepCloneBasic:()=>dN,deepMerge:()=>zD,delay:()=>iN,fibonacci:()=>vD,formatedTime:()=>JD,getConstructorName:()=>MD,getContainerFromElement:()=>YD,getEnv:()=>iD,getFirst16Bits:()=>fN,getInternalVersion:()=>FD,getLast16Bits:()=>mN,getLoggerUrl:()=>nD,getMediaStreamTrackInfo:()=>aN,getMuteStateFromFlag:()=>WD,getNetworkType:()=>sD,getNumNetworkType:()=>dD,getReconnectionTimeout:()=>yD,getStringByteLength:()=>QD,getTurnServer:()=>jD,getUint32Version:()=>tN,getValueType:()=>TD,getViewListFromView:()=>qD,glog:()=>_D,ipv4ToUint32:()=>GD,isArray:()=>CD,isAudioWorkletSupported:()=>LD,isBoolean:()=>bD,isConstructor:()=>OD,isEmpty:()=>HD,isFunction:()=>ID,isLangChinese:()=>gD,isMediaStreamTrack:()=>DD,isNumber:()=>RD,isObject:()=>wD,isOverseaSdkAppId:()=>oD,isPlainObject:()=>ED,isPortrait:()=>ZD,isPromise:()=>kD,isRemoteTrack:()=>ND,isRotate90Or270:()=>cN,isSetSinkIdSupported:()=>PD,isString:()=>SD,isUndefined:()=>AD,loadImage:()=>eN,loadVideo:()=>lN,ms2bytes:()=>mD,ms2samples:()=>fD,normalizeUrl:()=>nN,performanceNow:()=>UD,promiseAny:()=>xD,samples2ms:()=>pD,setNetworkType:()=>lD,stringify:()=>XD,stringifyIncludeValue:()=>$D,throttlePromise:()=>oN});var OF=[-1,-1,1,-1,-1,1,1,1],MF=[0,0,1,0,0,1,1,1],LF=class e extends vP{constructor(e,t){if(super(),this.context=e,Bb(this,"name"),Bb(this,"input"),Bb(this,"output"),Bb(this,"texture"),Bb(this,"ctx2d",null),Bb(this,"fbo"),Bb(this,"width",0),Bb(this,"height",0),Bb(this,"x",0),Bb(this,"y",0),Bb(this,"program"),Bb(this,"vertexShader"),Bb(this,"fragmentShader"),Bb(this,"totalFrames",0),Bb(this,"dropFrames",0),Bb(this,"matchInputSize",!0),Bb(this,"texCoordBuffer"),Bb(this,"positionBuffer"),Bb(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Bb(this,"cost",0),Bb(this,"_canvas",null),Bb(this,"_image"),Bb(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof $F)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==tO?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(MF),this.positionBuffer=this.createBuffer(OF),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(HO){this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(HO.message||HO)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof XF&&this.render(e)||this.context instanceof $F&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof XF){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(t,r,i,o,n,a,s,c,l){let d=!(AD(a)||AD(s)||AD(c)||AD(l));return!(!this.ctx2d||!t)&&(t instanceof ImageData?(d?this.ctx2d.putImageData(t,r,i,a,s,c,l):this.ctx2d.putImageData(t,r,i),this.emit(e.RENDER,this.ctx2d.canvas)):(d?this.ctx2d.drawImage(t,a,s,c,l,r,i,o,n):this.ctx2d.drawImage(t,r,i,o,n),this.emit(e.RENDER,t)),"undefined"!=typeof VideoFrame&&t instanceof VideoFrame&&t.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},Lb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};Bb(LF,"RENDER","render"),Fb([_P(vP.INIT,"connected",{sync:!0})],LF.prototype,"connect",1),Fb([_P("connected",vP.INIT,{ignoreError:!0,sync:!0})],LF.prototype,"disconnect",1),Fb([_P([],"closed",{sync:!0})],LF.prototype,"close",1);var PF=LF,xF=yU(qU(250),GV((()=>performance.now())),CU()),UF=e=>t=>{let r=performance.now();yU(xF,SV((t=>t-r<e)),EV(1))(t)},VF=[0,1,1,1,0,0,1,0],FF=class extends PF{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Bb(this,"_intervalId",0),Bb(this,"_sequence",0),Bb(this,"checkGLError",!1),Bb(this,"checkVisibilityChange"),e instanceof $F?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(VF)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),RP.clearTask(this._intervalId),this._intervalId=RP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(RP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof XF){let e=this.context.ctx.getError();e&&this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),this.emit(PF.RENDER,this.context._canvas),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;"closed"!==this.state&&(this._intervalId&&(RP.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++))}removeInput(e){super.removeInput(e),RP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),RP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},BF=class extends FF{constructor(e,t){super(e,t),Bb(this,"_videoTrack"),Bb(this,"_muteOb"),Bb(this,"_closedOb",$U(this,"closed")),Bb(this,"_subscription"),Bb(this,"_canvasContainer"),Number(Xk)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e.canvas.captureStream().getVideoTracks(),this._muteOb=$U(this._videoTrack,"mute"),yU($U(this._videoTrack,"ended"),vV(this._closedOb),EF((()=>{this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=yU(this._muteOb,vV(this._closedOb),QV(UF(5e3)),_V((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),EF((()=>{this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},HF=class extends BF{render(e){var t;let r=!(null==(t=this.input)||!t.requestFrame(e));if(this.context._canvas2d){let e=this.context._canvas2d.getContext("2d");e.clearRect(0,0,this.context._canvas2d.width,this.context._canvas2d.height),e.drawImage(this.context._canvas,0,0,this.context._canvas2d.width,this.context._canvas2d.height)}return r}},WF=class extends BF{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},jF=class extends PF{constructor(e,t){super(e,Lb({name:"imageSource"},t)),Bb(this,"_lastImage"),Bb(this,"_totalFrames",0),Bb(this,"_autoResize",!1),Bb(this,"_canvasRendered"),Bb(this,"videoCallbackId",0),Bb(this,"waitingFirstFrame",!0),Bb(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===tO&&(this._canvasRendered=HU(),yU(this._canvasRendered,xU(this._image),XV((e=>e instanceof HTMLCanvasElement?$U(e,"rendered"):lV())),vV($U(this,"closed")),EF((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),rP()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!0}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},GF=class extends jF{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",yU($U(this._player,bP.PLAYER_STATE_CHANGED),vV($U(this,"closed")),_V((e=>{let{state:t}=e;return"PLAYING"===t})),EF((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},zF=class extends GF{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new ox({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},KF=class extends PF{constructor(e,t,r){super(e,Pb(Lb({name:"textSource"},r),{create2d:!0})),Bb(this,"hasChange",!0),Bb(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},qF=class extends vP{constructor(e){super(),Bb(this,"frameRate"),Bb(this,"_canvas"),Bb(this,"log"),Bb(this,"hasAlpha",!1),Bb(this,"name"),Bb(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}get canvas(){return this._canvas}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new zF(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new BF(this,e)}createVideoImageSource(e,t){return new jF(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new GF(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new KF(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Bb(qF,"_ids",0);var YF={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},JF=class extends qF{constructor(){super(...arguments),Bb(this,"defaultProgam"),Bb(this,"defaultVShader"),Bb(this,"defaultFShader"),Bb(this,"ctx"),Bb(this,"_canvas2d")}get canvas(){return this._canvas2d||this._canvas}create(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(qF._ids++)),e&&(this._canvas2d=document.createElement("canvas")),this.ctx=this._canvas.getContext("webgl2",YF),!this.ctx)throw new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,rL.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e,this._canvas2d&&(this._canvas2d.width=e)}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e,this._canvas2d&&(this._canvas2d.height=e)}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t),this._canvas2d&&(this._canvas2d.width=e,this._canvas2d.height=t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};Bb(JF,"UNAVAILABLE","unavailable"),Fb([_P(vP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),rL.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),rL.addSuccessEvent({key:512700})}})],JF.prototype,"create",1),Fb([_P("created",vP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(JF.UNAVAILABLE,e),this.removeAllListeners()}})],JF.prototype,"destroy",1);var XF=JF,$F=class extends qF{constructor(){super(...arguments),Bb(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(qF._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,rL.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),rL.addSuccessEvent({key:512703})}};function QF(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}Fb([_P(vP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),rL.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),rL.addSuccessEvent({key:512701})}})],$F.prototype,"create",1),Fb([_P("created",vP.INIT,{ignoreError:!0,sync:!0})],$F.prototype,"destroy",1);var ZF=class{constructor(e,t){this.node=e,this.layout=t,Bb(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},eB=class extends PF{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),Bb(this,"inputs",[]),Bb(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new ZF(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>t.node===e));if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!AD(s)&&this.inputs.some((t=>t.layout.zIndex===s&&t.node!==e)))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];AD(i)||(u.layout.x=i),AD(o)||(u.layout.y=o),AD(n)||(u.layout.width=n),AD(a)||(u.layout.height=a),AD(l)||(u.layout.rotation=l),AD(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!AD(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort(((e,t)=>e.layout.zIndex-t.layout.zIndex)))}hasInput(e){return this.inputs.some((t=>t.node===e))}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.resize(e,t);let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof XF&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter((t=>t.node!==e)),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>r.node.requestFrame(e)||t),!1)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(this.inputs.forEach((t=>t.node.requestFrame(e))),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=QF(t.node.width,t.node.height,t.width,t.height,t.fillMode,cN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},Lb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}removeAllInputs(){this.inputs.forEach((e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof XF)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(HO){}}))}close(){super.close(),this.removeAllInputs()}},tB=[1,0,0,0,1,1,0,1],rB=class extends PF{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),Bb(this,"mirror",!1),Bb(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof XF)try{this.setTexBuffer(tB)}catch(cw){e.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(cw.message||cw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}resize(e,t){cN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},iB=class extends SF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,ox),Bb(this,"inputLocalVideoTracks",new Map),Bb(this,"inputLocalScreenTracks",new Map),Bb(this,"cameraNodeMap",new Map),Bb(this,"screenNodeMap",new Map),Bb(this,"textNodeMap",new Map),Bb(this,"imageNodeMap",new Map),Bb(this,"videoNodeMap",new Map),Bb(this,"endedIds",new Set),Bb(this,"videoContext"),Bb(this,"mixNode"),Bb(this,"destination"),Bb(this,"manager"),Bb(this,"stat"),Bb(this,"_checkId",0),Bb(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(PF.RENDER,(e=>{this.emit("render",e)})),this.mixNode=new eB(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=RP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new $F({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout((()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)}),500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return Wb(this,null,(function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),Jk&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)}))}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,DP(this,Ox).add("videoInputRemoved",(r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())})),t.on("output-media-track-changed",(()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)})),i=16===tO&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===tO&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof zF){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof zF)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(AD(r)||(a.content=r),AD(i)||(a.font=i),AD(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new rB(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof rB&&(AD(r)||(o.mirror=r),AD(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof rB&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof rB&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof rB&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof rB&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof rB&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),RP.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),NP(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},oB=OO();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:oB,exposeOrigin:!0,permittedOrigins:["*"]})}catch(XB){}var nB=function(e){return Wb(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:Yk?{max:e.width}:{ideal:e.width,max:e.width},height:Yk?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);kO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(jk&&zk<74||Yk||GN)&&kO.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(GO){kO.warn("screen applyConstraints failed: ".concat(GO))}e.captureElement&&(yield function(e,t){return Wb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&ID(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==oB)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){kO.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return AD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);kO.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},aB=class extends NF{constructor(e){super(e,2),Bb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Bb(this,"objectFit","contain"),Bb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return oB===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(HO){return}}capture(e){return Wb(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):(e=yield nB({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof $b?e:new $b({code:Jb.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return Wb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Fb([eU((function(e){this.setContentHint(e.contentHint||"detail")}))],aB.prototype,"capture",1);var sB,cB=class extends bF{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function lB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return Wb(this,null,(function*(){let o=_x();sB||(sB=nx(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield sB;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach(((e,t)=>e.connect(a,0,t))),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(a))),a.port.close()}})}))}var dB=class extends Tx{constructor(e){super(),this.room=e,Bb(this,"_localAudioTrack"),Bb(this,"_localScreenAudioTrack"),Bb(this,"log",kO.createLogger({id:"am"})),Bb(this,"denoiser"),Bb(this,"voiceChanger"),Bb(this,"mixChangedDebounce"),Bb(this,"audioProcessor"),Bb(this,"encodePipeline",[]),Bb(this,"decodePipeline",[]),Bb(this,"getPCMAbortCtrlMap",new Map),Bb(this,"audioFrameEventConfigMap",new Map),Bb(this,"audioReferenceMap",new Map),Bb(this,"isLocalAudioNeedAudioProcess",!1),Bb(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=lB(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return lB([_x().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!AD(this._localScreenAudioTrack)}get hasAudioTrack(){return!AD(this._localAudioTrack)}changeInput(e){var t,r;return e instanceof cB?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&null!=(t=this.audioProcessor)&&t.screenAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.screenAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof bF?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&null!=(r=this.audioProcessor)&&r.localAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.localAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof pB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof cB?delete this._localScreenAudioTrack:e instanceof bF&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor={localAudioWorkletNode:r,mixNode:e,silentNode:t,screenAudioWorkletNode:i},this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&r&&(this._localAudioTrack.addAudioProcessor(r,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&i&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(i,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0:t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}removeAudioProcessor(e,t){var r,i;delete this.audioProcessor,null==(r=this._localAudioTrack)||r.removeAudioProcessor(e),null==(i=this._localScreenAudioTrack)||i.removeAudioProcessor(t)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach((e=>null==e?void 0:e.abort("destroy"))),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",(()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),""),this.getPCMAbortCtrlMap.set(r,e))})))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){bO.on("113",this.handleLocalTrackStarted,this),bO.on("114",this.handleLocalTrackStopped,this),bO.on("115",this.handleRemoteTrackStarted,this),bO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){bO.off("113",this.handleLocalTrackStarted),bO.off("114",this.handleLocalTrackStopped),bO.off("115",this.handleRemoteTrackStarted),bO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||AD(o))return;this.setAudioReferenceVolume(i,o)}}};var uB=class e extends Kx{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Bb(this,"tinyId"),Bb(this,"isRemote",!0),Bb(this,"jitterBufferDelay",0),Bb(this,"availableState"),Bb(this,"remotePublishState"),Bb(this,"_triggerCheckDecodeSubject",HU($U(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new vP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new vP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),yU(DU($U(this,vP.STATECHANGED),$U(this.remotePublishState,vP.STATECHANGED)),GV((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),EF((e=>{this.availableState.state!==(e?vP.ON:vP.OFF)&&(this.availableState.state=e?vP.ON:vP.OFF),this.updatePlayingState(e)})));let o=yU($U(this.player,bP.ERROR),_V((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=yU(YU(5e3),_V((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===Pw.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=yU(NU(o,n),vV($U(this,vP.INIT)));yU(this._triggerCheckDecodeSubject,_V((()=>!this.ignoreDecodeError)),QV(a),EF((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===vP.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){var r,i;let o=this.kind===Pw.AUDIO;if(rL[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";rL[e?"addSuccessEvent":"addFailedEvent"]({key:ZM["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(rL.addEnum({key:o?504701:514703,value:yO()}),kP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(_O()||IO()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===Pw.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?vP.ON:vP.OFF,this.emit("remote-publish-changed",this.isRemotePublished)}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Bb(uB,"STATE_SUBSCRIBE","subscribe"),Fb([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return tU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new $b({code:Jb.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});(this.log||this._log||kO).warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],uB.prototype,"waitHasMediaTrack",1),Fb([_P(vP.INIT,uB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),bO.emit(CO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),cU(521716,!1)],uB.prototype,"subscribe",1),Fb([_P(uB.STATE_SUBSCRIBE,vP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),bO.emit(CO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],uB.prototype,"unsubscribe",1);var hB=uB,pB=class extends hB{constructor(e,t){super(e,t,1),Bb(this,"volume",0),Bb(this,"mediaType",1),Bb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return wx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}onPlayerError(e){this.enableDecodeFrame&&(this._log.warn("use audio decoder"),this.room.enableInsertableStreams())}get enableDecodeFrame(){var e,t;return!!this.manager&&(this.manager.decodePipeline.some((e=>e))||(null==(t=null==(e=this.player.element)?void 0:e.error)?void 0:t.code)===MediaError.MEDIA_ERR_DECODE&&YL().AudioDecoder&&GL)}decodeFrame(e){if(!this.manager)return e;let t=e;for(let[r,i]of this.manager.decodePipeline.entries()){if(!i)continue;let o={frame:e,track:this};if(1===r&&this.isAvailable&&"audience"===this.room.role&&(o.onAudioFrameNTPTime=e=>{let{ntp:t,frame:r,hasLeavingTag:i}=e;this.emit("audio-frame-with-ntp",{ntp:t,frame:r,hasLeavingTag:i})}),t=i(o),!t)return}return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}};var mB=class extends hB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Bb(this,"mediaType",4),Bb(this,"source"),Bb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(bD(null==t?void 0:t.canvasRender)?t.canvasRender:17===tO)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat()}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new $F({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new FF(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),rP()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!RD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},fB=class extends mB{constructor(e,t){super(e,t,2),Bb(this,"mediaType",2),Bb(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},_B=new Map;function gB(e,t){let r=Pb(Lb({},t),{timestamp:Zb()});_B.has(e)?_B.get(e).push(r):_B.set(e,[r])}function EB(e){if(_B.has(e)){let t=_B.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return _B.delete(e),t}return[]}function vB(e,t,r,i){try{if(CD(e))for(let o=0;o<e.length;o++)yB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else yB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(HO){throw kO.error(HO),HO}}function yB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(AD(r)){if(t.required)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(AD(t.defaultValue))return;r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),ID(t.type[i])&&r instanceof t.type[i]&&(e=!0),SD(t.type[i])&&TD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>OD(e)?MD(e):SD(e)?e:TD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!AD(t.type)&&TD(r)!==t.type)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=RD(r)&&(0===r||Number.isNaN(r)),a=SD(r)&&""===r.trim();if(e||a)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&RD(r)&&r<0)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!AD(t.min)&&RD(r)&&r<t.min)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!AD(t.max)&&RD(r)&&r>t.max)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(SD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(ID(t.instanceOf)&&!(r instanceof t.instanceOf))throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;ED(a)&&wD(r)&&Object.keys(a).forEach((e=>{yB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;ED(s)&&CD(r)&&r.forEach(((e,t)=>{yB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),ID(t.validate)&&t.validate.call(this,r,i,o,n,this)}bO.on(CO.JOIN_SUCCESS,(e=>{let{room:t}=e;gB(t.userId,{eventId:32788})})),bO.on(CO.LEAVE_START,(e=>{let{room:t}=e;gB(t.userId,{eventId:32789})})),bO.on(CO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),gB(t.room.userId,{eventId:e})}})),bO.on(CO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),gB(t.room.userId,{eventId:e})}})),bO.on(CO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Pw.AUDIO?gB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):gB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),bO.on(CO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Pw.AUDIO?gB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):gB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),bO.on(CO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&gB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&gB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&gB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),bO.on(CO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&gB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&gB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&gB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),bO.on(CO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&gB(t.room.userId,{eventId:t.kind===Pw.VIDEO?32780:32781})})),bO.on(CO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&gB(t.room.userId,{eventId:t.kind===Pw.VIDEO?32782:32783})})),bO.on(CO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&gB(r.userId,{eventId:t})})),bO.on(CO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&gB(r.userId,{eventId:t,remoteUserId:n})})),bO.on(CO.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l={H264:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),gB(r,d),rL.addEnum({key:i?514701:513701,value:c}),rL.addEnum({key:i?514700:513700,value:l})})),bO.on(CO.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===Pw.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),gB(t.userId,e)}})),Vb(jb(),1);var TB=Object.create,IB=Object.defineProperty,AB=Object.defineProperties,SB=Object.getOwnPropertyDescriptor,RB=Object.getOwnPropertyDescriptors,bB=Object.getOwnPropertyNames,wB=Object.getOwnPropertySymbols,CB=Object.getPrototypeOf,DB=Object.prototype.hasOwnProperty,NB=Object.prototype.propertyIsEnumerable,kB=(e,t,r)=>t in e?IB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,OB=(e,t)=>{for(var r in t||(t={}))DB.call(t,r)&&kB(e,r,t[r]);if(wB)for(var r of wB(t))NB.call(t,r)&&kB(e,r,t[r]);return e},MB=(e,t)=>AB(e,RB(t)),LB=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?SB(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&IB(t,r,n),n},PB=(e,t,r)=>kB(e,"symbol"!=typeof t?t+"":t,r),xB=((e,t)=>function(){return t||(0,e[bB(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),UB=((e,t,r)=>(r=null!=e?TB(CB(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of bB(t))DB.call(e,o)||o===r||IB(e,o,{get:()=>t[o],enumerable:!(i=SB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:IB(r,"default",{value:e,enumerable:!0}),e)))(xB(),1),VB=Symbol("instance"),FB=Symbol("cacheResult"),BB=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,zB.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},HB=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var WB=new Map;function jB(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=WB.get(i)||[];WB.has(i)||WB.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=KB.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[FB]:Promise.resolve(i[FB]);i.state instanceof BB&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof BB&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new HB(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new HB(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new BB(u,t,a);zB.call(i,h);let p=e=>{var o;return i[FB]=e,h.aborted||(zB.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[FB])),e},m=e=>(zB.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(zO){return m(new HB(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(zO),zO instanceof Error?zO:new Error(String(zO))))}}}}var GB="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function zB(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(KB.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var KB=class e extends UB.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[VB];o?this.name=o.name+"-"+o.count++:i[VB]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=WB.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);WB.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};GB(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){zB.call(this,e)}};KB.STATECHANGED="stateChanged",KB.UPDATEAFSM="updateAFSM",KB.INIT="[*]",KB.ON="on",KB.OFF="off",KB.instances=new Map,KB.instances2=new WeakMap;var qB=class extends KB{constructor(){super(...arguments),PB(this,"decoder"),PB(this,"config")}initialize(){return Wb(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(MB(OB({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function YB(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}LB([jB([KB.INIT,"closed"],"initialized")],qB.prototype,"initialize",1),LB([jB("initialized","configured",{sync:!0})],qB.prototype,"configure",1),LB([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new HB(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],qB.prototype,"decode",1),LB([jB([],KB.INIT,{sync:!0})],qB.prototype,"reset",1),LB([jB([],"closed",{ignoreError:!0,sync:!0})],qB.prototype,"close",1);var JB=class extends KB{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,PB(this,"worker"),PB(this,"decoder"),PB(this,"config"),PB(this,"module",{}),PB(this,"width",0),PB(this,"height",0)}initialize(e){return Wb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(YB.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};LB([jB([KB.INIT,"closed"],"initialized")],JB.prototype,"initialize",1),LB([jB("initialized","configured",{sync:!0})],JB.prototype,"configure",1),LB([jB([],KB.INIT,{sync:!0})],JB.prototype,"reset",1),LB([jB([],"closed",{sync:!0})],JB.prototype,"close",1);var XB,$B=(XB="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),XB&&(u=XB),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,C,D=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!d||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,u):u+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function W(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Rt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var j={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=j.isAbs(e),r="/"===e.substr(-1);return(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=j.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=j.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return j.normalize(e.join("/"))},join2:(e,t)=>j.normalize(e+"/"+t)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),z={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=j.isAbs(i)}return(t?"/":"")+(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=z.resolve(e).substr(1),t=z.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},K="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&K)return K.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},Y=[],J=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:J(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!Y.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;Y=$(e,!0)}return Y.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=z.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=j.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=z.resolve(j.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=j.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!z.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=j.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=j.dirname(e),n=j.dirname(t),a=j.basename(e),s=j.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),d=z.relative(e,n);if("."!==d.charAt(0))throw new ie.ErrnoError(28);if("."!==(d=z.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var u=ie.isDir(l.mode),h=ie.mayDelete(r,a,u);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,u):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return z.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=j.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(J(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=G(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=j.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=j.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=j.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?j.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=j.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),u(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return u(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(j.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return j.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&j.normalize(t)!==j.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,C=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=C[0],y[r+28>>2]=C[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=C[0],y[r+44>>2]=C[1],T[r+48>>2]=o%1e3*1e3,C=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=C[0],y[r+60>>2]=C[1],T[r+64>>2]=n%1e3*1e3,C=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=C[0],y[r+76>>2]=C[1],T[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=C[0],y[r+92>>2]=C[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},de={},ue={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){ue[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{de.hasOwnProperty(e)?o[t]=de[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=de[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(de[e]=t,delete ue[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function Ce(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},De(Object.create(e,{$$:{value:t}}))}var De=function(e){return"undefined"==typeof FinalizationRegistry?(De=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(De=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,et.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],We=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t};function je(e,t){var r,o,n,a=(e=ce(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):We(t).apply(null,r);var o,n,a})(r,o,n)}):We(t);return"function"!=typeof a&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var Ge=void 0;function ze(e){var t=St(e),r=ce(t);return It(t),r}function Ke(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||de[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(ze).join([", "]))}function qe(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Je(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function Xe(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(u,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(d||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Je(Function,f).apply(null,_)}function $e(){this.allocated=[void 0],this.freelist=[]}var Qe=new $e;function Ze(e){e>=Qe.reserved&&0==--Qe.get(e).refcount&&Qe.free(e)}var et={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Qe.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Qe.allocate({refcount:1,value:e})}}};function tt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function rt(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function it(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var ot,nt,at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},ct=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},lt=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ut=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},ht=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},pt={},mt=[],ft=[],_t={},gt=()=>{if(!gt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in _t)void 0===_t[t]?delete e[t]:e[t]=_t[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));gt.strings=r}return gt.strings},Et=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(Et.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=Et,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?z.resolve(j.join2(e,t)):e;function h(r){function n(r){d&&d(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,u,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=De(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ge=i.UnboundTypeError=(ot=Error,(nt=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(ot.prototype),nt.prototype.constructor=nt,nt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},nt),Object.assign($e.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Qe.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Qe.reserved=Qe.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Qe.reserved;t<Qe.allocated.length;++t)void 0!==Qe.allocated[t]&&++e;return e};var vt,yt={p:function(e,t,r){throw new W(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[At()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,d,u,h,p){u=ce(u),a=je(n,a),c&&(c=je(s,c)),d&&(d=je(l,d)),p=je(h,p);var m,f,_,g=ke(u);m=g,f=function(){Ke("Cannot construct ".concat(u," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+u);if(void 0===h.constructor_body)throw new he(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(u,h,!0,!1,!1),v=new Be(u+"*",h,!1,!1,!1),y=new Be(u+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=qe(t,r);o=je(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{Ke("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Xe(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=qe(r,i);t=ce(t),n=je(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ke("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Me(d,t,i),d[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=et.toValue(e);return Ze(e),t},toWireType:function(e,t){return et.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:rt(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:it(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return It(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?J(t):t.length;var n=Tt(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(It(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(It,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return It(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=Tt(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(It,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=mt[e])(t=et.toValue(t),r=void 0===(n=pt[o=r])?ce(o):n,null,i)},m:Ze,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=de[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=ft[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var d,u,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),d=Je(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,ft[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return gt().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=gt();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=C[0],y[t+12>>2]=C[1],C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=C[0],y[t+20>>2]=C[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),C=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=C[0],y[o+4>>2]=C[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},Tt=(function(){var e,t,o,n,a={a:yt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(Tt=p.G)(e)),It=e=>(It=p.I)(e),At=()=>(At=p.J)(),St=e=>(St=p.K)(e),Rt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Rt=p.M)(e));function bt(){function e(){vt||(vt=!0,i.calledRun=!0,D||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){vt||bt(),vt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),QB=$B,ZB=class extends JB{constructor(e){super(QB,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var eH=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(eH||{});function tH(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var rH=class e{constructor(e){this.core=e,PB(this,"contextMap",new Map),PB(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){var r;switch(e){case"wasm":let e=(null==(r=this.core.assetsPath)?void 0:r.replace(/\/+$/,""))||".";return new ZB(MB(OB({},t),{wasmPath:"".concat(e,"/videodec.wasm")}));case"webCodecs":return new qB;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(MB(OB({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=tH()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(MB(OB({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?tH()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};PB(rH,"Name","TRTCVideoDecoder");var iH=rH,oH=Vb(jb());function nH(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return tU(((e,o)=>{let n=new WeakMap;return bO.on(CO.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new $b({code:Jb.INVALID_OPERATION,message:zM({key:HM.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var aH,sH=!0,cH={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},lH={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},dH=((aH=dH||{})[aH.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",aH[aH.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",aH[aH.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",aH[aH.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",aH[aH.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",aH[aH.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",aH[aH.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",aH[aH.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",aH[aH.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",aH[aH.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",aH[aH.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",aH[aH.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",aH[aH.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",aH[aH.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",aH[aH.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",aH[aH.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",aH[aH.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",aH[aH.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",aH[aH.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",aH[aH.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",aH[aH.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",aH[aH.INVALID_OPERATION=5100]="INVALID_OPERATION",aH[aH.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",aH[aH.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",aH[aH.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",aH[aH.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",aH[aH.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",aH[aH.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",aH[aH.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",aH[aH.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",aH[aH.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",aH[aH.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",aH[aH.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",aH[aH.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",aH[aH.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",aH[aH.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",aH[aH.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",aH[aH.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",aH[aH.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",aH[aH.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",aH[aH.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",aH[aH.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",aH[aH.DEVICE_ERROR=5300]="DEVICE_ERROR",aH[aH.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",aH[aH.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",aH[aH.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",aH[aH.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",aH[aH.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",aH[aH.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",aH[aH.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",aH[aH.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",aH[aH.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",aH[aH.SERVER_ERROR=5400]="SERVER_ERROR",aH[aH.NEED_TO_BUY=5401]="NEED_TO_BUY",aH[aH.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",aH[aH.OPERATION_FAILED=5500]="OPERATION_FAILED",aH[aH.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",aH[aH.REJOIN_FAILED=5502]="REJOIN_FAILED",aH[aH.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",aH[aH.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",aH[aH.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",aH[aH.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",aH[aH.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",aH[aH.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",aH[aH.OPERATION_ABORT=5998]="OPERATION_ABORT",aH[aH.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",aH);var uH=Pb(Lb({},WM),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(TD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(TD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone or screen share is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=hH(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function hH(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var pH=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=dH[r];try{t=uH[s]}catch(n){t=uH.UNKNOWN_ERROR}return ID(t)?a=t(i):SD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===lH.SERVER_ERROR?t:r||t,params:Lb({fnName:n,error:a},o)}),super(l),Bb(this,"name","RtcError"),Bb(this,"code"),Bb(this,"extraCode"),Bb(this,"functionName"),Bb(this,"message"),Bb(this,"data"),Bb(this,"handler"),Bb(this,"originError"),this.name=dH[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");yk?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):Tk&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof $b){let{stack:n}=t,a={code:lH.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case Jb.INVALID_PARAMETER:a.code=lH.INVALID_PARAMETER,a.message=t.message;break;case Jb.INVALID_OPERATION:a.code=lH.INVALID_OPERATION;break;case Jb.NOT_SUPPORTED:case Jb.NOT_SUPPORTED_H264:a.code=lH.ENV_NOT_SUPPORTED,t.getCode()===Jb.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(WM.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case Jb.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case Jb.SERVER_TIMEOUT:case Jb.SWITCH_ROLE_FAILED:case Jb.SWITCH_ROOM_FAILED:a.code=lH.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case Jb.API_CALL_ABORTED:a.code=lH.OPERATION_ABORT;break;case Jb.DEVICE_NOT_FOUND:case Jb.DEVICE_AUTO_RECOVER_FAILED:case Jb.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case Jb.VIDEO_ENCODE_FAILED:a.extraCode=5505;case Jb.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=lH.OPERATION_FAILED;break;case Jb.UNKNOWN:break;default:a.code=lH.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:lH.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var mH=pH;function fH(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function _H(e){return e===cH.QOS_PREFERENCE_CLEAR?"detail":e===cH.QOS_PREFERENCE_SMOOTH?"motion":""}function gH(e,t){let r=t?Mw:Ow;return RN(e)?Lb(Lb({},r),e):kw[e]?kw[e]:r}var EH={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},vH={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},yH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(SD(e)&&!document.getElementById(e))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},TH={name:"userId",required:!0,type:"string"},IH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{type:["string","object"],properties:{bitrate:{type:"number"},channelCount:{type:"number"}}},echoCancellation:{values:[!0,!1,"remote-only","all"]},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function AH(e,t){if(!e)throw new mH({code:lH.INVALID_OPERATION,extraCode:5101,fnName:t})}function SH(e,t,r){if(!e)throw new mH({code:lH.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function RH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function bH(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function wH(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!DL())return kO.warn("small stream is not supported"),void delete e.option.small;let r=gH(e.option.profile),i=gH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:(kO.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var CH={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new mH({code:lH.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(SD(e.roomId))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});RH(e.roomId,r,t)}else{if(!e.strRoomId)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5015,fnName:r});bH(e.strRoomId,r,t)}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:yH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:EH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&dL())throw new mH({code:lH.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&wH(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Pb(Lb({},yH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:EH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&wH(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:IH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&dL())throw new mH({code:lH.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:IH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:yH,publish:{type:"boolean"},option:vH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(dL())throw new mH({code:lH.ENV_NOT_SUPPORTED,extraCode:5201});if(!gL())throw new mH({code:lH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:yH,publish:{type:"boolean"},option:vH}},muteRemoteAudio:[TH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[TH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:yH,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){AH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(SH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new mH({code:lH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Pb(Lb({},yH),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){AH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(SH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new mH({code:lH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&AD(e.streamType))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){AH(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!KL)throw new mH({code:lH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new mH({code:lH.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});AH(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new mH({code:lH.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(AH(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new mH({code:lH.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(AH(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new mH({code:lH.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)RH(e.roomId,r,t);else{if(!e.strRoomId)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5015,fnName:r});bH(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},DH={TRTC:CH},NH=class extends Error{};function kH(e,t){let r=KD(e);for(let i=0;i<t.length;i++)zD(r[i],t[i]);return r}function OH(e){this._resolve=Promise.resolve(e)}function MH(e){this._reject=Promise.reject(e)}var LH=class e{constructor(t,r){this.instance=t,this.group=r,Bb(this,"started",!1),Bb(this,"ops",[]),Bb(this,"startSame",(()=>!0)),Bb(this,"mergeUpdate",kH);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new NH("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:OH,reject:MH};try{switch(this.state){case 1:if(0===e)throw new NH("already started");break;case 4:if(2===e)throw new NH("not started");break;default:return this.cacheOp(n)}}catch(BO){return Promise.reject(BO)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new NH("already start");break;case 3:switch(e.type){case 2:throw new NH("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new NH("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new NH("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new NH("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new NH("start not allowed after update");case 0:throw new NH("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new NH("keep start")),new NH("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};Bb(LH,"instances",new WeakMap);var PH=LH,xH=new WeakMap,UH=(e,t)=>{if(t instanceof NH){let{stack:r}=t;t=new mH({code:lH.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function VH(e,t){return tU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=PH.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(UH.bind(null,i))):r.apply(this,n)}))}function FH(e,t){let{merge:r,debounce:i}=t||{};return tU(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=PH.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let d=null==(s=xH.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(UH.bind(null,o)).then(i,n)}),e);xH.has(this)?null==(l=xH.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):xH.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(UH.bind(null,o))}))}function BH(e){return tU(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(PH.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=PH.get(this,a);return s?s.action(3,t.bind(this),o).catch(UH.bind(null,r)):t.apply(this,o)}))}var HH={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},WH=new Set([HH.ERROR,HH.AUTOPLAY_FAILED,HH.KICKED_OUT,HH.REMOTE_USER_ENTER,HH.REMOTE_USER_EXIT,HH.REMOTE_AUDIO_AVAILABLE,HH.REMOTE_AUDIO_UNAVAILABLE,HH.REMOTE_VIDEO_AVAILABLE,HH.REMOTE_VIDEO_UNAVAILABLE,HH.CONNECTION_STATE_CHANGED,HH.PUBLISH_STATE_CHANGED,HH.SCREEN_SHARE_STOPPED,HH.DEVICE_CHANGED,HH.FIRST_VIDEO_FRAME,HH.PERMISSION_STATE_CHANGE,HH.VIDEO_SIZE_CHANGED]),jH={};Ub(jH,{ScheduleRequestType:()=>XH,getAbilityConfig:()=>QH,getScheduleDomain:()=>ZH,isNeedToSchedule:()=>zH,scheduleProxy:()=>YH,sendScheduleRequest:()=>qH,setIsNeedToSchedule:()=>KH,setScheduleProxy:()=>JH});var GH=null,zH=!0;function KH(e){bD(e)&&e!==zH&&(zH=e,kO.info("setIsNeedToSchedule ".concat(e)))}function qH(e){return Wb(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){var e;if(!zH&&GH)return{isCached:!0,result:GH};let d={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n));let h=(null==(e=yield mO())?void 0:e.model)||gO();h&&u.append("model",h),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let p=UD(),m=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;xD([tW((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=$H(r,"config",Pw.MAIN,!0)),o())}))($H(r,"config",Pw.MAIN),e,{get timeout(){return 1e3*vD(2+t.count[0])}}),tW((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=$H(r,"config",Pw.BACKUP,!0)),o())}))($H(r,"config",Pw.BACKUP),e,{get timeout(){return 1e3*vD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,d,r);m.config&&(m.config.loggerDomain&&pw(m.config.loggerDomain),bD(m.config.scheduleCache)&&KH(!m.config.scheduleCache)),d.delta=UD()-p;let f=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=$H(e,"config",Pw.MAIN),a=$H(e,"config",Pw.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?Pw.MAIN:Pw.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];kP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Pb(Lb({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){kO.error("getScheduleDetailCost error",n)}return i}(Number(r),t,p);return GH=m,{isCached:!1,result:m,detailCost:f}}catch(xO){let t=CD(xO)?xO[0]:xO,r=RD(t.code)?t.code:0,i="schedule failed".concat(t.message?": ".concat(t.message):""),o=new $b({code:Jb.SCHEDULE_FAILED,extraCode:r,message:zM({key:HM.JOIN_ROOM_FAILED,data:{error:i,code:r}})});throw kO.error(i,r),o}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(SC).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),bO.on("28",(()=>KH(!0))),bO.on("63",(()=>KH(!0))),bO.on("84",(()=>KH(!0))),bO.on("201",(e=>{"RECONNECTING"===e.state&&KH(!0)})),bO.on("202",(e=>{"RECONNECTING"===e.state&&KH(!0)}));var YH={main:"",backup:""};function JH(e){CD(e)?(YH.main=e[0],YH.backup=e[1]):YH.main=e}var XH=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(XH||{});function $H(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Pw.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(YH[r]||ZH(e,r,i),"/api/v1/").concat(t)}function QH(e,t,r){let i=$H(e,t),o=$H(e,t,Pw.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then((e=>e.json())),s=fetch("".concat(o,"?").concat(n)).then((e=>e.json()));return xD([a,s])}function ZH(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pw.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=oD(e)?i?r===Pw.MAIN?SC.MAIN_OVERSEA_BACKUP:SC.BACKUP_OVERSEA:r===Pw.MAIN?SC.MAIN_OVERSEA:SC.BACKUP_OVERSEA:r===Pw.MAIN?SC.MAIN:SC.BACKUP,t}function eW(e,t,r){return new Promise(((i,o)=>{yN({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var tW=(e,t)=>bN({retryFunction:eW,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var rW=class{constructor(){Bb(this,"_log"),this._log=kO.createLogger({id:"fd"})}download(e,t){return Wb(this,null,(function*(){let{type:r="blob"}=t||{};e=nN(e);try{let t,i=UD();if(t=ID(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=UD()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),rL.addSuccessEvent({key:522700,cost:UD()-i}),t.data}catch(HO){throw this._log.error("failed to download: ".concat(e,", error: ").concat(HO)),rL.addFailedEvent({key:522700,error:HO}),HO}}))}downloadWithFetch(e,t){return Wb(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(lC){throw lC}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)}))}loadWasm(e,t){return Wb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=UD(),i=null,o=null;if(ID(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&ID(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(cw){o=cw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(cw){o=cw}if(i){let t=UD()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),rL.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),rL.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=UD();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(UD()-t,"ms")),rL.addSuccessEvent({key:522702,cost:UD()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),rL.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};Fb([MP({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],rW.prototype,"download",1),Fb([MP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],rW.prototype,"loadScript",1);var iW=new rW;function oW(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:iB,LocalVideoTrack:NF,LocalScreenTrack:aB,room:i,assetsPath:n,fileDownloader:iW,innerEmitter:bO,INNER_EVENT:CO,constants:iw,environment:CN,utils:kF,eventLogger:kP,log:this.room.getLogger(),loggerManager:kO,errorModule:o,kvStatManager:rL,rtcDectection:LO,trtc:this,rx:lU,enums:PO,schedule:jH,getDevices:Lx,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return Wb(t,null,(function*(){window.VisionTaskRegistry||(yield iW.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])}))},audioContext:_x(),deviceDetector:Ox,AudioPlayer:jx,AutoPlayDialog:ix,Timer:RP,clearStarted:(e,t)=>{let r=e.getAlias(),i=PH.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:lB,createAudioNode:Ax,getNetworkTimeOffset:Qb}}var nW=new WeakMap;var aW="5.13.1-wasm.6";function sW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return tU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{lW.call(this,t,o,r,this._name)}catch(HO){return Promise.reject(HO)}return e.apply(this,o)}))}function cW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return tU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{lW.call(this,t,o,r,this._name)}catch(HO){throw HO}return e.apply(this,o)}))}function lW(e,t,r,i){if(CD(e))for(let o=0;o<e.length;o++)dW.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else dW.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function dW(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:lH.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(AD(r)){if(t.required)throw new mH(a(5001));if(AD(t.defaultValue))return void(ID(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),ID(t.type[i])&&r instanceof t.type[i]&&(e=!0),SD(t.type[i])&&TD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new mH({code:lH.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>OD(e)?MD(e):SD(e)?e:TD(e)))},value:r}})}else if(!AD(t.type)&&TD(r)!==t.type)throw new mH(a(5002));if(!1===t.allowEmpty){let e=RD(r)&&(0===r||Number.isNaN(r)),t=SD(r)&&""===r.trim();if(e||t)throw new mH(a(5003))}if(t.notLessThanZero&&RD(r)&&r<0)throw new mH(a(5006));if(!AD(t.min)&&RD(r)&&r<t.min)throw new mH(a(5007));if(!AD(t.max)&&RD(r)&&r>t.max)throw new mH(a(5008));if(SD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new mH(a(5004))}else if(ID(t.instanceOf)&&!(r instanceof t.instanceOf))throw new mH(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new mH(a(5005));let{properties:s}=t;ED(s)&&wD(r)&&Object.keys(s).forEach((e=>{dW.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;ED(c)&&CD(r)&&r.forEach(((e,t)=>{dW.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),ID(t.validate)&&t.validate.call(this,r,i,o,n,this)}function uW(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return tU(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(TD(t)):t instanceof MediaStreamTrack?aN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(TD(t))}}let m=this._log||kO;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,((e,t)=>p(e,t,["userSig","privateMapKey"]))))):m.info("".concat(a,"()"));let f=i?i(...c):JM[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=UD();if(kD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),rL.addSuccessEvent({key:f,cost:UD()-i}),r))).catch((r=>{var i;let o=(r=mH.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),rL.addFailedEvent({key:f,error:r}),r}))}return rL.addSuccessEvent({key:f}),r}catch(zO){let t=(zO=mH.convertFrom.call(this,zO,a)).extraCode||zO.code,r=null!=(h=zO.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(zO).concat(r," params: ").concat(JSON.stringify(c,p))),rL.addFailedEvent({key:f,error:zO}),zO}}))}var hW,pW=e=>tU(((t,r)=>function(i,o){return Wb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new mH({code:lH.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(ID(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new mH({code:lH.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return lW.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),mW=0,fW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"customAudioReferenceMap",new Map),Bb(this,"audioRefId",0),Bb(this,"audioContext",_x()),Bb(this,"localAudioWorkletNode"),Bb(this,"screenAudioWorkletNode"),Bb(this,"mixNode"),Bb(this,"silentNode"),mW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(mW)}),this.log.info("created id=".concat(this.getAlias()).concat(mW)),this.installEvent()}static getStartValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack&&!e.room.audioManager.hasScreenAudioTrack)throw new mH({code:lH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return hW||(hW=this.doPreload(e)),hW}doPreload(e){return Wb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield nx(this.audioContext,r)}catch(HO){this.log.error("preload audioProcessor failed. ".concat(HO))}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Wb(this,null,(function*(){var t,r,i,o;let{room:n}=this.core,{sdkAppId:a,userId:s,userSig:c,assetsPath:l=this.core.assetsPath,audioReference:d,processLevel:u,enableDump:h,isLocalAudioNeedAudioProcess:p=!0,isScreenAudioNeedAudioProcess:m=!1}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=p,this.core.room.audioManager.isScreenAudioNeedAudioProcess=m,!l)throw new mH({code:lH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(l,"/audioProcessor-wasm.js")),p&&!this.localAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",a,s,r,e,t,n)}if(m&&!this.screenAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",a,s,r,e,t,n)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"enable"}),null==(r=this.screenAudioWorkletNode)||r.port.postMessage({type:"enable"}),n.audioManager.addAudioProcessor(this.mixNode,this.silentNode,this.localAudioWorkletNode,this.screenAudioWorkletNode),AD(d)||d.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),AD(u)||null==(i=this.localAudioWorkletNode)||i.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:u}}),AD(h)||null==(o=this.localAudioWorkletNode)||o.port.postMessage({type:"dump",data:{enable:h}})}))}update(e){return Wb(this,null,(function*(){var t,r,i;let{audioReference:o,enableDump:n,processLevel:a}=e;AD(o)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),o.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),AD(a)||null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),AD(n)||(null==(r=this.localAudioWorkletNode)||r.port.postMessage({type:"dump",data:{enable:n}}),null==(i=this.screenAudioWorkletNode)||i.port.postMessage({type:"dump",data:{enable:n}}))}))}stop(){return Wb(this,null,(function*(){var e,t;let{room:r}=this.core;null==(e=this.localAudioWorkletNode)||e.port.postMessage({type:"disable"}),null==(t=this.screenAudioWorkletNode)||t.port.postMessage({type:"disable"}),yield r.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null),this.uninstallEvent()}getAuthData(e,t,r){return Wb(this,null,(function*(){let i=String(Date.now()).slice(0,-3),{auth:o,sign:n,status:a,message:s}=yield function(e){return Wb(this,arguments,(function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pw.MAIN;return"https://".concat(YH[t]||ZH(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"&timestamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=oD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()}))}({sdkAppId:e,userSig:r,userId:t,timestamp:i});if(!o)throw this.log.info("audioProcessor: ".concat(t," auth result: ").concat(o,". Message: ").concat(s)),new mH({code:lH.INVALID_PARAMETER,message:s});return{sign:n,status:a,timestamp:i}}))}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("".concat("localAudio"===t?"":"[".concat(t,"] "),"avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(tw(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("".concat("localAudio"===t?"":"[".concat(t,"] ")).concat(i.value));case"dump":return void bO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}handleLocalAudioStarted(e){return Wb(this,null,(function*(){var t;if(this.hitTest(e.room)&&!0===(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor))try{yield this.core.trtc.startPlugin("AudioProcessor",{sdkAppId:this.core.room.sdkAppId,userId:this.core.room.userId,userSig:this.core.room.userSig}),this.log.warn("audio processor auto start success")}catch(lC){this.log.warn("audio processor auto start failed, error: ".concat(lC))}}))}handleLocalAudioStopped(e){return Wb(this,null,(function*(){var t;!this.hitTest(e.room)||!0!==(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor)||(yield this.core.trtc.stopPlugin("AudioProcessor"))}))}installEvent(){this.core.innerEmitter.on("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.on("114",this.handleLocalAudioStopped,this)}uninstallEvent(){this.core.innerEmitter.off("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.off("114",this.handleLocalAudioStopped,this)}hitTest(e){return e===this.core.room}};Bb(fW,"updateValidateRule",{type:"object"}),Bb(fW,"stopValidateRule",{type:"object"}),Bb(fW,"Name","AudioProcessor");var _W=fW;var gW=0,EW=class{constructor(e,t){Bb(this,"audioObjectURL"),Bb(this,"player"),Bb(this,"publisher"),Bb(this,"mixInput"),this.mixInput=new yx(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(AD(e.volume)||(this.volume=e.volume),AD(e.loop)||(this.loop=e.loop),AD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reload(e){return Wb(this,null,(function*(){if(e.url){let t=yield iW.download(e.url,{retries:3,type:"blob"});this.audioObjectURL&&URL.revokeObjectURL(this.audioObjectURL),this.audioObjectURL=URL.createObjectURL(t),this.player&&this.publisher?(this.player.src=this.audioObjectURL,this.publisher.src=this.audioObjectURL):(this.player=new Audio(this.audioObjectURL),this.player.crossOrigin="anonymous",this.publisher=new Audio(this.audioObjectURL),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher),this.updateListener(e),this.updateSettings(e))}else this.mixInput.replaceSource(e.track)}))}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return Promise.all([null==(e=this.player)?void 0:e.play(),null==(t=this.publisher)?void 0:t.play()])}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function vW(e,t){if(t&&"function"!=typeof t)throw new mH({code:lH.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var yW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"mixedMusicMap",new Map),Bb(this,"cacheMusicMap",new Map),gW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(gW)}),this.log.info("created id=".concat(this.getAlias()).concat(gW))}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Wb(this,null,(function*(){let{room:t}=this.core;this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new EW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e);try{yield o.play()}catch(cw){yield this.handleAutoPlayFailed(o,e,cw)}this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),rL.addEnum({key:502700,value:3}),this.kvUpload(e)}))}handleAutoPlayFailed(e,t,r){return Wb(this,null,(function*(){if("NotSupportedError"===r.name)this.log.error("play failed, try to reload source. error: ".concat(r)),yield e.reload(t),yield e.play();else{if("NotAllowedError"!==r.name)throw r;if(this.core.room.enableAutoPlayDialog){let t=()=>{var r;null==(r=e.play())||r.finally((()=>{bO.off("154",t,this)}))};bO.on("154",t,this),new ix}else this.core.trtc.emit(HH.AUTOPLAY_FAILED,{userId:"",mediaType:"audio",resume:()=>Wb(this,null,(function*(){return e.play()}))})}}))}update(e){return Wb(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),AD(r)||n.setOperation(r),AD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Wb(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||e.stop(),t.mixedMusicMap.delete(r)}"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&rL.addCount({key:502009}),r&&rL.addCount({key:502001}),i&&rL.addCount({key:502002}),o&&rL.addCount({key:502003}),n&&rL.addCount({key:502004}),a&&rL.addCount({key:502005}),"function"!=typeof s&&rL.addCount({key:502007}),"function"!=typeof l&&rL.addCount({key:502008}),"function"!=typeof c&&rL.addCount({key:502006})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId:t}),this.stop({id:t})}))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};Bb(yW,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new mH({code:lH.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new mH({code:lH.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});vW("onTimeUpdate",e.onTimeUpdate),vW("onEnded",e.onEnded),vW("onDurationChange",e.onDurationChange)}}),Bb(yW,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){vW("onTimeUpdate",e.onTimeUpdate),vW("onEnded",e.onEnded),vW("onDurationChange",e.onDurationChange)}}),Bb(yW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Bb(yW,"Name","AudioMixer");var TW,IW=yW,AW=0,SW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"audioContext",_x()),Bb(this,"workletNode"),Bb(this,"config",{enableFarFieldReduce:!1,farFieldReduceThreshold:.5}),AW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(AW)}),this.log.info("created id=".concat(this.getAlias()).concat(AW))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0},mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new mH({code:lH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return TW||(TW=this.doPreload(e)),TW}doPreload(e){return Wb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield nx(this.audioContext,r)}catch(HO){throw this.log.error("load worklet failed",HO),HO}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser"}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Wb(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new mH({code:lH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(i,"/denoiser-wasm").concat($L()?"":"-nosimd",".js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return Wb(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=oD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,Pb(Lb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new mH({code:lH.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(tw(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.updateConfig(e),this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return Wb(this,null,(function*(){this.updateConfig(e)}))}stop(){return Wb(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}updateConfig(e){if(!this.workletNode)return;let t=!1;AD(e.mode)||(0===e.mode?this.config.enableFarFieldReduce=!1:1===e.mode&&(this.config.enableFarFieldReduce=!0),t=!0),AD(e.farFieldReduceThreshold)||(this.config.farFieldReduceThreshold=e.farFieldReduceThreshold,t=!0),t&&this.workletNode.port.postMessage({type:"setConfig",data:this.config})}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};Bb(SW,"updateValidateRule",{type:"object",properties:{mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}}}),Bb(SW,"stopValidateRule",{type:"object"}),Bb(SW,"Name","AIDenoiser");var RW=SW;var bW=Vb(jb(),1),wW=class extends bW.EventEmitter{constructor(){super(),Bb(this,"observer"),Bb(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return Wb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!BN&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(sw){kP.uploadEvent({log:"stat-pressure-detector-start-failed",error:sw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&kO.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(lC){kP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:lC})}}},CW=new wW;function DW(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new wF(new DataView(new Uint8Array(a).buffer),!0)}function NW(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(DW),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function kW(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new wF(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(sw){}return t}var OW=0,MW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"_seiMessageList",[]),Bb(this,"_smallSeiMessageList",[]),Bb(this,"_subStreamSeiMessageList",[]),OW++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(OW)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(OW)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return NW({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(lC){this.log.warn(lC)}return t}decode(e){let{frame:t,track:r}=e;return kW({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(HH.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:GL?this.encode:NW,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:GL?this.decode:kW,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};Bb(MW,"autoStart",!0),Bb(MW,"Name","SEI");var LW=MW;function PW(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function xW(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var UW={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{UW["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var VW,FW=0,BW=class e{constructor(e){this.core=e,Bb(this,"_core"),Bb(this,"log"),Bb(this,"dumpLocalVideoMap",{}),Bb(this,"dumpRemoteVideoMap",{}),Bb(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++FW)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return Wb(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(e){return Wb(this,arguments,(function(e){var t=this;let{visible:r}=e;return function*(){r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor())}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Wb(this,null,(function*(){var e;if(!this.dialog)try{if(VW)yield VW;else{let t=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(nw,"/assets/debug-dialog.js");VW=this._core.fileDownloader.loadScript(t),yield VW}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(sw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(sw))}}))}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):PW,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):xW,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return PW({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return xW({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};Bb(BW,"Name","Debug"),Bb(BW,"autoStart",!0);var HW=BW,WW=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},jW=class{constructor(e,t,r){Bb(this,"trackDoneOB"),Bb(this,"startOB"),Bb(this,"stopOB"),Bb(this,"inputFrameCount",0),Bb(this,"decodedFrameCount",0),Bb(this,"type","auto"),Bb(this,"config"),Bb(this,"decoder"),Bb(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=$U(t,vP.INIT),this.stopOB=HU(),this.startOB=HU(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=HU();yU(this.startOB,xU(0),XV((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),yU(r,vV(this.stopOB),EF((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:WW(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),yU(r,EV(1),fF(lV))})),vV(this.stopOB),EF((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:WW(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return CU()((t=>Wb(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(HO){e.log.error(HO),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},GW={type:"object"},zW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"contextMap",new Map),Bb(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return GW}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new jW(this.core,i,e);return yU(o.trackDoneOB,EV(1),EF((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new jW(this.core,e.track,e))}}};Bb(zW,"Name","TRTCAudioDecoder");var KW=zW,qW=class{constructor(){Bb(this,"log"),this.log=kO.createLogger({id:"exp"})}call(e,t){return Wb(this,null,(function*(){return ID(this[e])?this[e](t):Promise.reject(new $b({code:Jb.INVALID_PARAMETER,message:zM({key:HM.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return Wb(this,null,(function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM((e=>{t.emit(HH.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(HH.AUDIO_FRAME,e)}),i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}}));else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}}))}};Fb([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return tU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return vB.call(this,t,o,r,this._name),e.apply(this,o)}))}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],qW.prototype,"enableAudioFrameEvent",1);var YW=new qW,JW=Vb(jb(),1),XW=class extends JW.EventEmitter{constructor(){super(),Bb(this,"states",{}),Bb(this,"permissionChangeHandler"),Bb(this,"log"),this.log=kO.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return Wb(this,null,(function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach((e=>e.stop()))}))}get(e){return Wb(this,null,(function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(lC){return this.log.error("get ".concat(e," permission failed, error: ").concat(lC instanceof Error?lC.message:lC)),null}}))}destroy(){Object.values(this.states).forEach((e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)})),this.states={}}},$W=new XW,QW=0,ZW=new Set,ej=null;aw(aW),MO.checkStorage();var tj=class e extends oH.EventEmitter{constructor(t,r){super(),Bb(this,"_room"),Bb(this,"_eventListened",new Set),Bb(this,"_localVideoTrack",null),Bb(this,"_localAudioTrack",null),Bb(this,"_localScreenTrack",null),Bb(this,"_localScreenAudioTrack",null),Bb(this,"_localVideoConfig",null),Bb(this,"_localScreenConfig",null),Bb(this,"_localAudioConfig",null),Bb(this,"_remoteVideoConfigMap",new Map),Bb(this,"_remoteAudioConfigMap",new Map),Bb(this,"_remoteAudioVolumeMap",new Map),Bb(this,"_remoteAudioMuteMap",new Map),Bb(this,"_mediaTrackMap",new WeakMap),Bb(this,"_log",kO.createLogger({id:"t".concat(++QW)})),Bb(this,"_plugins",new Map),Bb(this,"_networkQuality",null),Bb(this,"_speakerId"),Bb(this,"enterRoomParams"),Bb(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(Lb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,bD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(IW,r.assetsPath),this._use(_W,r.assetsPath),this._use(RW,r.assetsPath),this._use(KW,r.assetsPath),this._use(HW),r.enableSEI&&KL&&this._use(LW),this._room.on("audio-volume",(e=>{var t,i;!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),r.enableDbVolume&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(HH.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new mH({code:lH.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(HO){let r=zM({key:HM.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return kO.warn("".concat(r,"\n\n").concat(HO.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(sH){sH=!1,5!==kO.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(Ew,"/en/index.html")),console.info("* Changelog: ".concat(Ew,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),kO.info("TRTC Web SDK Version:",nw),sO||kO.debug("Build Time:","2025-09-28 14:15:48");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(fO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),kO.info(t),kO.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),mO().then((e=>{e&&kO.info(pO)}))}}();let i=new e(t,r||{});return ZW.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){DP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(HH.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(HH.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(HH.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(HH.ERROR,mH.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(HH.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Pb(Lb({},e),{uplinkRTT:Math.min(e.uplinkRTT,xC),downlinkRTT:Math.min(e.downlinkRTT,xC)});this.emit(HH.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{DP(t,t).add("player-state-changed",(r=>{let i=Pb(Lb({},r),{userId:e.userId});t.kind===Pw.VIDEO&&(i.streamType=fH(t.streamType)),this.emit(t.kind===Pw.AUDIO?HH.AUDIO_PLAY_STATE_CHANGED:HH.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===Jb.PLAY_NOT_ALLOWED&&this.emit(HH.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{NP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?HH.REMOTE_VIDEO_AVAILABLE:HH.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?HH.REMOTE_AUDIO_AVAILABLE:HH.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?HH.REMOTE_VIDEO_AVAILABLE:HH.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(HH.SEI_MESSAGE,Pb(Lb({},e),{streamType:fH(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(HH.ERROR,new mH({code:lH.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,xC),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/wM},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/wM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec})))})))};this.emit(HH.STATISTICS,l)})).add("custom-message",(e=>{this.emit(HH.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(HH.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(HH.FIRST_VIDEO_FRAME,Pb(Lb({},e),{streamType:fH(e.streamType)}))})).add("audio-frame",(e=>{this.emit(HH.AUDIO_FRAME,e)})),DP(this,Ox).add("audioInputAdded",(e=>{this.emit(HH.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(HH.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(HH.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(HH.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Wb(this,null,(function*(){if(this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),ej&&ej.deviceId===DC){let e=(yield Vx()).find((e=>e.deviceId===DC));e&&ej.groupId!==e.groupId&&(ej=e,this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Wb(this,null,(function*(){this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield Vx())[0];if(!t||!ej||ej.groupId===t.groupId)return;let r=ej.deviceId===e.deviceId,i=ej.deviceId===DC&&ej.deviceId===t.deviceId;(r||i)&&(ej=t,this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),DP(this,$W).add("permission-state-change",(e=>{this.emit(HH.PERMISSION_STATE_CHANGE,e)}))}getNetworkTime(){return Zb()}use(e){let t,r;return"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,"Chorus"===t.Name&&(this.room.enableChorus=!0),this._use(t,r)}_use(t,r){let i=this._plugins.get(t.Name);if(i)return this._log.warn("duplicate install plugin",t.Name),i;let o=new t(oW.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:mH,ErrorCode:lH,CoreErrorCode:Jb,ErrorCodeDictionary:dH}}));return this._plugins.set(t.Name,o),o.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name),o}enterRoom(t){return Wb(this,null,(function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!SD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,bD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,useH265:t.useH265,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),CW.start()}))}exitRoom(){return Wb(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return Wb(this,null,(function*(){if(this.room.isSwitchRoomSupported())try{yield this._room.switchRoom(e)}catch(lC){if(!(lC instanceof Xb)||lC.code!==Jb.API_CALL_TIMEOUT&&lC.code!==Jb.SWITCH_ROOM_FAILED)throw lC;this._log.warn("switchRoom ".concat(lC.code===Jb.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)}))}_rejoinRoom(e){return Wb(this,null,(function*(){yield this.exitRoom();let t=Lb(Lb({},this.enterRoomParams),e);yield this.enterRoom(t)}))}switchRole(e,t){return Wb(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),NP(this),this.removeAllListeners(),this._room.destroy(),ZW.delete(this),0===ZW.size&&CW.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),bO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new bF(e._room.audioManager),a={},s={muted:!0};o&&(AD(o.microphoneId)?AD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&RD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),AD(o.profile)||(SD(o.profile)?Nw[o.profile]&&n.setProfile(Nw[o.profile]):n.setProfile(o.profile)),RD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),AD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),AD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),AD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),bD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",(t=>{e.emit(HH.ERROR,new mH({code:lH.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(HH.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=mH.convertFrom(t.error)),e.emit(HH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),n.on("6",(()=>{e.emit(HH.ERROR,new mH({code:lH.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),AD(i)||n.setMute(i),DP(n,n).add("player-state-changed",(t=>{e.emit(HH.AUDIO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Pb(Lb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),bO.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return Wb(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):AD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),AD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),AD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!AD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),AD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),zD(this._localAudioConfig,e)}))}stopLocalAudio(){return Wb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),bO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),NP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new NF(e._room.videoManager),l={},d={};s&&(bD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:AD(s.useFrontCamera)?AD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?Pw.FACING_MODE_USER:Pw.FACING_MODE_ENVIRONMENT,AD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=_H(s.qosPreference)),AD(s.profile)||(SD(s.profile)?kw[s.profile]&&c.setProfile(kw[s.profile]):c.setProfile(s.profile)),AD(s.fillMode)||(d.objectFit=s.fillMode),AD(s.mirror)||(d.mirror=s.mirror),AD(s.small)||(AD(s.smallMode)||(e._room.smallMode=s.smallMode),bD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(gH(s.small,!0))),AD(s.rotation)||c.setRotation(s.rotation),bD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",(t=>{e.emit(HH.FIRST_VIDEO_FRAME,Pb(Lb({},t),{streamType:fH(t.streamType)}))})),c.on("5",(t=>{e.emit(HH.ERROR,new mH({code:lH.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(HH.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=mH.convertFrom(t.error)),e.emit(HH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),c.on("6",(()=>{e.emit(HH.ERROR,new mH({code:lH.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),AD(a)||(yield c.setMute(a)),DP(c,c).add("player-state-changed",(t=>{e.emit(HH.VIDEO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:"",streamType:"main"}))})).add("video-size-changed",(t=>{e.emit(HH.VIDEO_SIZE_CHANGED,Pb(Lb({},t),{streamType:fH(t.streamType)}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Pb(Lb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()}))}updateLocalVideo(e){return Wb(this,null,(function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):AD(null==c?void 0:c.useFrontCamera)?AD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?Pw.FACING_MODE_USER:Pw.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?Pw.FACING_MODE_USER:Pw.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(AD(c.profile)||(SD(c.profile)?kw[c.profile]&&this._localVideoTrack.setProfile(kw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&AD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),AD(c.fillMode)||(l.objectFit=c.fillMode),AD(c.mirror)||(l.mirror=c.mirror),AD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(_H(c.qosPreference)),AD(c.small)||(bD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(gH(c.small,!0)))),this._room.isJoined&&AD(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch((()=>{})):this._room.unpublish(this._localVideoTrack).catch((()=>{}))),AD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),zD(this._localVideoConfig,e)}))}stopLocalVideo(){return Wb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),NP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new aB(e._room.videoManager);c.on("4",(t=>{let r;t.error&&(r=mH.convertFrom(t.error)),e.emit(HH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),c.once("first-video-frame",(t=>{e.emit(HH.FIRST_VIDEO_FRAME,Pb(Lb({},t),{streamType:fH(t.streamType)}))})),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(AD(s.profile)||(SD(s.profile)?Lw[s.profile]&&c.setProfile(Lw[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),AD(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=_H(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener(Pw.ENDED,(()=>{e._stopScreenShare(),e.emit(HH.SCREEN_SHARE_STOPPED)})),h.getAudioTracks()[0]){l=new cB(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),bD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(DP(c,c).add("player-state-changed",(t=>{e.emit(HH.VIDEO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=Pb(Lb({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()}))}updateScreenShare(e){return Wb(this,null,(function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(AD(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=_H(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!AD(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch((()=>{}))}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch((()=>{}))}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&bD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),zD(this._localScreenConfig,e)}))}stopScreenShare(){return Wb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Wb(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;c.on("decode-failed",(e=>{this.emit(HH.ERROR,new mH({code:lH.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))})),c.on("video-size-changed",(e=>{this.emit(HH.VIDEO_SIZE_CHANGED,Pb(Lb({},e),{streamType:fH(e.streamType)}))})),this._listenOutputTrackChanged(c),o&&(AD(o.fillMode)||(s.objectFit=o.fillMode),AD(o.mirror)||(s.mirror=o.mirror),AD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!AD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!AD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Wb(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(AD(a.fillMode)||(l.objectFit=a.fillMode),AD(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!AD(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),zD(h,e);let p=AD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=AD(i)?h.view:i,f=AD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Wb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Wb(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));this._removeRemoteVideoConfig(e.userId,e.streamType)}))}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return Wb(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(HO){throw HO.code!==lH.OPERATION_ABORT&&this._remoteAudioMuteMap.delete(e),HO}}))}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach(((e,r)=>this._remoteAudioVolumeMap.set(r,t)));let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return Wb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Wb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Wb(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(HH.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{WH.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(HO){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach((e=>{null==e||e.abort("off")})),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(SD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return Wb(this,null,(function*(){(yield Vx()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),ej=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return Wb(this,null,(function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",(e=>{this.emit(HH.ERROR,new mH({code:lH.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))})),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=RD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),yU($U(n,"decode-failed"),vV($U(n,vP.INIT)),EF((()=>{this.startPlugin(KW.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:o,track:n}),bO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(jO){throw this._remoteAudioConfigMap.delete(r),jO}this._emitTrackEvent(n)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Wb(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId)),bO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".concat(e.userId)})}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),yU($U(e,"decode-failed"),vV($U(e,vP.INIT)),vF((()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),QV($U(e,"decode-downgrade-state-changed")),EF((i=>{r=i.state,this.emit(HH.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Pb(Lb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Wb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),AD(t)&&o&&o.view&&!HD(r)){let e=qD(o.view);e.length>0&&(yield i.play(e,r))}if(!AD(t)){let e=qD(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Wb(this,arguments,(function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(cw){}if(AD(r.muted)||i.setPlayerMute(r.muted),AD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof bF&&i.mediaTrack){let e=!1===r.muted&&!AD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof pB){let e=r.muted?0:r.volume;if(AD(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(HH.TRACK,{userId:r,streamType:fH(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack),this._checkScreenAudioEchoCancellation(this._localScreenTrack,this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(AD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(fH(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||CD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))})),clearTimeout(c),c=window.setTimeout((()=>{[...s.values()].find((e=>e))?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(qD(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return Wb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),function(e){let t=nW.get(e);t&&(t.forEach((e=>clearTimeout(e))),nW.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{NP(e.remoteAudioTrack),NP(e.remoteVideoTrack),NP(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Wb(this,null,(function*(){var e,t;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),NP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return Wb(this,null,(function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(BO){this._log.warn("start audioProcessor plugin failed: ",BO)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!ej||Mx(ej))&&(this._initActiveSpeaker(),bO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Wb(this,null,(function*(){if(ej&&!Mx(ej))this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:ej});else{let e=yield Vx();e[0]&&!Mx(e[0])?(ej=e[0],this.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):bO.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:Pb(Lb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),rL.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),rL.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return Wb(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),YW.call(e,Lb({trtcInstance:this},t))}))}static setLogLevel(e,t){kO.setLogLevel(e),AD(t)||(t?kO.enableUploadLog():kO.disableUploadLog())}static isSupported(){return fL(e.frameWorkType)}static getPermissions(e){return Wb(this,arguments,(function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield $W.request(r).catch((e=>{var t;return kO.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))})));let[e,i]=yield Promise.all([$W.get("camera"),$W.get("microphone")]);return{camera:e,microphone:i}}()}))}static getCameraList(){return xx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return Px(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return Vx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Wb(this,null,(function*(){if(!BN||t!==cH.SPEAKER&&t!==cH.HEADSET)(yield Vx()).forEach((e=>{e.deviceId===t&&(ZW.forEach((r=>{r._setCurrentSpeaker(t),r.emit(HH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),ej=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;ZW.forEach((e=>Wb(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a,max:s}=e;switch(a&&(tL.version=a),t){case"count":tL.addCount({key:r,useUV:n});break;case"enum":tL.addEnum({key:r,value:i,useUV:n});break;case"number":tL.addNumber({key:r,value:i,split:o,max:s})}}};Bb(tj,"VERSION",aW),Bb(tj,"_loggerManager",kO),Bb(tj,"EVENT",HH),Bb(tj,"ERROR_CODE",lH),Bb(tj,"TYPE",cH),Bb(tj,"frameWorkType",30),Fb([uW({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],tj.prototype,"use",1),Fb([sW(DH.TRTC.enterRoom),VH("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),tU((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),uW()],tj.prototype,"enterRoom",1),Fb([uW()],tj.prototype,"exitRoom",1),Fb([sW(DH.TRTC.switchRoom),uW(),sU()],tj.prototype,"switchRoom",1),Fb([sW(DH.TRTC.switchRole),FH("room",{merge:(e,t)=>t}),uW()],tj.prototype,"switchRole",1),Fb([uW()],tj.prototype,"destroy",1),Fb([sW(DH.TRTC.startLocalAudio),VH("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),uW()],tj.prototype,"startLocalAudio",1),Fb([sW(DH.TRTC.updateLocalAudio),FH("audio",{debounce:{delay:200,getKey:()=>"".concat(QW,"-localAudio"),isNeedToDebounce:e=>{var t;return!AD(null==(t=e.option)?void 0:t.captureVolume)}}}),uW()],tj.prototype,"updateLocalAudio",1),Fb([BH("audio"),uW()],tj.prototype,"stopLocalAudio",1),Fb([sW(DH.TRTC.startLocalVideo),VH("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),uW()],tj.prototype,"startLocalVideo",1),Fb([sW(DH.TRTC.updateLocalVideo),FH("video"),uW()],tj.prototype,"updateLocalVideo",1),Fb([BH("video"),uW()],tj.prototype,"stopLocalVideo",1),Fb([sW(DH.TRTC.startScreenShare),VH("screen",(()=>!0)),uW()],tj.prototype,"startScreenShare",1),Fb([sW(DH.TRTC.updateScreenShare),FH("screen"),uW()],tj.prototype,"updateScreenShare",1),Fb([uW()],tj.prototype,"stopScreenShare",1),Fb([sW(DH.TRTC.startRemoteVideo),VH((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),uW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],tj.prototype,"startRemoteVideo",1),Fb([sW(DH.TRTC.updateRemoteVideo),FH((e=>"v".concat(e.userId).concat(e.streamType))),uW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],tj.prototype,"updateRemoteVideo",1),Fb([sW(DH.TRTC.stopRemoteVideo),tU((e=>function(t){return Wb(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),uW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],tj.prototype,"stopRemoteVideo",1),Fb([BH((e=>"v".concat(e.userId).concat(e.streamType)))],tj.prototype,"_stopRemoteVideo",1),Fb([sW(...DH.TRTC.muteRemoteAudio),uW({getRemoteId:e=>e})],tj.prototype,"muteRemoteAudio",1),Fb([cW(...DH.TRTC.setRemoteAudioVolume),function(e,t){return tU(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=nW.get(this);a||(a=new Map,nW.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=nW.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=nW.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),uW({getRemoteId:e=>e})],tj.prototype,"setRemoteAudioVolume",1),Fb([pW("start"),eU((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),VH(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),uW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>XM[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],tj.prototype,"startPlugin",1),Fb([pW("update"),FH(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),{merge:(e,t)=>(zD(e[1],t[1]),e)}),uW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>$M[e.getName()]})],tj.prototype,"updatePlugin",1),Fb([pW("stop"),BH(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),uW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>QM[e.getName()]})],tj.prototype,"stopPlugin",1),Fb([cW(...DH.TRTC.enableAudioVolumeEvaluation)],tj.prototype,"enableAudioVolumeEvaluation",1),Fb([uW()],tj.prototype,"getVideoSnapshot",1),Fb([uW()],tj.prototype,"_setCurrentSpeaker",1),Fb([VH((e=>"a".concat(e.userId)),(()=>!0))],tj.prototype,"_startRemoteAudio",1),Fb([tU((e=>function(t){return Wb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Pb(Lb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),BH((e=>"a".concat(e.userId)))],tj.prototype,"_stopRemoteAudio",1),Fb([BH("room")],tj.prototype,"_exitRoom",1),Fb([BH("screen")],tj.prototype,"_stopScreenShare",1),Fb([sW(...DH.TRTC.sendSEIMessage),nH({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],tj.prototype,"sendSEIMessage",1),Fb([sW(DH.TRTC.sendCustomMessage),nH({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],tj.prototype,"sendCustomMessage",1),Fb([sW(DH.TRTC.create)],tj,"_create",1);var rj=tj,ij=class{constructor(e,t){Bb(this,"_flag"),Bb(this,"terminalType"),Bb(this,"userId"),Bb(this,"tinyId"),Bb(this,"role"),Bb(this,"remoteAudioTrack"),Bb(this,"remoteVideoTrack"),Bb(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new pB(e,this),this.remoteVideoTrack=new mB(e,this),this.remoteAuxiliaryTrack=new fB(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return WD(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},oj=class{constructor(){Bb(this,"_set",new Set),bO.on(CO.LEAVE_SUCCESS,this.delete,this),bO.on(CO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function nj(){return Wb(this,null,(function*(){let e,t;try{let t=yield Px();e=t&&t.length}catch(p){}try{let e=yield xx();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=LO.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};kP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),kP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),aP()}))}var aj=class{constructor(e){Bb(this,"_frameWorkType"),Bb(this,"_component"),Bb(this,"_language"),Bb(this,"connectionType"),Bb(this,"_room"),Bb(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0,reportToken:void 0}),Bb(this,"_keyPrefix"),Bb(this,"_log"),Bb(this,"_intervalId"),Bb(this,"_firstPublishedUserList"),Bb(this,"_networkQuality"),Bb(this,"_basicInfo"),Bb(this,"_pathJoinRoom"),Bb(this,"_pathLeaveRoom"),Bb(this,"_pathMainVideoMap"),Bb(this,"_pathMainAudioMap"),Bb(this,"_pathAuxiliaryMap"),Bb(this,"_remoteStreamStatMap"),Bb(this,"_localStreamStat"),Bb(this,"_eventMap",new Map),Bb(this,"_captureCostSum",0),Bb(this,"_captureCostCount",0),Bb(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=kO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&ID(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return kD(n)?n.catch((e=>kO.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(lC){kO.error("".concat(t.name,"() error observed ").concat(lC))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:nw,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,mO().then((e=>{this._basicInfo.string_os_version=IO(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),bO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(CO.JOIN_START,this.handleJoinStart).addEvent(CO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(CO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(CO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(CO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(CO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(CO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(CO.JOIN_FAILED,this.handleJoinFailed).addEvent(CO.LEAVE_START,this.handleLeaveStart).addEvent(CO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(CO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(CO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(CO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(CO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(CO.PUBLISH_START,this.handlePublishStart).addEvent(CO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(CO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(CO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(CO.PLAY_TRACK_START,this.handlePlayStart).addEvent(CO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(CO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===Pw.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(CO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(CO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(CO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(CO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(CO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(CO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(CO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(CO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>bO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),RP.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(AD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),AD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),AD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof $b?Number(r.getExtraCode()||r.getCode()):Jb.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time&&(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time?this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time:this._log.warn("pathJoinRoom endTime is 0"),this.report())}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then((()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e}))}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof $b?Number(r.getExtraCode()||r.getCode()):Jb.UNKNOWN)}}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:Pb(Lb({},cj),{msg_user_info:new lj({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new lj({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,rL.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/wM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/wM,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*Ob(10,6)))}})),!HD(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/wM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/wM,t.audioLevelCount++))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0))}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof $b?r.getExtraCode()||r.getCode():Jb.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Fw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Ww))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Hw))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,Pw.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,Pw.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,sj));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>sj&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+sj):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>sj&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+sj):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>sj&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+sj)}getReportData(){this._basicInfo.uint32_networkType=dD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new lj({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:GD(this._signalInfo.relayIp),uint32_client_ip:GD(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Ob(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:GD(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend,str_user_sig:this._room.userSig,bytes_report_token:this._signalInfo.reportToken};return rN(e),e}report(){return Wb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(FO){this._log.warn(FO)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Wb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=DO.enable?hN(e,2001,t):yield TN(e),i=r instanceof ArrayBuffer,o="".concat(nD(t,Aw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(rL),this.uploadKVStat(tL)];n||a.push(yN({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Wb(this,null,(function*(){let t=e.getReportData(this._room.userSig,this._signalInfo.reportToken);if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Pb(Lb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=DO.enable?hN(t,2003,this._room.sdkAppId):yield TN(t),i=r instanceof ArrayBuffer,o="".concat(nD(+this._room.sdkAppId,Aw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||yN({url:o,body:r})}))}};Fb([MP({settings:{timeout:500,retries:3}})],aj.prototype,"upload",1);var sj=5e3,cj={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},lj=class{constructor(e){Bb(this,"str_identifier"),Bb(this,"str_tinyid"),Bb(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},dj=aj,uj=class{constructor(){Bb(this,"_startTime"),Bb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=UD())}stop(){0===this._endTime&&(this._endTime=UD())}getDuration(){return 0===this._endTime?UD()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},hj=class{constructor(e){Bb(this,"_room",null),Bb(this,"_durationMap"),Bb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(CO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(CO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(CO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),Pw.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),Pw.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),Pw.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,Pw.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,Pw.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,Pw.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>bO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>bO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new uj,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===Pw.AUDIO?[o]:[],video:t===Pw.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},pj=class{constructor(e){Bb(this,"_room"),Bb(this,"_renderFreezeMap",new Map),Bb(this,"_isVideoPlayingEventFiredMap",new Map),Bb(this,"_dataFreezeMap",new Map),Bb(this,"_monitorFreezeData",new Map),Bb(this,"_eventMap",new Map),Bb(this,"_videoEncodeFailedCount",0),Bb(this,"_audioEncodeFailedCount",0),Bb(this,"_encodeFailedThreshold",3),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(CO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(CO.PLAY_TRACK_START,this.onPlayTrackStart).set(CO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(CO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(CO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===Pw.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===Pw.MUTE?this.onVideoTrackMuted(t):i===Pw.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(CO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>bO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>bO.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new uj;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;if(this.hitTest(t)){if(r.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:r,muteState:i}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&i.hasVideo&&!i.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&i.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))})),r.msg_up_stream_info.msg_video_status){let e=r.msg_up_stream_info.msg_video_status,t=Array.from(this._room.localTracks).find((e=>"video"===e.kind&&!e.isScreen)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;e.forEach((e=>{2===e.uint32_video_stream_type&&(0!==e.uint32_video_capture_fps&&0===e.uint32_video_codec_bitrate&&0===e.uint32_video_enc_fps&&null!=t&&t.isPublished?(this._videoEncodeFailedCount+=1,this._videoEncodeFailedCount===this._encodeFailedThreshold&&(kP.uploadEvent({userId:this._room.userId,log:"stat-".concat(uC.VIDEO_ENCODE_FAILED_DURING_CALL)}),this._videoEncodeFailedCount=0)):this._videoEncodeFailedCount=0)}))}if(r.msg_up_stream_info.msg_audio_status){let e=r.msg_up_stream_info.msg_audio_status,t=Array.from(this._room.localTracks).find((e=>"audio"===e.kind)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;0===e.uint32_audio_codec_bitrate&&null!=t&&t.isPublished?(this._audioEncodeFailedCount+=1,this._audioEncodeFailedCount===this._encodeFailedThreshold&&(kP.uploadEvent({userId:this._room.userId,log:"stat-".concat(uC.AUDIO_ENCODE_FAILED_DURING_CALL)}),this._audioEncodeFailedCount=0)):this._audioEncodeFailedCount=0}}}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();a>vC?this._monitorFreezeData.set(t,{userId:r,type:i,duration:a}):o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}handleRenderFreeze(e){return Wb(this,arguments,(function(e){var t=this;let{userId:r,fps:i,type:o}=e;return function*(){let e="".concat(r,"_").concat(o),n=t._renderFreezeMap.get(e);if(i<=2){let i=UD();n&&!n.isFreeze&&(n.freezeTimeline.push({startTime:i,endTime:0}),n.isFreeze=!0),n||t._renderFreezeMap.set(e,{userId:r,type:o,isFreeze:!0,freezeTimeline:[{startTime:i,endTime:0}],renderFreezeTotal:0})}else if(n&&n.isFreeze){n.isFreeze=!1;let e=n.freezeTimeline.pop();if(e){e.endTime=UD();let t=e.endTime-e.startTime;n.freezeTimeline.push(e),n.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==Pw.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<vC&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t=this._renderFreezeMap.get(e),r=0,i=0;if(t)if(t.isFreeze){let e=UD()-t.freezeTimeline[t.freezeTimeline.length-1].startTime;r=t.renderFreezeTotal+Math.min(e,5e3),i=t.freezeTimeline.length}else r=t.renderFreezeTotal;return{renderFreeze:r,count:i}}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},mj=Vb(jb(),1),fj=class{constructor(e,t,r,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4/3;this.vbMode=e,this.faceDetectorHash=r,this.visionTaskRegistry=i,this.logger=o,Bb(this,"animationState"),Bb(this,"originalAspect"),Bb(this,"totalOffsetX",0),Bb(this,"totalOffsetY",0),Bb(this,"defaultScaleRatio",.1),Bb(this,"isRecovering",!1),Bb(this,"boundaryY",280),Bb(this,"lastActionTime",0),Bb(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=n||4/3,this.visionTaskRegistry.setVideo(this.faceDetectorHash,t)}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?rL.addSuccessEvent({key:i.key}):rL.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(GO){this.logger.error(GO)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=Lb({},e),void(this.animationState.target=Lb({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),RD(this.animationState.current.scaleOffsetX)&&RD(this.animationState.target.scaleOffsetX)&&RD(this.animationState.current.scaleOffsetY)&&RD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(Ob(e.sx-t.sx,2)+Ob(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},_j=class extends zF{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),Bb(this,"_bgTexture"),Bb(this,"_waterMarkTexture"),Bb(this,"_lastMaskTexture"),Bb(this,"_lastMaskFbo"),Bb(this,"_textureValid",!1),Bb(this,"_selfieTextureValid",!1),Bb(this,"_selfieSegmentationHash"),Bb(this,"wasm"),Bb(this,"predictReady"),Bb(this,"_color"),Bb(this,"_prePrograme"),Bb(this,"_segmentationMask"),Bb(this,"_weixin",!1),Bb(this,"_centerFace"),Bb(this,"_textureMatrixLocation"),Bb(this,"_offsetMatrixLocation"),Bb(this,"_colorLocation"),Bb(this,"_enableFaceCentering",!1),Bb(this,"_enableEffectOptimization",!1),Bb(this,"_mat4"),Bb(this,"_postProcessing"),Bb(this,"_onAbort"),Bb(this,"_visionTaskRegistry"),Bb(this,"resolvePreditReady"),this.init(t).catch((t=>{e.log.error(t),e.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()}))}init(e){return Wb(this,null,(function*(){var t,r,i;this.predictReady=new Promise((e=>{this.resolvePreditReady=e}));let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(n.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}!this._enableEffectOptimization||2!==this.wasm.vbMode&&3!==this.wasm.vbMode?this._postProcessing=void 0:hO()?(this._postProcessing=void 0,this.log.warn("Virtual background post-processing isn't allowed on mobile.")):null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3),yield this.initVisionTasks(e)}))}initVisionTasks(e){return Wb(this,null,(function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._visionTaskRegistry.setVideo(this._selfieSegmentationHash,this.image),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new fj(this.wasm.vbMode,this.image,e,this._visionTaskRegistry,this.context.log)}catch(lC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}}))}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._postProcessing&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),cN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(cN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(jO){this._onAbort&&this._onAbort(jO)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},gj=class extends PF{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),Bb(this,"yTextureRef"),Bb(this,"uTextureRef"),Bb(this,"vTextureRef"),Bb(this,"Y"),Bb(this,"U"),Bb(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},Ej=[e=>{"latencyMode"in e&&delete e.latencyMode,"optimizeForLatency"in e&&delete e.optimizeForLatency},e=>{delete e.hardwareAcceleration}],vj=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var yj=0,Tj=class{constructor(e){Bb(this,"id",yj++),Bb(this,"trackDoneOB"),Bb(this,"startOB"),Bb(this,"stopOB"),Bb(this,"decoder"),Bb(this,"videoContext"),Bb(this,"gop",0),Bb(this,"gop_helper",0),Bb(this,"waitFirstKeyFrame",!0),Bb(this,"startTimestamp",0),Bb(this,"startTime",0),Bb(this,"startPerformanceTime",0),Bb(this,"inputFrameCount",0),Bb(this,"decodedFrameCount",0),Bb(this,"decodeFrameCount",0),Bb(this,"downgradeLevel",0),Bb(this,"lastDowngradeTime",0),Bb(this,"lastFrameDiff",0),Bb(this,"lastDecodeFrameTimestamp",0),Bb(this,"config"),Bb(this,"gop_before_configure",[]),Bb(this,"videoElement"),Bb(this,"type","wasm"),Bb(this,"goodType"),Bb(this,"renderer","2d"),Bb(this,"wasmOption"),Bb(this,"createDecoder"),Bb(this,"_decodeSink"),Bb(this,"isReported",!1),Bb(this,"track"),Bb(this,"stateChangeOB"),Bb(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=HU(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=$U(t.availableState,vP.OFF),this.stopOB=HU(),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),yU(this.stateChangeOB,HV(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),vV(this.stopOB),EF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=yU(this.pipe(this.track),vV(this.stopOB),CU());yU(t,EF((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),rL.addFailedEvent({key:vj(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),rL.addFailedEvent({key:514704});else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),rL.addSuccessEvent({key:vj(this.type,this.renderer)}),rL.addSuccessEvent({key:514704})}))),yU(t,EV(1),EF((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!uL()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=UD()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>Wb(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;i&&(e.player.setCanvas(),e.setInputMediaStreamTrack(i)),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":for(let e=0;e<=Ej.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===Ej.length)return void t.error(3);Ej[e](this.config)}r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new XF({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(XF.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new gj(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new $F({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let i=this.videoContext.createVideoImageSource();r.on("videoFrame",(r=>{try{i.image=r,i.update()}catch(o){delete this.goodType,e.log.error(o),t.error(11)}}));let o=new FF(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(BO){e.log.error(BO),t.error("webCodecs"===n?2:6)}}))}},Ij=Promise.resolve(),Aj=class extends mj.EventEmitter{constructor(e){super(),this.room=e,Bb(this,"videoContext"),Bb(this,"_glVideoContext"),Bb(this,"_2dVideoContext"),Bb(this,"destination"),Bb(this,"smallVideoContext"),Bb(this,"smallDestination"),Bb(this,"smallTrackSource"),Bb(this,"smallImageSource"),Bb(this,"_isMirror",!1),Bb(this,"_rotation",0),Bb(this,"cameraTrack"),Bb(this,"cameraNode"),Bb(this,"transformNode"),Bb(this,"mixNode"),Bb(this,"screenTrack"),Bb(this,"screenNode"),Bb(this,"selfModel",!1),Bb(this,"blurRadius",3),Bb(this,"arTrack"),Bb(this,"_enableFaceCentering",!1),Bb(this,"_enableEffectOptimization",!1),Bb(this,"onAbort"),Bb(this,"_color"),Bb(this,"Wasm"),Bb(this,"waterMarkNode"),Bb(this,"_waterMarkOption"),Bb(this,"watermarkImageList",[]),Bb(this,"_beautyParams"),Bb(this,"isUsingArTrack",!1),Bb(this,"mixTrack"),Bb(this,"_isMixScreen",!1),Bb(this,"_virtualBackground"),Bb(this,"_virtualBackgroundAbortCallback"),Bb(this,"virtualBackgroundInstance"),Bb(this,"_bgAssetPath"),Bb(this,"log",kO.createLogger({id:"vm"})),Bb(this,"_mat4"),Bb(this,"_postProcessing"),Bb(this,"_checkId",0),Bb(this,"_use2d",!1),Bb(this,"_autoSwitchRenderMode",!0),Bb(this,"encodePipeline",[]),Bb(this,"decodePipeline",[]),Bb(this,"updated",Ij),Bb(this,"_updateFlag",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new $F({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return cN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new $F({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new XF({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(qk<=22),this._glVideoContext.on(XF.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(sw){this.emit("error",sw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=RP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),RP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(Jk||this._isMixScreen||this._isTransform||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?rL.addFailedEvent({key:t,error:e}):rL.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new XF({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new WF(this.smallVideoContext,e,this.log),this.smallVideoContext.on(XF.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}if(this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t)this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),this.smallTrackSource.connect(this.smallDestination)}}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;Jk&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(HO){this.log.error("set main output failed",HO)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Wb(this,null,(function*(){var t;if(!this.cameraTrack||!this.initialTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams)this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(PF.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}))),16===tO?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof zF?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof zF?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new HF(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on(PF.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new _j(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new rB(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new eB(this.videoContext,this.log),e.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption)this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext.canvas)}))}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof aB)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof NF)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof mB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof iB)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof aB?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof NF?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof mB?e.source&&e.source.context.destroy():e instanceof iB&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return Wb(this,null,(function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}))}getWatermarkImage(e,t){return Wb(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new $b({code:Jb.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((e=>{let{image:t,x:r,y:o,width:n,height:a}=e;i.drawImage(t,r,o,n,a)})),eN(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return Wb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Wb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return Wb(this,null,(function*(){let t;try{t=yield eN((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new $b({code:Jb.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2}=e;this.watermarkImageList.some((e=>e.type===a))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==a)),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return Wb(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return Wb(this,null,(function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return Wb(this,null,(function*(){var t,r,i;if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield eN(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new $b({code:Jb.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return Wb(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new Tj(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};Fb([function(e){return tU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Wb(this,null,(function*(){try{return yield t.apply(this,i)}catch(HO){e.call(this,HO)}}))}))}((function(e){this.log.error("update failed",e)})),tU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Wb(this,null,(function*(){this._updateFlag||(this._updateFlag=!0,yield Ij,this.updated=new Promise(((t,i)=>{e.apply(this,r).then(t,i),setTimeout(i,5e3,new $b({code:Jb.API_CALL_TIMEOUT,message:"update timeout"}))})),this._updateFlag=!1,yield this.updated)}))}))],Aj.prototype,"update",1);var Sj=0,Rj=class extends vP{constructor(e){super("room"),Bb(this,"seq",++Sj),Bb(this,"sdkAppId"),Bb(this,"userId"),Bb(this,"userSig"),Bb(this,"privateMapKey"),Bb(this,"latencyLevel"),Bb(this,"tinyId"),Bb(this,"scene"),Bb(this,"roomId"),Bb(this,"useStringRoomId"),Bb(this,"role","anchor"),Bb(this,"joinParams",null),Bb(this,"localPublishFlag",0),Bb(this,"localTracks",new Set),Bb(this,"enableAutoPlayDialog",!0),Bb(this,"autoReceiveAudio",!0),Bb(this,"autoReceiveVideo",!0),Bb(this,"proxy_ws"),Bb(this,"proxy_wt"),Bb(this,"proxy_unified"),Bb(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),Bb(this,"keyPointManager"),Bb(this,"audioManager"),Bb(this,"videoManager"),Bb(this,"callDurationCalculator"),Bb(this,"badCaseDetector"),Bb(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Bb(this,"videoDecodeFallbackType"),Bb(this,"smallMode","canvas"),Bb(this,"enableChorus",!1),Bb(this,"_isUsingCachedSchedule",!1),Bb(this,"_log",kO.createLogger({id:"r".concat(this.seq)})),Bb(this,"_joinedTimestamp",0),Bb(this,"_sdkType"),Bb(this,"heartbeatReport"),Bb(this,"videoCodec"),Bb(this,"quality"),Bb(this,"enableSEI"),Bb(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,bD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),bD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),bD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new dj({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new hj({room:this}),this.badCaseDetector=new pj({room:this}),this.audioManager=new dB(this),this.videoManager=new Aj(this)}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return Wb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Wb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Wb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(SD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(ED(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(JH([n,n]),pw("https://".concat(n))):(i&&pw(i),o&&JH(o))}bO.once(CO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:YH.main,sched_back_domain:YH.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Wb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Wb(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new $b({code:Jb.INVALID_OPERATION,message:zM({key:HM.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(WM.INVALID_DESTROY),new $b({code:Jb.INVALID_OPERATION,message:zM({key:HM.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,bO.emit(CO.ROOM_DESTROY,{room:this})}schedule(e,t){return Wb(this,null,(function*(){var r,i,o,n;let a=UD();try{let{isCached:s,result:c,detailCost:l}=yield qH({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:nw,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(XD(c,{keysToExclude:["username","credential"]}))),s&&bO.once(CO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=Lb(Lb({},this.scheduleResult),c),RD(null==(r=c.config)?void 0:r.retryCount)&&sC(c.config.retryCount),SD(null==(i=c.config)?void 0:i.loggerDomain)&&pw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,bO.emit(CO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),rL.addSuccessEvent({key:521700,cost:UD()-a})}catch(UO){throw rL.addFailedEvent({key:521700,error:UO}),UO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var bj={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},wj="__INLINE__WORKER__",Cj="__INLINE__WASM__",{debug:Dj}=console;bj.debug||(console.debug=()=>{});var Nj,kj=!wj.startsWith("__"),Oj=!Cj.startsWith("__");function Mj(){let e=nN("".concat(bj.assetsPath?"".concat(bj.assetsPath,"/"):"","worker.js"));return kj?URL.createObjectURL(new Blob([atob(wj)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function Lj(){return Wb(this,null,(function*(){let e=bj.assetsPath?"".concat(bj.assetsPath,"/"):"";return Nj||(Nj=Oj?(new TextEncoder).encode(atob(Cj)).buffer:yield fetch(nN("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),Nj)}))}var Pj=new class{constructor(){Bb(this,"playPort"),Bb(this,"playPortSent",!1),Bb(this,"worklet"),Bb(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Wb(this,null,(function*(){let e=_x(),t=Mj();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),kO.info("global audio player worklet addModule success",t)}catch(lC){throw kO.error("global audio player worklet addModule failed:",lC),lC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield Lj(),flag:bj},numberOfInputs:2}),kO.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Wb(this,null,(function*(){var t;yield this.init();let r=new MessageChannel;null==(t=this.playPort)||t.postMessage(null,[r.port1]),e(r.port2)}))}},xj="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";xj?Promise.resolve().then((function(){return Bj})):Promise.resolve().then((function(){return Kj})),xj?Promise.resolve().then((function(){return Gj})):Promise.resolve().then((function(){return qj}));var Uj=xj?Promise.resolve().then((function(){return zj})):Promise.resolve().then((function(){return Yj}));function Vj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){return(yield Uj).default(...t)}))}var Fj=e=>Wb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),Bj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(Fj));return e[0].multiple?i:i[0]}()}))}};function Hj(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return Hj=function(e){this.s=e,this.n=e.next},Hj.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new Hj(e)}var Wj,jj=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return Wb(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,d=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new Hj(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(jj(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},Gj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return jj(t,e.recursive,void 0,e.skipDirectory)}()}))}},zj={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Wb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(l){if(r=null,i)throw l}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},Kj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},qj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},Yj={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Wb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return Wb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Wb(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},Jj=class{constructor(e){this.name=e,Bb(this,"ready"),Bb(this,"worker"),Bb(this,"ports"),Bb(this,"ids",1),Bb(this,"transactions",new Map),Bb(this,"log"),Bb(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return Wb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=Mj(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Wb(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(JD(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield Lj(),flag:bj},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},Xj=class{constructor(e,t,r){this.worker=e,Bb(this,"channel",new MessageChannel),Bb(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},$j=new class e extends Jj{constructor(){super("main"),Bb(this,"switchValue",new Map),Bb(this,"extendChannel"),Bb(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Wb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield Hb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function Qj(e){return Wb(this,null,(function*(){yield $j.create(),bO.emit(CO.JOIN_SEND_CMD,{room:this});let t=new Xj($j,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(bO.emit(CO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new $b({code:Jb.JOIN_ROOM_FAILED,extraCode:Number(r),message:zM({key:HM.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function Zj(e){return Wb(this,null,(function*(){$j.setSwitchValue("useAINS",e)}))}function eG(e){return Wb(this,null,(function*(){$j.setSwitchValue("useV2",e)}))}function tG(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),e.player.setVolume(0),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function rG(e){return Wb(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),yU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(HU(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=dU,e.onmessageerror=dU,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),vV($U(e,vP.INIT)),EF((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:Zj},useWt:{set:function(e){return Wb(this,null,(function*(){$j.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?Dj:()=>{},$j.setSwitchValue("enableDebug",e)}},useV2:{set:eG},dump:{value(){if(Wj||(console.warn("dump audio will be activated at next time join room"),Wj=[]),!Wj.length)return void console.warn("no audio data to dump,try it later");let e=[];return Wj.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),Vj(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;$j.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,$j.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return Vj(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:bj.useHardDecoder="prefer-hardware";break;case!1:bj.useHardDecoder="prefer-software";break;default:bj.useHardDecoder="no-preference"}}}});var iG=[];function oG(e){var t;let r=HU();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=iG.length;l++)if(!iG[l]){iG[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:Lb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage(Pb(Lb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=_x().createMediaStreamSource(s),a.connect(Pj.worklet,0,this.index)};yU($U(e,"output-media-track-changed"),vV($U(e,"ready")),EF(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),iG[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),yU(r,vF((t=>e.volume=t)),QV(UF(1e3)),EF((()=>{e.volume=0}))),c(e.outMediaTrack)}var nG=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Bb(this,"track"),Bb(this,"label"),Bb(this,"insertKeyFrame",!0),Bb(this,"session"),Bb(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return Wb(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});t.signal.addEventListener("abort",(()=>{i.encoder.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return Wb(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.state&&(o<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(this.localTrack.log.info("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight},i)),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{this.localTrack.log.warn(e),i.encoder.close()}))}))}recreate(e,t){return Wb(this,null,(function*(){let r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t.recreateCount&&bO.emit(CO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=r,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{this.localTrack.log.warn(r,this.config),t.recreateCount++,setTimeout((()=>this.recreate(e,t)),100)}});return t.encoder=i,yield this.configure(null,t),t}))}configure(e,t){return Wb(this,null,(function*(){var r;if(e)Object.assign(this.config,e);else if(0===t.frameEncoded)for(let e=0;e<=Ej.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===Ej.length)return;Ej[e](this.config),t.selectConfigIndex=e}else t.selectConfigIndex+t.recreateCount<=Ej.length&&t.recreateCount>0?Ej[t.selectConfigIndex+t.recreateCount-1](this.config):Ej[t.selectConfigIndex](this.config);null==(r=t.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function aG(e,t){return Wb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.420028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:bj.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},n=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[n.port1]);let a=new nG(e,t.type,o,n.port2);return n.port2.onmessage=e=>{if(260===e.data)a.insertKeyFrame=!0;else if(!r){let{bitrate:t}=e.data;_D({configureBr:[e.data.bitrate,t]}),a.session&&a.configure({bitrate:t},a.session)}},this._log.info("start push",i,t),a}))}function sG(e){return Wb(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield aG.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>Wb(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s,d=DN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",(r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(i){console.warn(i)}}))},pull(t){return Wb(this,null,(function*(){if(0===e.player.mode&&rP()&&e.player.element)return new Promise((r=>{e.player.element.requestVideoFrameCallback(((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()}))}))}))}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield aG.call(this,e,{profile:u,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",s=yield this.smallEncoder.trans(s,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(s,l,this)}));return yU($U(e,"output-media-track-changed"),vV($U(e,"ready")),EF(d,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),d(e.outMediaTrack)}))}var cG=class e extends vP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Bb(this,"enableInBackground",!1),Bb(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),yU($U(this,e.INTERVALCHANGED),XV((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):yU((e=>t=>{let r=0,i=performance.now();yU(xF,GV((t=>(t-i)/e|0)),_V((e=>e!=r&&(r=e,!0))))(t)})(e),GV((()=>[]))))),EF((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==vP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Bb(cG,"INTERVALCHANGED","intervalChanged"),Fb([_P([vP.INIT,vP.OFF],vP.ON)],cG.prototype,"start",1),Fb([_P([],vP.OFF)],cG.prototype,"stop",1);var lG=cG,dG=class extends Rj{constructor(e){super(e),Bb(this,"index",0),Bb(this,"session"),Bb(this,"tinyid"),Bb(this,"roomid"),Bb(this,"openid"),Bb(this,"socketid"),Bb(this,"relayip"),Bb(this,"clientip"),Bb(this,"remotePublishedUserMap",new Map),Bb(this,"bussinessInfo"),Bb(this,"token"),Bb(this,"audioVolumeEvalution",new lG(this)),Bb(this,"enableAIVoice",Zj),Bb(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:AO(),uint32_device_type:0,str_os_verion:SO(),uint32_link_type:1,str_client_version:nw,uint32_net_type:Cw[rw.getNetworkType()],ua:navigator.userAgent,version:""}}),Bb(this,"joinAbortController",new AbortController),Bb(this,"smallAbortCtrl"),Bb(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,eG(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Wb(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return Wb(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return Wb(this,null,(function*(){var i,o,n;let a=rw.getEnv(),s=nL(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:vO(),browserInfo:nL(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:nw,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield Qj.call(this,c),console.log(this),Pj.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Wb(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish())),this.localTracks.clear()}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return Wb(this,null,(function*(){yU((e=>Wb(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),vV($U(this,"left")),EF((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Pb(Lb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case CO.RECEIVED_PUBLISHED_USER_LIST:return void bO.emit(e,Lb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new ij(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return bO.emit(CO.REMOTE_PUBLISH_STATE_CHANGED,Lb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"7":return void(this.localPublishFlag!==t.flag&&(this.localPublishFlag=t.flag,this.emit("local-publish-flag-changed",t.flag)));case"network-quality":this.quality=Lb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:nw,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:Cw[sD()]},msg_event_msg:EB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};bO.emit(CO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),bO.emit(CO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void bO.emit(CO.SIGNAL_CONNECTION_STATE_CHANGED,Lb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){t.forEach((e=>this.localTracks.add(e)));let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>Wb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),DP(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))oG.call(this,e);else yield sG.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){t.forEach(NP),t.forEach((e=>this.localTracks.delete(e)))}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=Lb({},n.subscribeState),s=Object.assign(new DM,a);s.mediaType|=e,bO.emit(CO.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?tG.call(this,e):rG.call(this,e)))),bO.emit(CO.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType;if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r});for(let e of t)e.unsubscribe();bO.emit(CO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Wb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield aG.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};Fb([eU(dG.prototype.afterJoin),_P(["left",vP.INIT],"joined"),tU((e=>{let t=new oj;return function(r,i,o){return Wb(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new $b({code:Jb.INVALID_OPERATION,message:zM({key:HM.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new $b({code:Jb.INVALID_OPERATION,message:zM({key:HM.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),bO.emit(CO.JOIN_START,{room:this,roomId:n,params:r});let a=rw.getEnv();a||(a=Sw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Uw.OLD_CLOUD_LADDER)?a=Sw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Uw.WEBRTC)&&(a=Sw.WEBRTC))),kP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),LO.checkSystemRequirementsInternal(o).then((e=>{this.checkSystemResult=e,nj.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!rw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=rw.performanceNow(),bO.emit(CO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&kP.uploadEvent({log:"stat-conv-".concat(Number(sO),"-").concat(location.hostname),userId:this.userId}),t}catch(BO){throw t.delete({room:this,roomId:n}),bO.emit(CO.JOIN_FAILED,{room:this,error:BO}),BO}}))}}))],dG.prototype,"join",1),Fb([_P("joined","left",{ignoreError:!0}),tU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Wb(this,null,(function*(){bO.emit(CO.LEAVE_START,{room:this}),yield e.call(this,...r),bO.emit(CO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],dG.prototype,"leave",1),Fb([sU(),tU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Wb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;bO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map((e=>e.publish(this,t))))}))}))],dG.prototype,"publish",1),Fb([sU(),tU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],dG.prototype,"unpublish",1),Fb([function(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=aU.get(this)||new Map,a=i.get(n(t))||new oU;return i.set(n(t),a),aU.set(this,i),a.push({fn:o,args:t,context:this})},i}}((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),tU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],dG.prototype,"subscribe",1);var uG=dG;return rj.frameWorkType=37,rj.create=function(e){let t=rj._create.call(this,uG,e);return t._use(iH,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(bj.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",nw,"created",bj),t},Object.assign(rj.prototype,{_setCurrentSpeaker(e){let t=_x();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Wb(this,null,(function*(){return this.startPlugin(iH.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.640028",hardwareAcceleration:"prefer-software",optimizeForLatency:!0},fallback:"wasm"}),new Promise(((t,r)=>{yU($U(e,"decode-downgrade-state-changed"),_V((e=>"STARTED"===e.state)),EV(1),yF(1e4),vV($U(e,vP.INIT)),EF(t,r))}))}))}}),tP(37),rj}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,C=Object,D=T("".split),N=b((function(){return!C("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):C(e)}:C,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},W=r,j=F,G=function(e,t){return arguments.length<2?(r=W[e],j(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=G,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.40.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Le=Me,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},We=T,je=0,Ge=Math.random(),ze=We(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++je+Ge,36)},qe=Pe,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=d,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Ct={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Ct.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Gt in r&&!r[Gt]){var i=Ht(e,t);i&&i[Gt]&&(e[t]=r.value,r={configurable:jt in r?r[jt]:i[jt],enumerable:Wt in r?r[Wt]:i[Wt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Pe("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Lr=er.CONFIGURABLE,Pr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Nr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Lr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),jr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(Gr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return kr(this)&&Ur(this).source||Pr(this)}),"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Jr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Yr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=mr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Ci=G,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Ct,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,Wi=function(e,t){var r=Gi[ji(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Kr,fo=Ct,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=z,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Co={},Do=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Co,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,jo=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};jo("asyncIterator");var Go=R,zo=Array.isArray||function(e){return"Array"===Go(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=G("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=zo,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Dt,Vn=Ct,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var Wn,jn=G("document","documentElement"),Gn=Mt,zn=On,Kn=Si,qn=mr,Yn=jn,Jn=_t,Xn="prototype",$n="script",Qn=pr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{Wn=new ActiveXObject("htmlfile")}catch(t){}ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):function(){var e,t=Jn("iframe"),r="java"+$n+":";return t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F}():ta(Wn);for(var e=Kn.length;e--;)delete ra[Xn][Kn[e]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Gn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=pr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Da(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Ct.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,Wa=fa,ja=function(){return this},Ga=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=ja,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Ga,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,d=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||ds(s,_s,ys)),cs(s,u,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Cs(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(kG){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},js={left:Ws(!1),right:Ws(!0)},Gs=o,zs=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=js.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,d=23===t?rl(2,-24)-rl(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?d/n:d*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*u,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=Gl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=Gl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il((function(){Kl(1)}))&&Il((function(){new Kl(-1)}))&&!Il((function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl}))?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Ll(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);var i=jl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",jl),dd(Jl,"buffer",Gl),dd(Jl,"byteLength",Gl),dd(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=G,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Ld=bd(kd.prototype.slice),Pd=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd((function(){return!new kd(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Ld&&void 0===t)return Ld(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Pd(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,jd=TypeError,Gd=function(e){if(Hd(e))return e;throw new jd(Wd(e)+" is not a constructor")},zd=Mt,Kd=Gd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=jn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu((function(){Ud=ou.location}));var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Lu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Pu=function(){this.head=null,this.tail=null};Pu.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var xu,Uu,Vu,Fu,Bu,Hu=Pu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,ju=/web0s(?!.*chrome)/i.test(Y),Gu=r,zu=Lu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=ju,Qu=$s,Zu=Gu.MutationObserver||Gu.WebKitMutationObserver,eh=Gu.document,th=Gu.process,rh=Gu.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(kG){throw oh.head&&xu(),kG}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,Gu),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(kG){return{error:!0,value:kG}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[gh]=i,!(Eh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)})),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i})),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh=to,Nh=$s,kh=r,Oh=l,Mh=$r,Lh=ts,Ph=Ua,xh=Td,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Jd,Wh=Nu.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(kG){}},zh=sh,Kh=Hu,qh=Cr,Yh=ch,Jh=Ih,Xh="Promise",$h=Th.CONSTRUCTOR,Qh=Th.REJECTION_EVENT,Zh=Th.SUBCLASSING,ep=qh.getterFor(Xh),tp=qh.set,rp=Yh&&Yh.prototype,ip=Yh,op=rp,np=kh.TypeError,ap=kh.document,sp=kh.process,cp=Jh.f,lp=cp,dp=!!(ap&&ap.createEvent&&kh.dispatchEvent),up="unhandledrejection",hp=function(e){var t;return!(!Fh(e)||!Vh(t=e.then))&&t},pp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,d=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new np("Promise-chain cycle")):(i=hp(r))?Oh(i,r,c,l):c(r)):l(n)}catch(kG){d&&!o&&d.exit(),l(kG)}},mp=function(e,t){e.notified||(e.notified=!0,jh((function(){for(var r,i=e.reactions;r=i.get();)pp(r,e);e.notified=!1,t&&!e.rejection&&_p(e)})))},fp=function(e,t,r){var i,o;dp?((i=ap.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),kh.dispatchEvent(i)):i={promise:t,reason:r},!Qh&&(o=kh["on"+e])?o(i):e===up&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=zh((function(){Nh?sp.emit("unhandledRejection",i,r):fp(up,r,i)})),e.rejection=Nh||gp(e)?2:1,t.error))throw t.value}))},gp=function(e){return 1!==e.rejection&&!e.parent},Ep=function(e){Oh(Wh,kh,(function(){var t=e.facade;Nh?sp.emit("rejectionHandled",t):fp("rejectionhandled",t,e.value)}))},vp=function(e,t,r){return function(i){e(t,i,r)}},yp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,mp(e,!0))},Tp=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new np("Promise can't be resolved itself");var i=hp(t);i?jh((function(){var r={done:!1};try{Oh(i,t,vp(Tp,r,e),vp(yp,r,e))}catch(kG){yp(r,kG,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(kG){yp({done:!1},kG,e)}}};if($h&&(op=(ip=function(e){Bh(this,op),Uh(e),Oh(bh,this);var t=ep(this);try{e(vp(Tp,t),vp(yp,t))}catch(kG){yp(t,kG)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new Kh,rejection:!1,state:0,value:null})}).prototype=Mh(op,"then",(function(e,t){var r=ep(this),i=cp(Hh(this,ip));return r.parent=!0,i.ok=!Vh(e)||e,i.fail=Vh(t)&&t,i.domain=Nh?sp.domain:void 0,0===r.state?r.reactions.add(i):jh((function(){pp(i,r)})),i.promise})),wh=function(){var e=new bh,t=ep(e);this.promise=e,this.resolve=vp(Tp,t),this.reject=vp(yp,t)},Jh.f=cp=function(e){return e===ip||undefined===e?new wh(e):lp(e)},Vh(Yh)&&rp!==Object.prototype)){Ch=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(kG){}Lh&&Lh(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Ph(ip,Xh,!1),xh(Xh);var Ip=fa,Ap=tt("iterator"),Sp=Array.prototype,Rp=function(e){return void 0!==e&&(Ip.Array===e||Sp[Ap]===e)},bp=lo,wp=ye,Cp=k,Dp=fa,Np=tt("iterator"),kp=function(e){if(!Cp(e))return wp(e,Np)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Lp=Mt,Pp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Lp(Op(r,e));throw new Up(Pp(e)+" is not iterable")},Fp=l,Bp=Mt,Hp=ye,Wp=function(e,t,r){var i,o;Bp(e);try{if(!(i=Hp(e,"return"))){if("throw"===t)throw r;return r}i=Fp(i,e)}catch(kG){o=!0,i=kG}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,zp=Mt,Kp=pe,qp=Rp,Yp=hi,Jp=z,Xp=Vp,$p=kp,Qp=Wp,Zp=TypeError,em=function(e,t){this.stopped=e,this.result=t},tm=em.prototype,rm=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,d),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return u?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=$p(e)))throw new Zp(Kp(e)+" is not iterable");if(qp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Jp(tm,s))return s;return new em(!1)}i=Xp(e,o)}for(c=h?e.next:i.next;!(l=Gp(c,i)).done;){try{s=g(l.value)}catch(kG){Qp(i,"throw",kG)}if("object"==typeof s&&s&&Jp(tm,s))return s}return new em(!1)},im=tt("iterator"),om=!1;try{var nm=0,am={next:function(){return{done:!!nm++}},return:function(){om=!0}};am[im]=function(){return this},Array.from(am,(function(){throw 2}))}catch(kG){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(kG){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(kG){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),dm=l,um=ge,hm=Ih,pm=sh,mm=rm;to({target:"Promise",stat:!0,forced:lm},{all:function(e){var t=this,r=hm.f(t),i=r.resolve,o=r.reject,n=pm((function(){var r=um(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var fm=to,_m=Th.CONSTRUCTOR,gm=ch,Em=G,vm=F,ym=$r,Tm=gm&&gm.prototype;if(fm({target:"Promise",proto:!0,forced:_m,real:!0},{catch:function(e){return this.then(void 0,e)}}),vm(gm)){var Im=Em("Promise").prototype.catch;Tm.catch!==Im&&ym(Tm,"catch",Im,{unsafe:!0})}var Am=l,Sm=ge,Rm=Ih,bm=sh,wm=rm;to({target:"Promise",stat:!0,forced:lm},{race:function(e){var t=this,r=Rm.f(t),i=r.reject,o=bm((function(){var o=Sm(t.resolve);wm(e,(function(e){Am(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Nm=H,km=Ih,Om=function(e,t){if(Dm(e),Nm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Lm=Th.CONSTRUCTOR,Pm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Lm},{resolve:function(e){return Pm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Jd,Wm=Om,jm=$r,Gm=Um&&Um.prototype;if(xm({target:"Promise",proto:!0,real:!0,forced:!!Um&&Vm((function(){Gm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Fm("Promise")),r=Bm(e);return this.then(r?function(r){return Wm(t,e()).then((function(){return r}))}:e,r?function(r){return Wm(t,e()).then((function(){throw r}))}:e)}}),Bm(Um)){var zm=Fm("Promise").prototype.finally;Gm.finally!==zm&&jm(Gm,"finally",zm,{unsafe:!0})}var Km=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return Km(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===qm(e))},Xm=Mt,$m=function(){var e=Xm(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},Qm=l,Zm=He,ef=z,tf=$m,rf=RegExp.prototype,of=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},nf=o,af=r.RegExp,sf=nf((function(){var e=af("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),cf=sf||nf((function(){return!af("a","y").sticky})),lf={BROKEN_CARET:sf||nf((function(){var e=af("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Ct.f,uf=o,hf=r.RegExp,pf=uf((function(){var e=hf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),mf=o,ff=r.RegExp,_f=mf((function(){var e=ff("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),gf=n,Ef=r,vf=T,yf=qi,Tf=ml,If=qt,Af=ia,Sf=Qr.f,Rf=z,bf=Jm,wf=po,Cf=of,Df=lf,Nf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},kf=$r,Of=o,Mf=He,Lf=Cr.enforce,Pf=Td,xf=pf,Uf=_f,Vf=tt("match"),Ff=Ef.RegExp,Bf=Ff.prototype,Hf=Ef.SyntaxError,Wf=vf(Bf.exec),jf=vf("".charAt),Gf=vf("".replace),zf=vf("".indexOf),Kf=vf("".slice),qf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Yf=/a/g,Jf=/a/g,Xf=new Ff(Yf)!==Yf,$f=Df.MISSED_STICKY,Qf=Df.UNSUPPORTED_Y,Zf=gf&&(!Xf||$f||xf||Uf||Of((function(){return Jf[Vf]=!1,Ff(Yf)!==Yf||Ff(Jf)===Jf||"/a/i"!==String(Ff(Yf,"i"))})));if(yf("RegExp",Zf)){for(var e_=function(e,t){var r,i,o,n,a,s,c=Rf(Bf,this),l=bf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===e_)return e;if((l||Rf(Bf,e))&&(e=e.source,d&&(t=Cf(h))),e=void 0===e?"":wf(e),t=void 0===t?"":wf(t),h=e,xf&&"dotAll"in Yf&&(i=!!t&&zf(t,"s")>-1)&&(t=Gf(t,/s/g,"")),r=t,$f&&"sticky"in Yf&&(o=!!t&&zf(t,"y")>-1)&&Qf&&(t=Gf(t,/y/g,"")),Uf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Af(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=jf(e,i)))t+=jf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Kf(e,i+1,i+3))continue;Wf(qf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Mf(a,d))throw new Hf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=Tf(Ff(e,t),c?this:Bf,e_),(i||o||u.length)&&(s=Lf(a),i&&(s.dotAll=!0,s.raw=e_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=jf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+jf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{If(a,"source",""===h?"(?:)":h)}catch(kG){}return a},t_=Sf(Ff),r_=0;t_.length>r_;)Nf(e_,Ff,t_[r_++]);Bf.constructor=e_,e_.prototype=Bf,kf(Ef,"RegExp",e_,{constructor:!0})}Pf("RegExp");var i_=l,o_=T,n_=po,a_=$m,s_=lf,c_=ia,l_=Cr.get,d_=pf,u_=_f,h_=Pe("native-string-replace",String.prototype.replace),p_=RegExp.prototype.exec,m_=p_,f_=o_("".charAt),__=o_("".indexOf),g_=o_("".replace),E_=o_("".slice),v_=function(){var e=/a/,t=/b*/g;return i_(p_,e,"a"),i_(p_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),y_=s_.BROKEN_CARET,T_=void 0!==/()??/.exec("")[1];(v_||T_||y_||d_||u_)&&(m_=function(e){var t,r,i,o,n,a,s,c=this,l=l_(c),d=n_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=i_(m_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=y_&&c.sticky,m=i_(a_,c),f=c.source,_=0,g=d;if(p&&(m=g_(m,"y",""),-1===__(m,"g")&&(m+="g"),g=E_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==f_(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),T_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),v_&&(i=c.lastIndex),o=i_(p_,p?r:c,g),p?o?(o.input=E_(o.input,_),o[0]=E_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:v_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),T_&&o&&o.length>1&&i_(h_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=c_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var I_=m_;to({target:"RegExp",proto:!0,forced:/./.exec!==I_},{exec:I_});var A_=n,S_=_o,R_=$m,b_=o,w_=r.RegExp,C_=w_.prototype,D_=A_&&b_((function(){var e=!0;try{w_(".","d")}catch(kG){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(C_,"flags").get.call(t)!==i||r!==i}));D_&&S_(C_,"flags",{configurable:!0,get:R_});var N_=ii,k_=po,O_=L,M_=RangeError,L_=T,P_=di,x_=po,U_=function(e){var t=k_(O_(this)),r="",i=N_(e);if(i<0||Infinity===i)throw new M_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},V_=L,F_=L_(U_),B_=L_("".slice),H_=Math.ceil,W_=function(e){return function(t,r,i){var o,n,a=x_(V_(t)),s=P_(r),c=a.length,l=void 0===i?" ":x_(i);return s<=c||""===l?a:((n=F_(l,H_((o=s-c)/l.length))).length>o&&(n=B_(n,0,o)),e?a+n:n+a)}},j_={start:W_(!1),end:W_(!0)},G_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=j_.start;to({target:"String",proto:!0,forced:G_},{padStart:function(e){return z_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,q_=$r,Y_=I_,J_=o,X_=tt,$_=qt,Q_=X_("species"),Z_=RegExp.prototype,eg=T,tg=ii,rg=po,ig=L,og=eg("".charAt),ng=eg("".charCodeAt),ag=eg("".slice),sg=function(e){return function(t,r){var i,o,n=rg(ig(t)),a=tg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=ng(n,a))<55296||i>56319||a+1===s||(o=ng(n,a+1))<56320||o>57343?e?og(n,a):i:e?ag(n,a,a+2):o-56320+(i-55296<<10)+65536}},cg={codeAt:sg(!1),charAt:sg(!0)},lg=cg.charAt,dg=T,ug=Ve,hg=Math.floor,pg=dg("".charAt),mg=dg("".replace),fg=dg("".slice),_g=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gg=/\$([$&'`]|\d{1,2})/g,Eg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=gg;return void 0!==o&&(o=ug(o),c=_g),mg(n,c,(function(n,c){var l;switch(pg(c,0)){case"$":return"$";case"&":return e;case"`":return fg(t,0,r);case"'":return fg(t,a);case"<":l=o[fg(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=hg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?pg(c,1):i[u-1]+pg(c,1):n}l=i[d-1]}return void 0===l?"":l}))},vg=l,yg=Mt,Tg=F,Ig=R,Ag=I_,Sg=TypeError,Rg=eu,bg=l,wg=T,Cg=function(e,t,r,i){var o=X_(e),n=!J_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!J_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[Q_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===Y_||a===Z_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));q_(String.prototype,e,c[0]),q_(Z_,o,c[1])}i&&$_(Z_[o],"sham",!0)},Dg=o,Ng=Mt,kg=F,Og=k,Mg=ii,Lg=di,Pg=po,xg=L,Ug=function(e,t,r){return t+(r?lg(e,t).length:1)},Vg=ye,Fg=Eg,Bg=function(e,t){var r=e.exec;if(Tg(r)){var i=vg(r,e,t);return null!==i&&yg(i),i}if("RegExp"===Ig(e))return vg(Ag,e,t);throw new Sg("RegExp#exec called on incompatible receiver")},Hg=tt("replace"),Wg=Math.max,jg=Math.min,Gg=wg([].concat),zg=wg([].push),Kg=wg("".indexOf),qg=wg("".slice),Yg="$0"==="a".replace(/./,"$0"),Jg=!!/./[Hg]&&""===/./[Hg]("a","$0");Cg("replace",(function(e,t,r){var i=Jg?"$":"$0";return[function(e,r){var i=xg(this),o=Og(e)?void 0:Vg(e,Hg);return o?bg(o,e,i,r):bg(t,Pg(i),e,r)},function(e,o){var n=Ng(this),a=Pg(e);if("string"==typeof o&&-1===Kg(o,i)&&-1===Kg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=kg(o);c||(o=Pg(o));var l,d=n.global;d&&(l=n.unicode,n.lastIndex=0);for(var u,h=[];null!==(u=Bg(n,a))&&(zg(h,u),d);){""===Pg(u[0])&&(n.lastIndex=Ug(a,Lg(n.lastIndex),l))}for(var p,m="",f=0,_=0;_<h.length;_++){for(var g,E=Pg((u=h[_])[0]),v=Wg(jg(Mg(u.index),a.length),0),y=[],T=1;T<u.length;T++)zg(y,void 0===(p=u[T])?p:String(p));var I=u.groups;if(c){var A=Gg([E],y,v,a);void 0!==I&&zg(A,I),g=Pg(Rg(o,void 0,A))}else g=Fg(E,a,v,y,I,o);v>=f&&(m+=qg(a,f,v)+g,f=v+E.length)}return m+qg(a,f)}]}),!!Dg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!Yg||Jg);var Xg="\t\n\v\f\r                 \u2028\u2029\ufeff",$g=L,Qg=po,Zg=Xg,eE=T("".replace),tE=RegExp("^["+Zg+"]+"),rE=RegExp("(^|[^"+Zg+"])["+Zg+"]+$"),iE=function(e){return function(t){var r=Qg($g(t));return 1&e&&(r=eE(r,tE,"")),2&e&&(r=eE(r,rE,"$1")),r}},oE={start:iE(1),end:iE(2),trim:iE(3)},nE=er.PROPER,aE=o,sE=Xg,cE=oE.trim;to({target:"String",proto:!0,forced:function(e){return aE((function(){return!!sE[e]()||"​…᠎"!=="​…᠎"[e]()||nE&&sE[e].name!==e}))}("trim")},{trim:function(){return cE(this)}});var lE,dE,uE,hE={exports:{}},pE=Uc,mE=n,fE=r,_E=F,gE=H,EE=He,vE=lo,yE=pe,TE=qt,IE=$r,AE=_o,SE=z,RE=Sa,bE=ts,wE=tt,CE=Ke,DE=Cr.enforce,NE=Cr.get,kE=fE.Int8Array,OE=kE&&kE.prototype,ME=fE.Uint8ClampedArray,LE=ME&&ME.prototype,PE=kE&&RE(kE),xE=OE&&RE(OE),UE=Object.prototype,VE=fE.TypeError,FE=wE("toStringTag"),BE=CE("TYPED_ARRAY_TAG"),HE="TypedArrayConstructor",WE=pE&&!!bE&&"Opera"!==vE(fE.opera),jE=!1,GE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},zE={BigInt64Array:8,BigUint64Array:8},KE=function(e){var t=RE(e);if(gE(t)){var r=NE(t);return r&&EE(r,HE)?r[HE]:KE(t)}},qE=function(e){if(!gE(e))return!1;var t=vE(e);return EE(GE,t)||EE(zE,t)};for(lE in GE)(uE=(dE=fE[lE])&&dE.prototype)?DE(uE)[HE]=dE:WE=!1;for(lE in zE)(uE=(dE=fE[lE])&&dE.prototype)&&(DE(uE)[HE]=dE);if((!WE||!_E(PE)||PE===Function.prototype)&&(PE=function(){throw new VE("Incorrect invocation")},WE))for(lE in GE)fE[lE]&&bE(fE[lE],PE);if((!WE||!xE||xE===UE)&&(xE=PE.prototype,WE))for(lE in GE)fE[lE]&&bE(fE[lE].prototype,xE);if(WE&&RE(LE)!==xE&&bE(LE,xE),mE&&!EE(xE,FE))for(lE in jE=!0,AE(xE,FE,{configurable:!0,get:function(){return gE(this)?this[BE]:void 0}}),GE)fE[lE]&&TE(fE[lE],BE,lE);var YE={NATIVE_ARRAY_BUFFER_VIEWS:WE,TYPED_ARRAY_TAG:jE&&BE,aTypedArray:function(e){if(qE(e))return e;throw new VE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_E(e)&&(!bE||SE(PE,e)))return e;throw new VE(yE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(mE){if(r)for(var o in GE){var n=fE[o];if(n&&EE(n.prototype,e))try{delete n.prototype[e]}catch(kG){try{n.prototype[e]=t}catch(a){}}}xE[e]&&!r||IE(xE,e,r?t:WE&&OE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(mE){if(bE){if(r)for(i in GE)if((o=fE[i])&&EE(o,e))try{delete o[e]}catch(kG){}if(PE[e]&&!r)return;try{return IE(PE,e,r?t:WE&&PE[e]||t)}catch(kG){}}for(i in GE)!(o=fE[i])||o[e]&&!r||IE(o,e,t)}},getTypedArrayConstructor:KE,isView:function(e){if(!gE(e))return!1;var t=vE(e);return"DataView"===t||EE(GE,t)||EE(zE,t)},isTypedArray:qE,TypedArray:PE,TypedArrayPrototype:xE},JE=r,XE=o,$E=sm,QE=YE.NATIVE_ARRAY_BUFFER_VIEWS,ZE=JE.ArrayBuffer,ev=JE.Int8Array,tv=!QE||!XE((function(){ev(1)}))||!XE((function(){new ev(-1)}))||!$E((function(e){new ev,new ev(null),new ev(1.5),new ev(e)}),!0)||XE((function(){return 1!==new ev(new ZE(2),1,void 0).length})),rv=H,iv=Math.floor,ov=Number.isInteger||function(e){return!rv(e)&&isFinite(e)&&iv(e)===e},nv=ii,av=RangeError,sv=function(e){var t=nv(e);if(t<0)throw new av("The argument can't be less than 0");return t},cv=RangeError,lv=function(e,t){var r=sv(e);if(r%t)throw new cv("Wrong offset");return r},dv=Math.round,uv=lo,hv=lt,pv=TypeError,mv=function(e){var t=hv(e,"number");if("number"==typeof t)throw new pv("Can't convert number to bigint");return BigInt(t)},fv=Zo,_v=l,gv=Gd,Ev=Ve,vv=hi,yv=Vp,Tv=kp,Iv=Rp,Av=function(e){var t=uv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Sv=YE.aTypedArrayConstructor,Rv=mv,bv=Zo,wv=N,Cv=Ve,Dv=hi,Nv=bn,kv=T([].push),Ov=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,d,u){for(var h,p,m=Cv(c),f=wv(m),_=Dv(f),g=bv(l,d),E=0,v=u||Nv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:kv(y,h)}else switch(e){case 4:return!1;case 7:kv(y,h)}return n?-1:i||o?o:y}},Mv={forEach:Ov(0),map:Ov(1),filter:Ov(2),some:Ov(3),every:Ov(4),find:Ov(5),findIndex:Ov(6),filterReject:Ov(7)},Lv=hi,Pv=to,xv=r,Uv=l,Vv=n,Fv=tv,Bv=YE,Hv=_d,Wv=Wc,jv=_,Gv=qt,zv=ov,Kv=di,qv=Kc,Yv=lv,Jv=function(e){var t=dv(e);return t<0?0:t>255?255:255&t},Xv=ht,$v=He,Qv=lo,Zv=H,ey=ue,ty=ia,ry=z,iy=ts,oy=Qr.f,ny=function(e){var t,r,i,o,n,a,s,c,l=gv(this),d=Ev(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=Tv(d);if(m&&!Iv(m))for(c=(s=yv(d,m)).next,d=[];!(a=_v(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=fv(h,arguments[2])),r=vv(d),i=new(Sv(l))(r),o=Av(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?Rv(n):+n;return i},ay=Mv.forEach,sy=Td,cy=_o,ly=Ct,dy=i,uy=function(e,t,r){for(var i=0,o=arguments.length>2?r:Lv(t),n=new e(o);o>i;)n[i]=t[i++];return n},hy=ml,py=Cr.get,my=Cr.set,fy=Cr.enforce,_y=ly.f,gy=dy.f,Ey=xv.RangeError,vy=Hv.ArrayBuffer,yy=vy.prototype,Ty=Hv.DataView,Iy=Bv.NATIVE_ARRAY_BUFFER_VIEWS,Ay=Bv.TYPED_ARRAY_TAG,Sy=Bv.TypedArray,Ry=Bv.TypedArrayPrototype,by=Bv.isTypedArray,wy="BYTES_PER_ELEMENT",Cy="Wrong length",Dy=function(e,t){cy(e,t,{configurable:!0,get:function(){return py(this)[t]}})},Ny=function(e){var t;return ry(yy,e)||"ArrayBuffer"===(t=Qv(e))||"SharedArrayBuffer"===t},ky=function(e,t){return by(e)&&!ey(t)&&t in e&&zv(+t)&&t>=0},Oy=function(e,t){return t=Xv(t),ky(e,t)?jv(2,e[t]):gy(e,t)},My=function(e,t,r){return t=Xv(t),!(ky(e,t)&&Zv(r)&&$v(r,"value"))||$v(r,"get")||$v(r,"set")||r.configurable||$v(r,"writable")&&!r.writable||$v(r,"enumerable")&&!r.enumerable?_y(e,t,r):(e[t]=r.value,e)};Vv?(Iy||(dy.f=Oy,ly.f=My,Dy(Ry,"buffer"),Dy(Ry,"byteOffset"),Dy(Ry,"byteLength"),Dy(Ry,"length")),Pv({target:"Object",stat:!0,forced:!Iy},{getOwnPropertyDescriptor:Oy,defineProperty:My}),hE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=xv[o],c=s,l=c&&c.prototype,d={},u=function(e,t){_y(e,t,{get:function(){return function(e,t){var r=py(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=py(e);n.view[a](t*i+n.byteOffset,r?Jv(o):o,!0)}(this,t,e)},enumerable:!0})};Iy?Fv&&(c=t((function(e,t,r,o){return Wv(e,l),hy(Zv(t)?Ny(t)?void 0!==o?new s(t,Yv(r,i),o):void 0!==r?new s(t,Yv(r,i)):new s(t):by(t)?uy(c,t):Uv(ny,c,t):new s(qv(t)),e,c)})),iy&&iy(c,Sy),ay(oy(s),(function(e){e in c||Gv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){Wv(e,l);var n,a,s,d=0,h=0;if(Zv(t)){if(!Ny(t))return by(t)?uy(c,t):Uv(ny,c,t);n=t,h=Yv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ey(Cy);if((a=p-h)<0)throw new Ey(Cy)}else if((a=Kv(o)*i)+h>p)throw new Ey(Cy);s=a/i}else s=qv(t),n=new vy(a=s*i);for(my(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ty(n)});d<s;)u(e,d++)})),iy&&iy(c,Sy),l=c.prototype=ty(Ry)),l.constructor!==c&&Gv(l,"constructor",c),fy(l).TypedArrayConstructor=c,Ay&&Gv(l,Ay,o);var h=c!==s;d[o]=c,Pv({global:!0,constructor:!0,forced:h,sham:!Iy},d),wy in c||Gv(c,wy,i),wy in l||Gv(l,wy,i),sy(o)}):hE.exports=function(){};var Ly=hE.exports;Ly("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),Ly("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Py=dl,xy=mv,Uy=lo,Vy=l,Fy=o,By=YE.aTypedArray,Hy=YE.exportTypedArrayMethod,Wy=T("".slice);Hy("fill",(function(e){var t=arguments.length;By(this);var r="Big"===Wy(Uy(this),0,3)?xy(e):+e;return Vy(Py,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Fy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var jy=r,Gy=l,zy=YE,Ky=hi,qy=lv,Yy=Ve,Jy=o,Xy=jy.RangeError,$y=jy.Int8Array,Qy=$y&&$y.prototype,Zy=Qy&&Qy.set,eT=zy.aTypedArray,tT=zy.exportTypedArrayMethod,rT=!Jy((function(){var e=new Uint8ClampedArray(2);return Gy(Zy,e,{length:1,0:3},1),3!==e[1]})),iT=rT&&zy.NATIVE_ARRAY_BUFFER_VIEWS&&Jy((function(){var e=new $y(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));tT("set",(function(e){eT(this);var t=qy(arguments.length>1?arguments[1]:void 0,1),r=Yy(e);if(rT)return Gy(Zy,this,r,t);var i=this.length,o=Ky(r),n=0;if(o+t>i)throw new Xy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!rT||iT);var oT=Jo,nT=o,aT=ge,sT=dc,cT=hc,lT=pc,dT=te,uT=fc,hT=YE.aTypedArray,pT=YE.exportTypedArrayMethod,mT=r.Uint16Array,fT=mT&&oT(mT.prototype.sort),_T=!(!fT||nT((function(){fT(new mT(2),null)}))&&nT((function(){fT(new mT(2),{})}))),gT=!!fT&&!nT((function(){if(dT)return dT<74;if(cT)return cT<67;if(lT)return!0;if(uT)return uT<602;var e,t,r=new mT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(fT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));pT("sort",(function(e){return void 0!==e&&aT(e),gT?fT(this,e):sT(hT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!gT||_T);var ET=to,vT=l,yT=T,TT=L,IT=F,AT=k,ST=Jm,RT=po,bT=ye,wT=of,CT=Eg,DT=tt("replace"),NT=TypeError,kT=yT("".indexOf);yT("".replace);var OT=yT("".slice),MT=Math.max;ET({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=TT(this),h=0,p="";if(!AT(e)){if(ST(e)&&(r=RT(TT(wT(e))),!~kT(r,"g")))throw new NT("`.replaceAll` does not allow non-global regexes");if(i=bT(e,DT))return vT(i,e,u,t)}for(o=RT(u),n=RT(e),(a=IT(t))||(t=RT(t)),s=n.length,c=MT(1,s),l=kT(o,n);-1!==l;)d=a?RT(t(n,l,o)):CT(n,o,l,[],void 0,t),p+=OT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:kT(o,n,l+c);return h<o.length&&(p+=OT(o,h)),p}});var LT={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},PT=_t("span").classList,xT=PT&&PT.constructor&&PT.constructor.prototype,UT=xT===Object.prototype?void 0:xT,VT=Mv.forEach,FT=zs("forEach")?[].forEach:function(e){return VT(this,e,arguments.length>1?arguments[1]:void 0)},BT=r,HT=LT,WT=UT,jT=FT,GT=qt,zT=function(e){if(e&&e.forEach!==jT)try{GT(e,"forEach",jT)}catch(kG){e.forEach=jT}};for(var KT in HT)HT[KT]&&zT(BT[KT]&&BT[KT].prototype);zT(WT);var qT=r,YT=LT,JT=UT,XT=Ls,$T=qt,QT=Ua,ZT=tt("iterator"),eI=XT.values,tI=function(e,t){if(e){if(e[ZT]!==eI)try{$T(e,ZT,eI)}catch(kG){e[ZT]=eI}if(QT(e,t,!0),YT[t])for(var r in XT)if(e[r]!==XT[r])try{$T(e,r,XT[r])}catch(kG){e[r]=XT[r]}}};for(var rI in YT)tI(qT[rI]&&qT[rI].prototype,rI);tI(JT,"DOMTokenList");var iI=Nu.clear;to({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==iI},{clearImmediate:iI});var oI=r,nI=eu,aI=F,sI=Xs,cI=Y,lI=ac,dI=ru,uI=oI.Function,hI=/MSIE .\./.test(cI)||"BUN"===sI&&function(){var e=oI.Bun.version.split(".");return e.length<3||"0"===e[0]&&(e[1]<3||"3"===e[1]&&"0"===e[2])}(),pI=to,mI=r,fI=Nu.set,_I=function(e,t){var r=t?2:1;return hI?function(i,o){var n=dI(arguments.length,1)>r,a=aI(i)?i:uI(i),s=n?lI(arguments,r):[],c=n?function(){nI(a,this,s)}:a;return t?e(c,o):e(c)}:e},gI=mI.setImmediate?_I(fI,!1):fI;pI({global:!0,bind:!0,enumerable:!0,forced:mI.setImmediate!==gI},{setImmediate:gI});var EI=cg.charAt,vI=po,yI=Cr,TI=Ts,II=Is,AI="String Iterator",SI=yI.set,RI=yI.getterFor(AI);TI(String,"String",(function(e){SI(this,{type:AI,string:vI(e),index:0})}),(function(){var e,t=RI(this),r=t.string,i=t.index;return i>=r.length?II(void 0,!0):(e=EI(r,i),t.index+=e.length,II(e,!1))}));var bI=o,wI=n,CI=tt("iterator"),DI=!bI((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!wI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[CI]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),NI=n,kI=T,OI=l,MI=o,LI=Pn,PI=wi,xI=d,UI=Ve,VI=N,FI=Object.assign,BI=Object.defineProperty,HI=kI([].concat),WI=!FI||MI((function(){if(NI&&1!==FI({b:1},FI(BI({},"a",{enumerable:!0,get:function(){BI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==FI({},e)[r]||LI(FI({},t)).join("")!==i}))?function(e,t){for(var r=UI(e),i=arguments.length,o=1,n=PI.f,a=xI.f;i>o;)for(var s,c=VI(arguments[o++]),l=n?HI(LI(c),n(c)):LI(c),d=l.length,u=0;d>u;)s=l[u++],NI&&!OI(a,c,s)||(r[s]=c[s]);return r}:FI,jI=Mt,GI=Wp,zI=n,KI=Ct,qI=_,YI=Zo,JI=l,XI=Ve,$I=function(e,t,r,i){try{return i?t(jI(r)[0],r[1]):t(r)}catch(kG){GI(e,"throw",kG)}},QI=Rp,ZI=vn,eA=hi,tA=function(e,t,r){zI?KI.f(e,t,qI(0,r)):e[t]=r},rA=Vp,iA=kp,oA=Array,nA=T,aA=2147483647,sA=/[^\0-\u007E]/,cA=/[.\u3002\uFF0E\uFF61]/g,lA="Overflow: input needs wider integers to process",dA=RangeError,uA=nA(cA.exec),hA=Math.floor,pA=String.fromCharCode,mA=nA("".charCodeAt),fA=nA([].join),_A=nA([].push),gA=nA("".replace),EA=nA("".split),vA=nA("".toLowerCase),yA=function(e){return e+22+75*(e<26)},TA=function(e,t,r){var i=0;for(e=r?hA(e/700):e>>1,e+=hA(e/t);e>455;)e=hA(e/35),i+=36;return hA(i+36*e/(e+38))},IA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=mA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=mA(e,r++);56320==(64512&n)?_A(t,((1023&o)<<10)+(1023&n)+65536):(_A(t,o),r--)}else _A(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&_A(t,pA(i));var c=t.length,l=c;for(c&&_A(t,"-");l<o;){var d=aA;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>hA((aA-a)/u))throw new dA(lA);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>aA)throw new dA(lA);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;_A(t,pA(yA(m+f%_))),h=hA(f/_),p+=36}_A(t,pA(yA(h))),s=TA(a,u,l===c),a=0,l++}}a++,n++}return fA(t,"")},AA=to,SA=T,RA=si,bA=RangeError,wA=String.fromCharCode,CA=String.fromCodePoint,DA=SA([].join);AA({target:"String",stat:!0,arity:1,forced:!!CA&&1!==CA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],RA(t,1114111)!==t)throw new bA(t+" is not a valid code point");r[o]=t<65536?wA(t):wA(55296+((t-=65536)>>10),t%1024+56320)}return DA(r,"")}});var NA=to,kA=r,OA=Lu,MA=G,LA=l,PA=T,xA=n,UA=DI,VA=$r,FA=_o,BA=Fc,HA=Ua,WA=Ga,jA=Cr,GA=Wc,zA=F,KA=He,qA=Zo,YA=lo,JA=Mt,XA=H,$A=po,QA=ia,ZA=_,eS=Vp,tS=kp,rS=Is,iS=ru,oS=dc,nS=tt("iterator"),aS="URLSearchParams",sS=aS+"Iterator",cS=jA.set,lS=jA.getterFor(aS),dS=jA.getterFor(sS),uS=OA("fetch"),hS=OA("Request"),pS=OA("Headers"),mS=hS&&hS.prototype,fS=pS&&pS.prototype,_S=kA.TypeError,gS=kA.encodeURIComponent,ES=String.fromCharCode,vS=MA("String","fromCodePoint"),yS=parseInt,TS=PA("".charAt),IS=PA([].join),AS=PA([].push),SS=PA("".replace),RS=PA([].shift),bS=PA([].splice),wS=PA("".split),CS=PA("".slice),DS=PA(/./.exec),NS=/\+/g,kS=/^[0-9a-f]+$/i,OS=function(e,t){var r=CS(e,t,t+2);return DS(kS,r)?yS(r,16):NaN},MS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},LS=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},PS=function(e){for(var t=(e=SS(e,NS," ")).length,r="",i=0;i<t;){var o=TS(e,i);if("%"===o){if("%"===TS(e,i+1)||i+3>t){r+="%",i++;continue}var n=OS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=MS(n);if(0===a)o=ES(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==TS(e,i));){var l=OS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;AS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=LS(s);null===d?r+="�":o=vS(d)}}r+=o,i++}return r},xS=/[!'()~]|%20/g,US={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},VS=function(e){return US[e]},FS=function(e){return SS(gS(e),xS,VS)},BS=WA((function(e,t){cS(this,{type:sS,target:lS(e).entries,index:0,kind:t})}),aS,(function(){var e=dS(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,rS(void 0,!0);var i=t[r];switch(e.kind){case"keys":return rS(i.key,!1);case"values":return rS(i.value,!1)}return rS([i.key,i.value],!1)}),!0),HS=function(e){this.entries=[],this.url=null,void 0!==e&&(XA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===TS(e,0)?CS(e,1):e:$A(e)))};HS.prototype={type:aS,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=tS(e);if(l)for(r=(t=eS(e,l)).next;!(i=LA(r,t)).done;){if(n=(o=eS(JA(i.value))).next,(a=LA(n,o)).done||(s=LA(n,o)).done||!LA(n,o).done)throw new _S("Expected sequence with length 2");AS(c,{key:$A(a.value),value:$A(s.value)})}else for(var d in e)KA(e,d)&&AS(c,{key:d,value:$A(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=wS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=wS(t,"="),AS(i,{key:PS(RS(r)),value:PS(IS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],AS(r,FS(e.key)+"="+FS(e.value));return IS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var WS=function(){GA(this,jS);var e=cS(this,new HS(arguments.length>0?arguments[0]:void 0));xA||(this.size=e.entries.length)},jS=WS.prototype;if(BA(jS,{append:function(e,t){var r=lS(this);iS(arguments.length,2),AS(r.entries,{key:$A(e),value:$A(t)}),xA||this.length++,r.updateURL()},delete:function(e){for(var t=lS(this),r=iS(arguments.length,1),i=t.entries,o=$A(e),n=r<2?void 0:arguments[1],a=void 0===n?n:$A(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(bS(i,s,1),void 0!==a)break}xA||(this.size=i.length),t.updateURL()},get:function(e){var t=lS(this).entries;iS(arguments.length,1);for(var r=$A(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=lS(this).entries;iS(arguments.length,1);for(var r=$A(e),i=[],o=0;o<t.length;o++)t[o].key===r&&AS(i,t[o].value);return i},has:function(e){for(var t=lS(this).entries,r=iS(arguments.length,1),i=$A(e),o=r<2?void 0:arguments[1],n=void 0===o?o:$A(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=lS(this);iS(arguments.length,1);for(var i,o=r.entries,n=!1,a=$A(e),s=$A(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?bS(o,c--,1):(n=!0,i.value=s));n||AS(o,{key:a,value:s}),xA||(this.size=o.length),r.updateURL()},sort:function(){var e=lS(this);oS(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=lS(this).entries,i=qA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new BS(this,"keys")},values:function(){return new BS(this,"values")},entries:function(){return new BS(this,"entries")}},{enumerable:!0}),VA(jS,nS,jS.entries,{name:"entries"}),VA(jS,"toString",(function(){return lS(this).serialize()}),{enumerable:!0}),xA&&FA(jS,"size",{get:function(){return lS(this).entries.length},configurable:!0,enumerable:!0}),HA(WS,aS),NA({global:!0,constructor:!0,forced:!UA},{URLSearchParams:WS}),!UA&&zA(pS)){var GS=PA(fS.has),zS=PA(fS.set),KS=function(e){if(XA(e)){var t,r=e.body;if(YA(r)===aS)return t=e.headers?new pS(e.headers):new pS,GS(t,"content-type")||zS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),QA(e,{body:ZA(0,$A(r)),headers:ZA(0,t)})}return e};if(zA(uS)&&NA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return uS(e,arguments.length>1?KS(arguments[1]):{})}}),zA(hS)){var qS=function(e){return GA(this,mS),new hS(e,arguments.length>1?KS(arguments[1]):{})};mS.constructor=qS,qS.prototype=mS,NA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:qS})}}var YS,JS=to,XS=n,$S=DI,QS=r,ZS=Zo,eR=T,tR=$r,rR=_o,iR=Wc,oR=He,nR=WI,aR=function(e){var t=XI(e),r=ZI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=YI(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=iA(t),p=0;if(!h||this===oA&&QI(h))for(a=eA(t),s=r?new this(a):oA(a);a>p;p++)u=n?o(t[p],p):t[p],tA(s,p,u);else for(s=r?new this:[],d=(l=rA(t,h)).next;!(c=JI(d,l)).done;p++)u=n?$I(l,o,[c.value,p],!0):c.value,tA(s,p,u);return s.length=p,s},sR=ac,cR=cg.codeAt,lR=function(e){var t,r,i=[],o=EA(gA(vA(e),cA,"."),".");for(t=0;t<o.length;t++)r=o[t],_A(i,uA(sA,r)?"xn--"+IA(r):r);return fA(i,".")},dR=po,uR=Ua,hR=ru,pR={URLSearchParams:WS,getState:lS},mR=Cr,fR=mR.set,_R=mR.getterFor("URL"),gR=pR.URLSearchParams,ER=pR.getState,vR=QS.URL,yR=QS.TypeError,TR=QS.parseInt,IR=Math.floor,AR=Math.pow,SR=eR("".charAt),RR=eR(/./.exec),bR=eR([].join),wR=eR(1..toString),CR=eR([].pop),DR=eR([].push),NR=eR("".replace),kR=eR([].shift),OR=eR("".split),MR=eR("".slice),LR=eR("".toLowerCase),PR=eR([].unshift),xR="Invalid scheme",UR="Invalid host",VR="Invalid port",FR=/[a-z]/i,BR=/[\d+-.a-z]/i,HR=/\d/,WR=/^0x/i,jR=/^[0-7]+$/,GR=/^\d+$/,zR=/^[\da-f]+$/i,KR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,qR=/[\0\t\n\r #/:<>?@[\\\]^|]/,YR=/^[\u0000-\u0020]+/,JR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,XR=/[\t\n\r]/g,$R=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)PR(t,e%256),e=IR(e/256);return bR(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=wR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},QR={},ZR=nR({},QR,{" ":1,'"':1,"<":1,">":1,"`":1}),eb=nR({},ZR,{"#":1,"?":1,"{":1,"}":1}),tb=nR({},eb,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),rb=function(e,t){var r=cR(e,0);return r>32&&r<127&&!oR(t,e)?e:encodeURIComponent(e)},ib={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ob=function(e,t){var r;return 2===e.length&&RR(FR,SR(e,0))&&(":"===(r=SR(e,1))||!t&&"|"===r)},nb=function(e){var t;return e.length>1&&ob(MR(e,0,2))&&(2===e.length||"/"===(t=SR(e,2))||"\\"===t||"?"===t||"#"===t)},ab=function(e){return"."===e||"%2e"===LR(e)},sb={},cb={},lb={},db={},ub={},hb={},pb={},mb={},fb={},_b={},gb={},Eb={},vb={},yb={},Tb={},Ib={},Ab={},Sb={},Rb={},bb={},wb={},Cb=function(e,t,r){var i,o,n,a=dR(e);if(t){if(o=this.parse(a))throw new yR(o);this.searchParams=null}else{if(void 0!==r&&(i=new Cb(r,!0)),o=this.parse(a,null,i))throw new yR(o);(n=ER(new gR)).bindURL(this),this.searchParams=n}};Cb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||sb,d=0,u="",h=!1,p=!1,m=!1;for(e=dR(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=NR(e,YR,""),e=NR(e,JR,"$1")),e=NR(e,XR,""),i=aR(e);d<=i.length;){switch(o=i[d],l){case sb:if(!o||!RR(FR,o)){if(t)return xR;l=lb;continue}u+=LR(o),l=cb;break;case cb:if(o&&(RR(BR,o)||"+"===o||"-"===o||"."===o))u+=LR(o);else{if(":"!==o){if(t)return xR;u="",l=lb,d=0;continue}if(t&&(c.isSpecial()!==oR(ib,u)||"file"===u&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&ib[c.scheme]===c.port&&(c.port=null));u="","file"===c.scheme?l=yb:c.isSpecial()&&r&&r.scheme===c.scheme?l=db:c.isSpecial()?l=mb:"/"===i[d+1]?(l=ub,d++):(c.cannotBeABaseURL=!0,DR(c.path,""),l=Rb)}break;case lb:if(!r||r.cannotBeABaseURL&&"#"!==o)return xR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=sR(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=wb;break}l="file"===r.scheme?yb:hb;continue;case db:if("/"!==o||"/"!==i[d+1]){l=hb;continue}l=fb,d++;break;case ub:if("/"===o){l=_b;break}l=Sb;continue;case hb:if(c.scheme=r.scheme,o===YS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=sR(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=pb;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=sR(r.path),c.query="",l=bb;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=sR(r.path),c.path.length--,l=Sb;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=sR(r.path),c.query=r.query,c.fragment="",l=wb}break;case pb:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=Sb;continue}l=_b}else l=fb;break;case mb:if(l=fb,"/"!==o||"/"!==SR(u,d+1))continue;d++;break;case fb:if("/"!==o&&"\\"!==o){l=_b;continue}break;case _b:if("@"===o){h&&(u="%40"+u),h=!0,n=aR(u);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=rb(_,tb);m?c.password+=g:c.username+=g}else m=!0}u=""}else if(o===YS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===u)return"Invalid authority";d-=aR(u).length+1,u="",l=gb}else u+=o;break;case gb:case Eb:if(t&&"file"===c.scheme){l=Ib;continue}if(":"!==o||p){if(o===YS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===u)return UR;if(t&&""===u&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(u))return a;if(u="",l=Ab,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),u+=o}else{if(""===u)return UR;if(a=c.parseHost(u))return a;if(u="",l=vb,t===Eb)return}break;case vb:if(!RR(HR,o)){if(o===YS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==u){var E=TR(u,10);if(E>65535)return VR;c.port=c.isSpecial()&&E===ib[c.scheme]?null:E,u=""}if(t)return;l=Ab;continue}return VR}u+=o;break;case yb:if(c.scheme="file","/"===o||"\\"===o)l=Tb;else{if(!r||"file"!==r.scheme){l=Sb;continue}switch(o){case YS:c.host=r.host,c.path=sR(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=sR(r.path),c.query="",l=bb;break;case"#":c.host=r.host,c.path=sR(r.path),c.query=r.query,c.fragment="",l=wb;break;default:nb(bR(sR(i,d),""))||(c.host=r.host,c.path=sR(r.path),c.shortenPath()),l=Sb;continue}}break;case Tb:if("/"===o||"\\"===o){l=Ib;break}r&&"file"===r.scheme&&!nb(bR(sR(i,d),""))&&(ob(r.path[0],!0)?DR(c.path,r.path[0]):c.host=r.host),l=Sb;continue;case Ib:if(o===YS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&ob(u))l=Sb;else if(""===u){if(c.host="",t)return;l=Ab}else{if(a=c.parseHost(u))return a;if("localhost"===c.host&&(c.host=""),t)return;u="",l=Ab}continue}u+=o;break;case Ab:if(c.isSpecial()){if(l=Sb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==YS&&(l=Sb,"/"!==o))continue}else c.fragment="",l=wb;else c.query="",l=bb;break;case Sb:if(o===YS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=LR(s=u))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||DR(c.path,"")):ab(u)?"/"===o||"\\"===o&&c.isSpecial()||DR(c.path,""):("file"===c.scheme&&!c.path.length&&ob(u)&&(c.host&&(c.host=""),u=SR(u,0)+":"),DR(c.path,u)),u="","file"===c.scheme&&(o===YS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)kR(c.path);"?"===o?(c.query="",l=bb):"#"===o&&(c.fragment="",l=wb)}else u+=rb(o,eb);break;case Rb:"?"===o?(c.query="",l=bb):"#"===o?(c.fragment="",l=wb):o!==YS&&(c.path[0]+=rb(o,QR));break;case bb:t||"#"!==o?o!==YS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":rb(o,QR)):(c.fragment="",l=wb);break;case wb:o!==YS&&(c.fragment+=rb(o,ZR))}d++}},parseHost:function(e){var t,r,i;if("["===SR(e,0)){if("]"!==SR(e,e.length-1))return UR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return SR(e,u)};if(":"===h()){if(":"!==SR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&RR(zR,h());)t=16*t+TR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!RR(HR,h()))return;for(;RR(HR,h());){if(n=TR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(MR(e,1,-1)),!t)return UR;this.host=t}else if(this.isSpecial()){if(e=lR(e),RR(KR,e))return UR;if(t=function(e){var t,r,i,o,n,a,s,c=OR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===SR(o,0)&&(n=RR(WR,o)?16:8,o=MR(o,8===n?1:2)),""===o)a=0;else{if(!RR(10===n?GR:8===n?jR:zR,o))return e;a=TR(o,n)}DR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=AR(256,5-t))return null}else if(a>255)return null;for(s=CR(r),i=0;i<r.length;i++)s+=r[i]*AR(256,3-i);return s}(e),null===t)return UR;this.host=t}else{if(RR(qR,e))return UR;for(t="",r=aR(e),i=0;i<r.length;i++)t+=rb(r[i],QR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return oR(ib,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&ob(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=$R(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+bR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new yR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new Db(e.path[0]).origin}catch(kG){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+$R(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(dR(e)+":",sb)},getUsername:function(){return this.username},setUsername:function(e){var t=aR(dR(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=rb(t[r],tb)}},getPassword:function(){return this.password},setPassword:function(e){var t=aR(dR(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=rb(t[r],tb)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?$R(e):$R(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,gb)},getHostname:function(){var e=this.host;return null===e?"":$R(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,Eb)},getPort:function(){var e=this.port;return null===e?"":dR(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=dR(e))?this.port=null:this.parse(e,vb))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+bR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,Ab))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=dR(e))?this.query=null:("?"===SR(e,0)&&(e=MR(e,1)),this.query="",this.parse(e,bb)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=dR(e))?("#"===SR(e,0)&&(e=MR(e,1)),this.fragment="",this.parse(e,wb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Db=function(e){var t=iR(this,Nb),r=hR(arguments.length,1)>1?arguments[1]:void 0,i=fR(t,new Cb(e,!1,r));XS||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},Nb=Db.prototype,kb=function(e,t){return{get:function(){return _R(this)[e]()},set:t&&function(e){return _R(this)[t](e)},configurable:!0,enumerable:!0}};if(XS&&(rR(Nb,"href",kb("serialize","setHref")),rR(Nb,"origin",kb("getOrigin")),rR(Nb,"protocol",kb("getProtocol","setProtocol")),rR(Nb,"username",kb("getUsername","setUsername")),rR(Nb,"password",kb("getPassword","setPassword")),rR(Nb,"host",kb("getHost","setHost")),rR(Nb,"hostname",kb("getHostname","setHostname")),rR(Nb,"port",kb("getPort","setPort")),rR(Nb,"pathname",kb("getPathname","setPathname")),rR(Nb,"search",kb("getSearch","setSearch")),rR(Nb,"searchParams",kb("getSearchParams")),rR(Nb,"hash",kb("getHash","setHash"))),tR(Nb,"toJSON",(function(){return _R(this).serialize()}),{enumerable:!0}),tR(Nb,"toString",(function(){return _R(this).serialize()}),{enumerable:!0}),vR){var Ob=vR.createObjectURL,Mb=vR.revokeObjectURL;Ob&&tR(Db,"createObjectURL",ZS(Ob,vR)),Mb&&tR(Db,"revokeObjectURL",ZS(Mb,vR))}uR(Db,"URL"),JS({global:!0,constructor:!0,forced:!$S,sham:!XS},{URL:Db});var Lb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Lb(URL.prototype.toString,this)}});var Pb,xb=Object.create,Ub=Object.defineProperty,Vb=Object.defineProperties,Fb=Object.getOwnPropertyDescriptor,Bb=Object.getOwnPropertyDescriptors,Hb=Object.getOwnPropertyNames,Wb=Object.getOwnPropertySymbols,jb=Object.getPrototypeOf,Gb=Object.prototype.hasOwnProperty,zb=Object.prototype.propertyIsEnumerable,Kb=Reflect.get,qb=Math.pow,Yb=(e,t,r)=>t in e?Ub(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Jb=(e,t)=>{for(var r in t||(t={}))Gb.call(t,r)&&Yb(e,r,t[r]);if(Wb)for(var r of Wb(t))zb.call(t,r)&&Yb(e,r,t[r]);return e},Xb=(e,t)=>Vb(e,Bb(t)),$b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qb=(e,t)=>{for(var r in t)Ub(e,r,{get:t[r],enumerable:!0})},Zb=(e,t,r)=>(r=null!=e?xb(jb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of Hb(t))!Gb.call(e,o)&&o!==r&&Ub(e,o,{get:()=>t[o],enumerable:!(i=Fb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Ub(r,"default",{value:e,enumerable:!0}),e)),ew=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?Fb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&Ub(t,r,n),n},tw=(e,t,r)=>Yb(e,"symbol"!=typeof t?t+"":t,r),rw=(e,t,r)=>Kb(jb(e),r,t),iw=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(QO){o(QO)}},a=e=>{try{s(r.throw(e))}catch(QO){o(QO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),ow=$b(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),nw=$b(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),aw=$b((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=nw(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),sw=$b(((e,t)=>{var r=nw(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),cw=$b((e=>{var t=aw(),r=sw(),i=nw();e.grammar=i,e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),lw=((Pb=lw||{})[Pb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",Pb[Pb.INVALID_OPERATION=4097]="INVALID_OPERATION",Pb[Pb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",Pb[Pb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",Pb[Pb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",Pb[Pb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",Pb[Pb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",Pb[Pb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",Pb[Pb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",Pb[Pb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",Pb[Pb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",Pb[Pb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",Pb[Pb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",Pb[Pb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",Pb[Pb.CLIENT_BANNED=16448]="CLIENT_BANNED",Pb[Pb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",Pb[Pb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",Pb[Pb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",Pb[Pb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",Pb[Pb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",Pb[Pb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",Pb[Pb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",Pb[Pb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",Pb[Pb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",Pb[Pb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",Pb[Pb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",Pb[Pb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",Pb[Pb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",Pb[Pb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",Pb[Pb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",Pb[Pb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",Pb[Pb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",Pb[Pb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",Pb[Pb.UNKNOWN=65535]="UNKNOWN",Pb),dw=lw,uw=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=dw.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in dw)if(dw[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),tw(this,"code"),tw(this,"extraCode"),tw(this,"message"),tw(this,"originMessage"),tw(this,"name"),tw(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},hw=uw,pw=function(){return 0},mw=function(){return Date.now()+0},fw=function(){let e=new Date;return e.setTime(mw()),e.toLocaleString()},_w=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},gw={};Qb(gw,{REPORT_TYPE:()=>bN,buildSSOPackage:()=>wN,bytes2ms:()=>wD,calculateScaleResolutionDownNumber:()=>IN,concatArrayBuffers:()=>CN,convertObjectNumberToInt:()=>gN,copyProperties:()=>bD,deepClone:()=>sN,deepCloneBasic:()=>RN,deepMerge:()=>aN,delay:()=>EN,fibonacci:()=>LD,formatedTime:()=>dN,getConstructorName:()=>YD,getContainerFromElement:()=>lN,getEnv:()=>ED,getFirst16Bits:()=>NN,getInternalVersion:()=>eN,getLast16Bits:()=>DN,getLoggerUrl:()=>yD,getMediaStreamTrackInfo:()=>TN,getMuteStateFromFlag:()=>iN,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>pN,getTurnServer:()=>oN,getUint32Version:()=>_N,getValueType:()=>xD,getViewListFromView:()=>cN,glog:()=>kD,ipv4ToUint32:()=>nN,isArray:()=>jD,isAudioWorkletSupported:()=>JD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>rN,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>GD,isNumber:()=>BD,isObject:()=>WD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>mN,isPromise:()=>KD,isRemoteTrack:()=>zD,isRotate90Or270:()=>AN,isSetSinkIdSupported:()=>XD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>fN,loadVideo:()=>SN,ms2bytes:()=>DD,ms2samples:()=>ND,normalizeUrl:()=>yN,performanceNow:()=>QD,promiseAny:()=>$D,samples2ms:()=>CD,setNetworkType:()=>SD,stringify:()=>uN,stringifyIncludeValue:()=>hN,throttlePromise:()=>vN});var Ew={};Qb(Ew,{AUDIO_MUTE_BIT:()=>oC,AUDIO_STAT_BIT:()=>iC,AUX_STAT_BIT:()=>rC,AUX_STREAM_MSID:()=>lC,BACKEND_ENV:()=>Qw,BASE_DOC_URL:()=>Mw,BASE_HOST:()=>Dw,CAPABILITIES_KEYS:()=>XC,CLASS_NAME:()=>HC,CLOUD_CONSOLE_URL:()=>Ow,CROSS_ROOM_BIT:()=>sC,DATA_FREEZE_TIMING:()=>LC,DOC_URL:()=>Lw,DTLS_STATE_UNKNOWN:()=>vC,ENV_NAME:()=>Fw,EXCHANGE_SDP_TIMEOUT:()=>DC,IS_WORKER:()=>Sw,IS_WORKLET:()=>Rw,KIBANA_EVENT:()=>bC,LOCAL_STREAM_PUBLISH_STATE:()=>MC,LOGGER_CMD_TYPE:()=>Vw,LOGGER_DOMAIN:()=>Pw,LOGGER_DOMAIN_OVERSEA:()=>xw,LOG_LEVEL:()=>Bw,LOG_LEVEL_NAME:()=>KC,MAIN_STREAM_MSID:()=>cC,MAX_RTT:()=>$C,MICROPHONE_COMMUNICATIONS:()=>zC,MICROPHONE_DEFAULT:()=>jC,MUTE_ALL_BIT:()=>aC,NAME:()=>Xw,NETWORK_TYPE:()=>jw,NOT_SUPPORTED_H264:()=>OC,PAUSED_RETRY_COUNT:()=>WC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>VC,PEER_CONNECTION_STATE:()=>yC,PEER_LEAVE_REASON:()=>qC,RECOVER_CAPTURE_INTERVAL:()=>JC,REMOTE_STREAM_TYPE_AUX:()=>uC,REMOTE_STREAM_TYPE_MAIN:()=>dC,RENDER_FREEZE_TIMING:()=>PC,SCHEDULE_DOMAIN:()=>FC,SCHEDULE_TIMEOUT:()=>BC,SDP_SEMANTICS_PLAN_B:()=>kC,SDP_SEMANTICS_UNIFIED_PLAN:()=>NC,SECOND_HOST:()=>Nw,SIGNAL_PING_PONG_INTERVAL:()=>Ww,SIGNAL_PING_TIMEOUT:()=>Hw,SIGNAL_RECONNECTION_COUNT:()=>RC,SMALL_STAT_BIT:()=>tC,SPEAKER_DEFAULT:()=>GC,STORAGE_EXPIRES_TIME:()=>Gw,STREAM_TYPE_BIG:()=>xC,STREAM_TYPE_SMALL:()=>UC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>YC,SYNC_USER_LIST_INTERVAL:()=>wC,Scene:()=>Zw,THIRD_HOST:()=>kw,TRANSPORT_DIRECTION:()=>$w,TRTC_ERROR_ASSISTANCE:()=>Uw,TRTC_QUALITY_BAD:()=>_C,TRTC_QUALITY_DISCONNECTED:()=>EC,TRTC_QUALITY_EXCELLENT:()=>pC,TRTC_QUALITY_GOOD:()=>mC,TRTC_QUALITY_POOR:()=>fC,TRTC_QUALITY_UNKNOWN:()=>hC,TRTC_QUALITY_VERY_BAD:()=>gC,UPDATE_OFFER_TIMEOUT:()=>CC,VIDEO_MUTE_BIT:()=>nC,VIDEO_STAT_BIT:()=>eC,audioProfileMap:()=>zw,defaultBigVideoProfile:()=>qw,defaultSmallVideoProfile:()=>Yw,getRetryCount:()=>AC,getScriptDir:()=>bw,innerVersion:()=>vw,loggerProxy:()=>ww,screenProfileMap:()=>Jw,setLoggerProxy:()=>Cw,setRetryCount:()=>IC,setVersion:()=>Tw,version:()=>yw,videoProfileMap:()=>Kw});var vw="4.15.00.1600",yw="5.0.0";function Tw(e){yw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));vw="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var Iw,Aw,Sw="undefined"!=typeof importScripts,Rw="undefined"!=typeof registerProcessor,bw=()=>{let e=Sw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},ww="",Cw=e=>ww=e,Dw="web.sdk.qcloud.com",Nw="web.sdk.tencent.cn",kw="web.sdk.cloud.tencent.cn",Ow="https://console.cloud.tencent.com/trtc",Mw="https://".concat(Dw,"/trtc/webrtc/v5/doc"),Lw="".concat(Mw,"/zh-cn/"),Pw="https://yun.tim.qq.com",xw="https://apisgp.my-imcloud.com",Uw="trtc_error_assistance",Vw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},Fw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},Bw=((Aw=Bw||{})[Aw.TRACE=0]="TRACE",Aw[Aw.DEBUG=1]="DEBUG",Aw[Aw.INFO=2]="INFO",Aw[Aw.WARN=3]="WARN",Aw[Aw.ERROR=4]="ERROR",Aw[Aw.NONE=5]="NONE",Aw),Hw=18e3,Ww=2e3,jw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},Gw=6048e5,zw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},Kw={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},qw=Kw["480p_2"],Yw=Kw["120p_2"],Jw={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},Xw={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture",RESIZE:"resize",TIME_UPDATE:"timeupdate"},$w={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Qw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},Zw=((Iw=Zw||{}).LIVE="live",Iw.RTC="rtc",Iw),eC=1,tC=2,rC=4,iC=8,oC=64,nC=16,aC=112,sC=128,cC="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",lC="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",dC=Xw.MAIN,uC=Xw.AUXILIARY,hC=0,pC=1,mC=2,fC=3,_C=4,gC=5,EC=6,vC="unknown",yC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},TC=1/0;function IC(e){TC=e}function AC(){return TC}var SC,RC=30,bC={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry",VIDEO_ENCODE_FAILED_DURING_CALL:"video-encode-failed-during-call",AUDIO_ENCODE_FAILED_DURING_CALL:"audio-encode-failed-during-call"},wC=1e4,CC=1e4,DC=1e4,NC="unified-plan",kC="plan-b",OC=1028,MC=((SC=MC||{})[SC.UNPUBLISH=-1]="UNPUBLISH",SC[SC.PUBLISHING=0]="PUBLISHING",SC[SC.PUBLISHED=1]="PUBLISHED",SC),LC=500,PC=1e3,xC=Xw.BIG,UC=Xw.SMALL,VC=1e4,FC={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},BC=2e3,HC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},WC=5,jC="default",GC=jC,zC="communications",KC=Object.keys(Bw),qC=["normal leave","timeout leave","kick","role change"],YC=10,JC=2e3,XC=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],$C=1e4,QC=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))},ZC=Symbol(32),eD=Symbol(16),tD=Symbol(8),rD=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return QC(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(ZC)}readU16(){return this.read(eD)}readU8(){return this.read(tD)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===ZC){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===eD){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===tD){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};rD.U32=ZC,rD.U16=eD,rD.U8=tD;var iD=128;function oD(e){let t=new rD;for(;e>=128;)t.malloc(1)[0]=255&e|iD,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function nD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new rD,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(oD(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(oD(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new rD;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=nD(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=nD(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(oD(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var aD=class{constructor(){tw(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function sD(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function cD(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function lD(e,t){return e[t]}function dD(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var uD=0,hD=2654435769,pD=16,mD=2,fD=7;function _D(e,t){let r=new aD,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,uD);uD=uD+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new aD;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,FD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+mD+fD)%8;i&&(i=8-i);let o=r+1+mD+fD+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<mD;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){gD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){gD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<fD;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){gD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function gD(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=cD(e,0),n=cD(e,4),a=[];for(let c=0;c<4;c++)a[c]=cD(t,4*c);let s=0;for(let c=0;c<pD;c++)s+=hD,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;sD(r,o,i),sD(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var ED=function(){return new URLSearchParams(location.search).get("trtc_env")||""},vD=e=>Number(e)<14e8,yD=function(e,t){let r;r=ww||(vD(e)?xw:Pw);let i=Math.floor(Math.random()*qb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},TD="unknown";function ID(){if("unknown"!==TD)return TD;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(TD=AD(i,o)),TD}function AD(e,t){if(jw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function SD(e){TD=AD(e)}function RD(){return jw[ID()]}function bD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function wD(e){return CD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function CD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function DD(e){return 4*ND(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function ND(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var kD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},OD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},MD=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function LD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:LD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function PD(e){return e>8?3e4:1e3*LD(e)}function xD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var UD=e=>"function"==typeof e,VD=e=>void 0===e,FD=e=>"string"==typeof e,BD=e=>"number"==typeof e,HD=e=>"boolean"==typeof e,WD=e=>"object"===xD(e),jD=e=>"array"===xD(e),GD=e=>xD(e)==="MediaStreamTrack".toLowerCase(),zD=e=>e.isRemote,KD=e=>"promise"===xD(e),qD=e=>UD(e)&&e.prototype.constructor===e,YD=e=>qD(e)?e.prototype.constructor.name:"",JD="undefined"!=typeof AudioWorkletNode,XD="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function $D(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function QD(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var ZD=e=>+e<10?"0".concat(e):e,eN=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=ZD(r[1])+ZD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},tN=Object.prototype.hasOwnProperty;function rN(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(tN.call(e,t))return!1;return!0}return!1}function iN(e,t){return{userId:t,hasAudio:!!(e&iC),hasVideo:!!(e&eC),hasAuxiliary:!!(e&rC),hasSmall:!!(e&tC),audioMuted:!!(e&oC),videoMuted:!!(e&nC),audioAvailable:!(!(e&iC)||e&oC),videoAvailable:!(!(e&eC)||e&nC)}}function oN(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!VD(e.username)&&!VD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",VD(e.credentialType)||(t.credentialType=e.credentialType)),t}function nN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!FD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var aN=function(e,t,r,i){if(!WD(e)||!WD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(VD(t[o])||r&&r.includes(o)))if(WD(e[o])&&WD(t[o]))n+=aN(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=sN(t[o]),n+=1)}return n};function sN(e){if(jD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=sN(e)})),t}if(WD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=sN(e[r])})),t}return e}var cN=e=>{let t=[];if(jD(e))t=[...e];else if(FD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},lN=e=>FD(e)?document.getElementById(e):e,dN=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function uN(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(jD(e))return"[".concat(e.map((e=>uN(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!MD(e)||!jD(r)&&!jD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=MD(e[a])||jD(e[a])?JSON.parse(uN(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(SC){return"{}"}}function hN(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),uN(e,{keysToInclude:r})}function pN(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var mN=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},fN=e=>iw(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(FD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new hw({code:dw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),_N=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},gN=e=>(Object.keys(e).forEach((t=>{BD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(MD(e[t])||jD(e[t]))&&gN(e[t])})),e);function EN(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function vN(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function yN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function TN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===Xw.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(Iw){return""}}function IN(e,t){return e.width*e.height==t.width*t.height?1:mN()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function AN(e){return 90===e||270===e}function SN(e){return iw(this,null,(function*(){return new Promise(((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then((()=>t(i))),i.onerror=()=>{r(i.error)}}))}))}function RN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach(((e,i)=>{r[i]=RN(e,t)})),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach((i=>{r[i]=RN(e[i],t)})),r}return e}var bN=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(bN||{});function wN(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return VD(i)||(o=Xb(Jb({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return _D(nD(o),r)}catch(rM){return JSON.stringify(e)}}function CN(e,t){let r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}function DN(e){return(65535&e)>>>0}function NN(e){return(4294901760&e)>>>0}function kN(e){let t=function(e){try{let t={},r=0;t.totalLength=cD(e,r),r+=4,t.version=cD(e,r),r+=4,t.encryption=lD(e,r),r+=1,t.uinType=lD(e,r),r+=1,t.uinLength=cD(e,r),r+=4,t.uin=t.uinLength>4?dD(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=ON(o,t),a=7&n[0],s=e.length-1-a-mD-fD,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=mD;)if(h<8)h++,m++;else if(8===h){let i=MN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=MN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=fD;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=MN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=cD(e,r),r+=4,t.seqNo=cD(e,r),r+=4,t.retCode=cD(e,r),r+=4,t.retStrLength=cD(e,r),r+=4,t.retStr=t.retStrLength?dD(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=cD(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?dD(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=cD(e,r),r+=4,t.cookie=t.cookieLength?dD(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=cD(e,r),r+=4,t.busiBuffLength=cD(e,r),r+=4,t.busiBuff=t.busiBuffLength?dD(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function ON(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=hD*pD>>>0;for(let n=0;n<pD;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=hD,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function MN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:ON(c,n),bufPos:t+8}}var LN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function PN(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.clone().json().then((e=>({data:e})),(()=>e.arrayBuffer().then((e=>({data:kN(new Uint8Array(e))||(LN?LN.decode(e):e)}))))))).then(e,a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(oM){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function xN(e){return iw(this,null,(function*(){let t=QD(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return KO.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(QD()-t,"ms")),i}catch(SC){return r}}))}var UN=Object.prototype.hasOwnProperty,VN=e=>"function"==typeof e,FN=e=>e.isRemote,BN=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};var HN=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>iw(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(sL){let a=()=>{clearTimeout(p),h=0,m=2,r(sL)},s=()=>{2!==m&&h<(VN(d)?d():d)?(h++,m=1,VN(o)&&o.call(this,h,a),p=window.setTimeout((()=>{p=-1,f(e,r)}),VN(u)?u(h):u)):(a(),VN(n)&&n.call(this,sL))};VN(i)?i.call(this,{error:sL,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}}));return new Promise(f)}},WN=class{constructor(e){tw(this,"userId"),tw(this,"remoteUserId"),tw(this,"id"),tw(this,"sdkAppId"),tw(this,"type"),tw(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),KO.log(e,t,void 0===this.userId||function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(BN(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(UN.call(e,t))return!1;return!0}return!1}(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},jN={};Qb(jN,{ANDROID_VERSION:()=>rk,CHROME_MAJOR_VERSION:()=>aO,CHROME_VERSION:()=>sO,EDGE_VERSION:()=>lk,EDG_MAJOR_VERSION:()=>hk,EDG_VERSION:()=>uk,ELECTRON_MAJOR_VERSION:()=>cO,FIREFOX_MAJOR_VERSION:()=>sk,FIREFOX_VERSION:()=>ak,HUAWEI_VERSION:()=>qk,IE_VERSION:()=>Ak,IOS_MAIN_VERSION:()=>_O,IOS_VERSION:()=>pO,IPADQQB_VERSION:()=>Lk,IS_ANDROID:()=>tk,IS_ANDROID_WEBVIEW:()=>hO,IS_ANY_SAFARI:()=>dO,IS_CHROME:()=>oO,IS_CHROME_OS:()=>Vk,IS_CHROMIUM_BASE:()=>iO,IS_DESKTOP_IOS_CHROME:()=>TO,IS_EDG:()=>dk,IS_EDGE:()=>ck,IS_ELECTRON:()=>Hk,IS_FIREFOX:()=>nk,IS_HEADLESS_CHROME:()=>nO,IS_HONOR:()=>Kk,IS_HUAWEI:()=>zk,IS_HUAWEIBROWSER:()=>Gk,IS_IE:()=>Ik,IS_IE8:()=>Tk,IS_IOS:()=>ek,IS_IOS_13_OR_14:()=>vO,IS_IOS_15_1:()=>EO,IS_IOS_CHROME:()=>yO,IS_IPAD:()=>XN,IS_IPADQQB:()=>Mk,IS_IPAD_PRO:()=>$N,IS_IPHONE:()=>QN,IS_IPOD:()=>ZN,IS_LINUX:()=>Uk,IS_LOCAL:()=>IO,IS_MAC:()=>xk,IS_MACQQB:()=>kk,IS_MIBROWSER:()=>Wk,IS_MQQB:()=>wk,IS_NATIVE_ANDROID:()=>ok,IS_OLD_ANDROID:()=>ik,IS_OPENHARMONY:()=>eO,IS_OPPOBROWSER:()=>Xk,IS_SAFARI:()=>lO,IS_SAFARI_15_1:()=>gO,IS_SAMSUNGBROWSER:()=>Yk,IS_SOGOU:()=>fk,IS_SOGOUM:()=>pk,IS_TBS:()=>gk,IS_UCBROWSER:()=>Bk,IS_VIVOBROWSER:()=>Qk,IS_WECHAT:()=>Sk,IS_WIN:()=>Pk,IS_WQQB:()=>Dk,IS_WX:()=>Fk,IS_X5MQQB:()=>bk,IS_XWEB:()=>vk,MACQQB_VERSION:()=>Ok,MI_VERSION:()=>jk,MQQB_VERSION:()=>Ck,OPENHARMONY_VERSION:()=>tO,OPPO_VERSION:()=>$k,SAFARI_VERSION:()=>uO,SAMSUNG_VERSION:()=>Jk,SOGOUM_VERSION:()=>mk,SOGOU_VERSION:()=>_k,TBS_VERSION:()=>Ek,UA_DATA_STRING:()=>CO,USER_AGENT:()=>GN,VIVO_VERSION:()=>Zk,WECHAT_VERSION:()=>Rk,WQQB_VERSION:()=>Nk,XWEB_VERSION:()=>yk,browserInfo:()=>SO,getBrowserCoreNumber:()=>xO,getBrowserInfo:()=>RO,getChromeMajorVersion:()=>rO,getDeviceModel:()=>kO,getDeviceModelFromUA:()=>OO,getGPUInfo:()=>NO,getOSName:()=>LO,getOSNumber:()=>PO,getOSString:()=>UO,getOSType:()=>FO,getTerminalType:()=>VO,getUserAgentData:()=>DO,isLocalStorageEnabled:()=>AO,isMobile:()=>wO,isVersionLargerThan:()=>fO,isVersionSmallerThan:()=>mO});var GN="undefined"==typeof navigator?"":navigator.userAgent,zN=e=>new RegExp(e,"i").test(GN),KN=e=>{if(zN(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=GN.match(t);if(r&&r[1])return r[1]}return""},qN=e=>{if(zN(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=GN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},YN=/AppleWebKit\/([\d.]+)/i.exec(GN),JN=YN?parseFloat(YN[1]):NaN,XN=zN("iPad"),$N="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&zN("Macintosh"),QN=zN("iPhone")&&!XN,ZN=zN("iPod"),ek=QN||XN||ZN||$N,tk=zN("Android"),rk=function(){if(tk){let e=GN.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),ik=tk&&zN("webkit")&&rk<2.3,ok=tk&&rk<5&&JN<537,nk=zN("Firefox"),ak=KN("Firefox"),sk=qN("Firefox"),ck=zN("Edge"),lk=KN("Edge"),dk=zN("Edg"),uk=KN("Edg"),hk=qN("Edg"),pk=zN("SogouMobileBrowser"),mk=KN("SogouMobileBrowser"),fk=zN("MetaSr\\s"),_k=KN("MetaSr\\s"),gk=zN("TBS"),Ek=KN("TBS"),vk=zN("XWEB"),yk=KN("XWEB"),Tk=zN("MSIE\\s8\\.0"),Ik=zN("MSIE\\/\\d+"),Ak=function(){if(Ik){let e=/MSIE\s(\d+)\.\d/.exec(GN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(GN)&&/rv:11.0/.test(GN)&&(t=11),t}return NaN}(),Sk=zN("(micromessenger|webbrowser)"),Rk=KN("MicroMessenger"),bk=!gk&&zN("MQQBrowser")&&zN("COVC"),wk=!gk&&zN("MQQBrowser")&&!zN("COVC"),Ck=wk||bk?KN("MQQBrowser"):"",Dk=!gk&&zN(" QQBrowser"),Nk=KN(" QQBrowser"),kk=!gk&&zN("QQBrowserLite"),Ok=KN("QQBrowserLite"),Mk=!gk&&zN("MQBHD"),Lk=KN("MQBHD"),Pk=zN("Windows"),xk=!ek&&zN("MAC OS X"),Uk=!tk&&zN("Linux"),Vk=zN("CrOS"),Fk=zN("MicroMessenger"),Bk=zN("UCBrowser"),Hk=zN("Electron"),Wk=zN("MiuiBrowser"),jk=KN("MiuiBrowser"),Gk=zN("HuaweiBrowser"),zk=zN("Huawei")||zN("HUAWEI"),Kk=zN("Honor")||zN("HONOR"),qk=KN("HuaweiBrowser"),Yk=zN("SamsungBrowser"),Jk=KN("SamsungBrowser"),Xk=zN("HeyTapBrowser"),$k=KN("HeyTapBrowser"),Qk=zN("VivoBrowser"),Zk=KN("VivoBrowser"),eO=zN("OpenHarmony"),tO=KN("OpenHarmony"),rO=()=>qN("Chrome"),iO=zN("Chrome"),oO=!ck&&!fk&&!pk&&!gk&&!vk&&!dk&&!Dk&&!Wk&&!Gk&&!Yk&&!Xk&&!Qk&&iO,nO=zN("HeadlessChrome"),aO=rO(),sO=KN("Chrome"),cO=qN("Electron"),lO=!iO&&!wk&&!bk&&!kk&&!Mk&&zN("Safari"),dO=lO||ek,uO=KN("Version"),hO=/Android.*(wv|.0.0.0)/.test(GN),pO=(()=>{if($N)return uO;if(ek){let e=GN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function mO(e,t){let r=e.split(".").map((e=>Number(e))),i=t.split(".").map((e=>Number(e)));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function fO(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map((e=>Number(e))),o=t.split(".").map((e=>Number(e)));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var _O=Number(pO.split(".")[0]),gO="15.1"===uO,EO="15.1"===pO,vO=(()=>{let e=Number(pO.split(".")[0]);return 14===e||13===e})(),yO=zN("CriOS"),TO=yO&&"11.1.1"===uO,IO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),AO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(eM){e=!1}return e}})(),SO=RO();function RO(){let e=new Map([[nk,["Firefox",ak]],[dk,["Edg",uk]],[oO,["Chrome",sO]],[lO,["Safari",uO]],[gk,["TBS",Ek]],[vk,["XWEB",yk]],[Sk&&QN,["WeChat",Rk]],[Dk,["QQ(Win)",Nk]],[wk,["QQ(Mobile)",Ck]],[bk,["QQ(Mobile X5)",Ck]],[kk,["QQ(Mac)",Ok]],[Mk,["QQ(iPad)",Lk]],[Wk,["MI",jk]],[Gk,["HW",qk]],[Yk,["Samsung",Jk]],[Xk,["OPPO",$k]],[Qk,["VIVO",Zk]],[ck,["EDGE",lk]],[pk,["SogouMobile",mk]],[fk,["Sogou",_k]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var bO=null;function wO(){return bO&&"boolean"==typeof bO.mobile?bO.mobile:tk||ek||QN||XN||eO}var CO="";function DO(){return iw(this,null,(function*(){if(bO)return bO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(bO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!CO&&(CO="UAData: ".concat(bO.platform,"/").concat(bO.platformVersion),bO.architecture&&bO.bitness&&(CO+=" ".concat(bO.architecture,"/").concat(bO.bitness)),bO.mobile&&(CO+=" mobile"),bO.model&&(CO+=" model: ".concat(bO.model.replace(/\s+/g,"/"))),bO.fullVersionList&&(CO+=" ".concat(bO.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),bO}catch(_H){return null}}))}function NO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(_H){return""}}function kO(){return(null==bO?void 0:bO.model)||OO()||""}function OO(){let e=GN.match(/;\s*([^;)]+)\s+Build\//);return null!=e&&e[1]?e[1].trim():null}var MO=new Map([[tk,"Android"],[ek,"iOS"],[Pk,"Windows"],[xk,"MacOS"],[Uk,"Linux"],[Vk,"ChromeOS"]]),LO=function(){return MO.get(!0)?MO.get(!0):bO?bO.platform:"unknown"};function PO(){return Pk?1:tk?2:xk?3:ek?4:Uk?5:Vk?6:eO?7:0}function xO(){return iO?1:lO?2:nk?3:0}var UO=()=>{let e=LO();return e+="/".concat(SO.name,"/").concat(lO?SO.version:SO.version.split(".")[0]),null!=bO&&bO.platformVersion&&(e+="/".concat(bO.platformVersion)),null!=bO&&bO.architecture&&(e+="/".concat(bO.architecture)),e};function VO(){return tk?4:QN?2:XN?3:xk?12:Pk?5:Uk?13:eO?22:1}function FO(){return tk?"Android":QN?"iPhone":XN?"iPad":xk?"Mac":Pk?"Windows":Uk?"Linux":"unknown"}var BO,HO=new(Zb(ow(),1).default),WO=((BO=WO||{}).ROOM_DESTROY="1",BO.JOIN_START="21",BO.JOIN_SCHEDULE_SUCCESS="22",BO.JOIN_SIGNAL_CONNECTION_START="23",BO.JOIN_SIGNAL_CONNECTION_END="24",BO.JOIN_SEND_CMD="25",BO.JOIN_RECEIVED_CMD_RES="26",BO.JOIN_SUCCESS="27",BO.JOIN_FAILED="28",BO.LEAVE_START="51",BO.LEAVE_SEND_CMD="52",BO.LEAVE_SUCCESS="53",BO.PUBLISH_START="61",BO.SEND_FIRST_VIDEO_FRAME="62",BO.PUBLISH_FAILED="63",BO.SUBSCRIBE_START="81",BO.SUBSCRIBE_SUCCESS="82",BO.SUBSCRIBE_FAILED="84",BO.UNSUBSCRIBE_SUCCESS="83",BO.LOCAL_TRACK_CAPTURE_START="101",BO.LOCAL_TRACK_CAPTURE_SUCCESS="102",BO.LOCAL_TRACK_CAPTURE_FAILED="103",BO.LOCAL_TRACK_PUBLISHED="104",BO.LOCAL_TRACK_UNPUBLISHED="105",BO.LOCAL_TRACK_REPLACED="106",BO.SWITCH_DEVICE_SUCCESS="107",BO.TRACK_MUTED="108",BO.TRACK_UNMUTED="109",BO.REMOTE_TRACK_SUBSCRIBED="110",BO.REMOTE_TRACK_UNSUBSCRIBED="111",BO.LOCAL_TRACK_RECAPTURE="112",BO.LOCAL_AUDIO_STARTED="113",BO.LOCAL_AUDIO_STOPPED="114",BO.REMOTE_AUDIO_STARTED="115",BO.REMOTE_AUDIO_STOPPED="116",BO.PLAY_TRACK_START="151",BO.PLAYER_STATE_CHANGED="152",BO.VIDEO_LOADED_DATA="153",BO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",BO.AUDIO_CONTEXT_LONG_SUSPENDED="155",BO.SIGNAL_CONNECTION_STATE_CHANGED="201",BO.PEER_CONNECTION_STATE_CHANGED="202",BO.SINGLE_CONNECTION_STAT="203",BO.SPC_RECONNECTED="204",BO.HEARTBEAT_REPORT="251",BO.RECEIVED_PUBLISHED_USER_LIST="252",BO.REMOTE_PUBLISH_STATE_CHANGED="253",BO.AUDIO_LEVEL_INTERVAL="260",BO.NETWORK_QUALITY="261",BO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",BO.QUALITY_LIMITATION_CHANGED="263",BO.LOG="264",BO.AUDIO_PROCESSOR_DEBUG="265",BO.SSO_SWITCH="266",BO.SWITCH_ROOM_START="401",BO.SWITCH_ROOM_SUCCESS="407",BO.SWITCH_ROOM_FAILED="408",BO),jO=WO,GO=new class{constructor(){tw(this,"enable",!1),tw(this,"ssoFailCount",0),HO.on("22",(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&HO.emit("266",{enable:!0})})),HO.on("266",(e=>{let{enable:t}=e;this.enable=t}))}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&HO.emit("266",{enable:!1})}},zO=class e{constructor(){tw(this,"_isEnableUploadLog",!0),tw(this,"_localJoinedUser",new Map),tw(this,"_queue",[]),tw(this,"_timeoutId",-1),tw(this,"_logLevel",1),tw(this,"_logLevelToUpload",2),!Sw&&!Rw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){HO.on(jO.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&Bw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),HO.on(jO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),HO.once(jO.JOIN_FAILED,(()=>{this.startUpload()})),HO.on(jO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(FD(r.userId)&&BD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return iw(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e],n={timestamp:fw(),sdkAppId:String(i),userId:r,version:yw,log:o.map((e=>e.log)).join("\n")},a=JSON.stringify(n),s=GO.enable?wN(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach((e=>e.uploaded=!0))}}catch(rM){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t,r,i){return HN({retryFunction:()=>PN({url:yD(t,Vw.LOG),body:e,timeout:5e3,priority:"low"}).then((e=>{r&&"ok"!==e.data&&(GO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))})),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(mw()),"[".concat(_w(t),"] <").concat(Bw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){VD(Bw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(FD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Iw){return""}}addLogToQueue(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,n={log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:i,sdkAppId:o,forAllJoinedClients:r};HO.emit(jO.LOG,{log:n}),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push(n)}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;if(r.unshift(this.getPrefix(t)),this.addLogToQueue(t,r,i,o,n),t<this._logLevel)return;let s=(null==(a=Bw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[s]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[s](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new WN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;Bw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};tw(zO,"PRINT_LOG_TAG",!(ek||tk||nO));var KO=new zO,qO=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},YO=new class{constructor(){tw(this,"_prefix","TRTC"),tw(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){AO()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(rM){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(AO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(eM){KO.warn(eM)}}getItem(e){if(!AO())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(Iw){KO.warn(Iw)}}setItem(e,t){if(AO())try{let r={expiresIn:Date.now()+Gw,value:t};this._queue.set(this.getRealKey(e),r)}catch(SC){KO.warn(SC)}}deleteItem(e){if(!AO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Iw){return KO.warn(Iw),!1}}clear(){if(AO())try{localStorage.clear()}catch(eM){KO.warn(eM)}}},JO={};Qb(JO,{HTTPS_API:()=>xL,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>oP,IS_GET_CAPABILITIES_SUPPORTED:()=>iP,IS_GET_SETTINGS_SUPPORTED:()=>rP,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>tP,IS_INSERTABLE_STREAM_SUPPORTED:()=>nP,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>EP,IS_RTC_RTP_SENDER_SUPPORTED:()=>QL,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>aP,IS_SEI_SUPPORTED:()=>sP,IS_SPC_SUPPORTED:()=>XL,basis:()=>pP,capabilityCheck:()=>_P,checkSystemRequirementsInternal:()=>NL,decodeSupportStatus:()=>DL,detectVideoCodecCapabilities:()=>TP,detectVideoDecoderCapabilities:()=>AP,detectVideoEncoderCapabilities:()=>IP,encodeSupportStatus:()=>CL,getBrowserInfo:()=>yL,getDisplayResolution:()=>VL,getH264ProfileLevelIds:()=>SP,isAddTransceiverSupported:()=>JL,isBrowserSupported:()=>TL,isCanvasCaptureStreamAPISupported:()=>HL,isCanvasSmallStreamSupported:()=>WL,isGetReceiversSupported:()=>KL,isGetSendersSupported:()=>qL,isGetTransceiversSupported:()=>YL,isGetUserMediaSupported:()=>FL,isMediaDevicesSupported:()=>AL,isMediaSessionSupported:()=>dP,isMediaStreamTrackGeneratorSupported:()=>wL,isMediaStreamTrackProcessorSupported:()=>bL,isReplaceTrackSupported:()=>ZL,isRequestVideoFrameCallbackSupported:()=>gP,isSIMDSupported:()=>hP,isScaleResolutionDownBySupported:()=>jL,isScreenCaptureApiAvailable:()=>OL,isSelectedCandidatePair:()=>UL,isSetParametersSupported:()=>eP,isSetSinkIdSupported:()=>ML,isSmallStreamSupported:()=>GL,isStopTransceiverSupported:()=>$L,isTRTCSupported:()=>kL,isUnifiedPlanDefault:()=>zL,isUsedInHttpProtocol:()=>RL,isWebAudioSupported:()=>BL,isWebCodecSupported:()=>lP,isWebCodecsSupported:()=>IL,isWebRTCSupported:()=>cP,isWebTransportSupported:()=>uP});var XO={};Qb(XO,{AUDIO_LEVEL_SCALE:()=>WM,AudioCodecPipelineType:()=>YM,AudioDecoderDowngradeState:()=>AM,AudioPlayerMode:()=>FM,AudioType:()=>DM,BASIC_TYPE:()=>zM,BannedReason:()=>BM,CONNECTION_CLOSED_REASON:()=>dM,CheckPermissionType:()=>eL,ClientEvent:()=>uM,CodecType:()=>JM,ConnectionEvent:()=>lM,ConnectionState:()=>IM,DECODE_FAILED_ERROR_CODE:()=>XM,DenoiserMode:()=>jM,DeviceType:()=>tL,FacingMode:()=>UM,FrameWorkType:()=>cM,LeaveReason:()=>HM,LocalTrackEvent:()=>pM,MULTI_VIDEO_DATA_TYPE:()=>MM,MediaType:()=>wM,MediaTypeLabel:()=>CM,MonitorEventId:()=>LM,MutedFlag:()=>EM,NetworkQualityValue:()=>PM,PlayerState:()=>mM,ReceiveMode:()=>xM,RemoteStreamType:()=>OM,RemoteTrackEvent:()=>gM,RoomEvent:()=>fM,SMALL_MODE:()=>ZM,SceneNumber:()=>vM,StreamEvent:()=>hM,StreamType:()=>kM,SubscribeMediaType:()=>GM,TIMER_TYPE:()=>QM,TRACK_ACTION:()=>bM,TRACK_KIND:()=>RM,TrackEvent:()=>_M,UserRole:()=>TM,UserRoleNumber:()=>yM,VideoCodec:()=>KM,VideoCodecPipelineType:()=>qM,VideoContentHint:()=>$M,VideoDecoderDowngradeState:()=>SM,VideoPlayerMode:()=>VM,VideoType:()=>NM});var $O,QO,ZO,eM,tM,rM,iM,oM,nM,aM,sM,cM=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(cM||{}),lM=((sM=lM||{}).TRACK_ADDED="track-added",sM.TRACK_UPDATED="track-updated",sM.TRACK_SUBSCRIBED="track-subscribed",sM.STREAM_ADDED="stream-added",sM.STREAM_REMOVED="stream-removed",sM.STREAM_UPDATED="stream-updated",sM.STREAM_PUBLISHED="stream-published",sM.STREAM_SUBSCRIBED="stream-subscribed",sM.STREAM_UNSUBSCRIBED="stream-unsubscribed",sM.STATE_CHANGED="state-changed",sM.ERROR="error",sM.CONNECTION_STATE_CHANGED="connection-state-changed",sM.FIREWALL_RESTRICTION="firewall-restriction",sM.SEI_MESSAGE="sei-message",sM.CLOSED="closed",sM),dM=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(dM||{}),uM=((aM=uM||{}).STREAM_ADDED="stream-added",aM.STREAM_REMOVED="stream-removed",aM.STREAM_UPDATED="stream-updated",aM.STREAM_SUBSCRIBED="stream-subscribed",aM.CONNECTION_STATE_CHANGED="connection-state-changed",aM.PEER_JOIN="peer-join",aM.PEER_LEAVE="peer-leave",aM.MUTE_AUDIO="mute-audio",aM.MUTE_VIDEO="mute-video",aM.UNMUTE_AUDIO="unmute-audio",aM.UNMUTE_VIDEO="unmute-video",aM.CLIENT_BANNED="client-banned",aM.NETWORK_QUALITY="network-quality",aM.AUDIO_VOLUME="audio-volume",aM.SEI_MESSAGE="sei-message",aM.ERROR="error",aM),hM=((nM=hM||{}).PLAYER_STATE_CHANGED="player-state-changed",nM.SCREEN_SHARING_STOPPED="screen-sharing-stopped",nM.CONNECTION_STATE_CHANGED="connection-state-changed",nM.DEVICE_AUTO_RECOVERED="device-auto-recovered",nM.ERROR="error",nM),pM=((oM=pM||{}).DEVICE_AUTO_RECOVERED="1",oM.DEVICE_RECOVER_FAILED="5",oM.DEVICE_CHANGED="2",oM.ERROR="3",oM.PUBLISH_STATE_CHANGED="4",oM.ENCODE_FAILED="6",oM.TRACK_ENDED="7",oM.RENDER="render",oM),mM=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(mM||{}),fM=((iM=fM||{}).PEER_JOIN="peer-join",iM.PEER_LEAVE="peer-leave",iM.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",iM.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",iM.BANNED="banned",iM.NETWORK_QUALITY="network-quality",iM.AUDIO_VOLUME="audio-volume",iM.SEI_MESSAGE="sei-message",iM.ERROR="error",iM.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",iM.REMOTE_PUBLISHED="remote-published",iM.REMOTE_UNPUBLISHED="remote-unpublished",iM.FIREWALL_RESTRICTION="firewall-restriction",iM.HEARTBEAT_REPORT="heartbeat-report",iM.CUSTOM_MESSAGE="custom-message",iM.LAYER_DATA="layerData",iM.FIRST_VIDEO_FRAME="first-video-frame",iM.DUMP="dump",iM.AUDIO_FRAME="audio-frame",iM.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",iM.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",iM.NTP_TIME_UPDATED="ntp-time-updated",iM),_M=(e=>(e.PLAYER_STATE_CHANGED="player-state-changed",e.MUTE="mute",e.UNMUTE="unmute",e.ERROR="error",e.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",e.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",e.FIRST_VIDEO_FRAME="first-video-frame",e.VIDEO_SIZE_CHANGED="video-size-changed",e))(_M||{}),gM=((rM=gM||{}).DECODE_FAILED="decode-failed",rM.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",rM.REMOTE_PUBLISH_CHANGED="remote-publish-changed",rM.AUDIO_FRAME_WITH_NTP="audio-frame-with-ntp",rM),EM=((tM=EM||{})[tM.VIDEO=1]="VIDEO",tM[tM.SMALL=2]="SMALL",tM[tM.AUX=4]="AUX",tM[tM.AUDIO=8]="AUDIO",tM[tM.VIDEO_MUTE=16]="VIDEO_MUTE",tM[tM.AUX_MUTE=32]="AUX_MUTE",tM[tM.AUDIO_MUTE=64]="AUDIO_MUTE",tM),vM=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(vM||{}),yM=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(yM||{}),TM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(TM||{}),IM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(IM||{}),AM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(AM||{}),SM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(SM||{}),RM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(RM||{}),bM=(e=>(e.ADD="add",e.REMOVE="remove",e))(bM||{}),wM=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(wM||{}),CM={1:"audio",2:"auxVideo",4:"video"},DM=((eM=DM||{})[eM.opus=111]="opus",eM),NM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(NM||{}),kM=(e=>(e.Big="big",e.Small="small",e))(kM||{}),OM=(e=>(e.Main="main",e.Aux="auxiliary",e))(OM||{}),MM=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(MM||{}),LM=((ZO=LM||{})[ZO.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",ZO[ZO.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",ZO[ZO.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",ZO[ZO.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",ZO[ZO.MUTE_AUDIO=32772]="MUTE_AUDIO",ZO[ZO.MUTE_VIDEO=32773]="MUTE_VIDEO",ZO[ZO.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",ZO[ZO.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",ZO[ZO.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",ZO[ZO.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",ZO[ZO.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",ZO[ZO.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",ZO[ZO.SWITCH_CAMERA=32780]="SWITCH_CAMERA",ZO[ZO.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",ZO[ZO.REPLACE_VIDEO=32782]="REPLACE_VIDEO",ZO[ZO.REPLACE_AUDIO=32783]="REPLACE_AUDIO",ZO[ZO.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",ZO[ZO.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",ZO[ZO.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",ZO[ZO.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",ZO[ZO.JOIN=32788]="JOIN",ZO[ZO.LEAVE=32789]="LEAVE",ZO[ZO.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",ZO[ZO.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",ZO[ZO.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",ZO[ZO.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",ZO[ZO.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",ZO[ZO.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",ZO[ZO.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",ZO[ZO.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",ZO[ZO.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",ZO[ZO.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",ZO[ZO.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",ZO[ZO.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",ZO[ZO.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",ZO[ZO.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",ZO[ZO.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",ZO[ZO.PUBLISH_AUX=32805]="PUBLISH_AUX",ZO[ZO.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",ZO[ZO.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",ZO[ZO.VIDEO_ENCODER=4004]="VIDEO_ENCODER",ZO[ZO.VIDEO_DECODER=4005]="VIDEO_DECODER",ZO),PM=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(PM||{}),xM=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(xM||{}),UM=(e=>(e.user="user",e.environment="environment",e))(UM||{}),VM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(VM||{}),FM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(FM||{}),BM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(BM||{}),HM=((QO=HM||{})[QO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",QO[QO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",QO[QO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",QO[QO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",QO[QO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",QO[QO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",QO[QO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",QO[QO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",QO[QO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",QO),WM=1e8,jM=(e=>(e[e.NORMAL=0]="NORMAL",e[e.FAR_FIELD_REDUCTION=1]="FAR_FIELD_REDUCTION",e))(jM||{}),GM=class{constructor(){tw(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},zM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(zM||{}),KM=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))(KM||{}),qM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(qM||{}),YM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(YM||{}),JM=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(JM||{}),XM=(($O=XM||{})[$O.SUCCESS=0]="SUCCESS",$O[$O.FAILED=1]="FAILED",$O[$O.WEBCODEC_INIT=2]="WEBCODEC_INIT",$O[$O.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",$O[$O.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",$O[$O.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",$O[$O.WASM_INIT=6]="WASM_INIT",$O[$O.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",$O[$O.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",$O[$O.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",$O[$O.TEST=10]="TEST",$O[$O.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",$O),$M=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))($M||{}),QM=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(QM||{}),ZM=(e=>(e.CANVAS="canvas",e.API="api",e))(ZM||{}),eL=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(eL||{}),tL=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(tL||{}),rL={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},iL={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},oL=(e,t)=>t?"".concat(Mw,"/").concat(e,"/").concat(t):"".concat(Mw,"/").concat(e,"/index.html"),nL=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(Uw);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function aL(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";UD(iL[t])?n=iL[t](r):FD(iL[t])&&(n=iL[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=nL();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(UD(l[t])?s=l[t](r):FD(l[t])&&(s=l[t]));let d=n;return OD()&&(c&&c[t]&&(UD(c[t])?a=c[t](r):FD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(oL("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(oL("en",s),"\n")),d}var sL,cL=Zb(cw(),1),lL=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];tw(this,"countMap",new Map),tw(this,"distributionMap",new Map),tw(this,"version"),tw(this,"log",KO.createLogger({id:"kv"})),e&&(HO.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===Xw.AUDIO?501700:511700,cost:r})})),HO.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===Xw.AUDIO?501700:511700,error:r})})),HO.on("266",(e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})})))}getReportData(e,t){let r={msg_sdk_basic_info:{uint32_sdk_version:_N(this.version||yw),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}})),str_user_sig:e,bytes_report_token:t};return this.countMap.clear(),this.distributionMap.clear(),r}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1,max:n=5e3}=e;var a;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(BD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=dw.UNKNOWN;r&&(BD(r)?i=r:(!VD(r.extraCode)||!VD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},dL=(e=>(e[e.enterRoom=500700]="enterRoom",e[e.exitRoom=500701]="exitRoom",e[e.switchRole=500702]="switchRole",e[e.destroy=500703]="destroy",e[e.startLocalAudio=500704]="startLocalAudio",e[e.updateLocalAudio=500705]="updateLocalAudio",e[e.stopLocalAudio=500706]="stopLocalAudio",e[e.startLocalVideo=500707]="startLocalVideo",e[e.updateLocalVideo=500708]="updateLocalVideo",e[e.stopLocalVideo=500709]="stopLocalVideo",e[e.startScreenShare=500710]="startScreenShare",e[e.updateScreenShare=500711]="updateScreenShare",e[e.stopScreenShare=500712]="stopScreenShare",e[e.startRemoteVideo=500713]="startRemoteVideo",e[e.updateRemoteVideo=500714]="updateRemoteVideo",e[e.stopRemoteVideo=500715]="stopRemoteVideo",e[e.muteRemoteAudio=500716]="muteRemoteAudio",e[e.setRemoteAudioVolume=500717]="setRemoteAudioVolume",e[e.use=500718]="use",e[e.switchRoom=500719]="switchRoom",e[e.sendSEIMessage=5e5]="sendSEIMessage",e[e.sendCustomMessage=500001]="sendCustomMessage",e))(dL||{}),uL=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(uL||{}),hL=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))(hL||{}),pL=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(pL||{}),mL=((sL=mL||{})[sL.DECODER_TYPE=514700]="DECODER_TYPE",sL[sL.DECODER_HW_SW=514701]="DECODER_HW_SW",sL[sL.DECODE_RESULT=514702]="DECODE_RESULT",sL[sL.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",sL[sL.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",sL[sL.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",sL[sL.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",sL[sL.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",sL[sL.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",sL[sL.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",sL[sL.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",sL[sL.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",sL[sL.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",sL[sL.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",sL[sL.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",sL[sL.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",sL[sL.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",sL),fL=new lL(!0),_L=new lL(!1),gL=fL,EL={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},vL=new Map([[nk,["Firefox",ak]],[dk,["Edg",uk]],[oO,["Chrome",sO]],[lO,["Safari",uO]],[gk,["TBS",Ek]],[vk,["XWEB",yk]],[Sk&&QN,["WeChat",Rk]],[Dk,["QQ(Win)",Nk]],[wk,["QQ(Mobile)",Ck]],[bk,["QQ(Mobile X5)",Ck]],[kk,["QQ(Mac)",Ok]],[Mk,["QQ(iPad)",Lk]],[Wk,["MI",jk]],[Gk,["HW",qk]],[Yk,["Samsung",Jk]],[Xk,["OPPO",$k]],[Qk,["VIVO",Zk]],[ck,["EDGE",lk]],[pk,["SogouMobile",mk]],[fk,["Sogou",_k]]]);function yL(){let e=vL.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var TL=function(){return!(Bk||ck||dk&&hk<80||nk&&sk<56)},IL=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},AL=function(){if(!navigator.mediaDevices)return RL()||KO.error(iL.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},SL=!1;function RL(){return"http:"===location.protocol&&!IO&&(SL||KO.error(aL({key:rL.NOT_SUPPORTED_HTTP})),SL=!0,!0)}var bL=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},wL=function(){return!(null==window||!window.MediaStreamTrackGenerator)},CL=function(){return iw(this,null,(function*(){var e,t,r;if(EL.detail.isH264EncodeSupported&&EL.detail.isVp8EncodeSupported)return{isH264EncodeSupported:EL.detail.isH264EncodeSupported,isVp8EncodeSupported:EL.detail.isVp8EncodeSupported,isH265EncodeSupported:EL.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement(Xw.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(tM){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}}))},DL=function(){return iw(this,null,(function*(){var e;if(EL.detail.isH264DecodeSupported&&EL.detail.isVp8DecodeSupported)return{isH264DecodeSupported:EL.detail.isH264DecodeSupported,isVp8DecodeSupported:EL.detail.isVp8DecodeSupported,isH265DecodeSupported:EL.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;JL()?(o.addTransceiver(Xw.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(rM){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}}))};var NL=vN((e=>iw(void 0,null,(function*(){let t=Date.now(),r=cP(),i=AL(),o=IL();if(EL.detail.isWebRTCSupported=r,EL.detail.isMediaDevicesSupported=i,EL.detail.isWebCodecsSupported=o,EL.detail.isScreenShareSupported=OL(),EL.detail.isSmallStreamSupported=GL(),37===e)return Object.assign(EL.detail,yield function(){return iw(this,null,(function*(){return PL||(PL=new Promise((e=>iw(this,null,(function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!IL())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout((()=>{n(),e(t)}),5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map((e=>iw(this,null,(function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise(((t,o)=>iw(this,null,(function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(sM){o(sM)}}))))}catch(p){return KO.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise(((r,o)=>iw(this,null,(function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(sM){o(sM)}}))))}catch(p){KO.warn("".concat(e.type," decoder error:"),p)}return i})))))).forEach((e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)})),n(),e(t)}catch(a){n(),KO.warn("detectWebCodecsSupported failed:",a),e(t)}})))),PL)}))}()),EL.detail.isBrowserSupported=o,EL.result=i&&o,EL.result||KO.error("".concat(navigator.userAgent," ").concat(hN(EL.detail,!1))),fP(e),gL.addNumber({key:523800,value:Date.now()-t}),EL;if(EL.result&&EL.detail.isH264EncodeSupported&&EL.detail.isVp8EncodeSupported&&EL.detail.isH265EncodeSupported&&EL.detail.isH264DecodeSupported&&EL.detail.isVp8DecodeSupported&&EL.detail.isH265DecodeSupported)return EL;let n=TL(),{encode:a,decode:s}=yield function(){return iw(this,null,(function*(){let[e,t]=yield Promise.all([CL(),DL()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}}))}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield CL();KO.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&tk&&iO&&!vk&&!gk){let{encode:e,decode:t}=yield function(){return iw(this,null,(function*(){return LL||(LL=new Promise((e=>iw(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),d.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>d.addIceCandidate(e.candidate))),d.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=cL.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=cL.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>iw(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===Xw.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===Xw.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),KO.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&KO.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(CO)),e))),LL)}))}();c=e,d=t}return EL.result=n&&r&&i&&(c||l)&&(d||h),EL.detail.isBrowserSupported=n,EL.detail.isWebRTCSupported=r,EL.detail.isH264EncodeSupported=c,EL.detail.isVp8EncodeSupported=l,EL.detail.isH265EncodeSupported=u,EL.detail.isH264DecodeSupported=d,EL.detail.isVp8DecodeSupported=h,EL.detail.isH265DecodeSupported=p,EL.result||KO.error("".concat(navigator.userAgent," ").concat(hN(EL.detail,!1))),fP(),gL.addNumber({key:523800,value:Date.now()-t}),EL})))),kL=function(){return EL.result},OL=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},ML="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,LL=null;var PL=null;var xL=(e,t,r)=>{"http:"===location.protocol&&!IO&&(e[t]=()=>{throw new hw({code:dw.INVALID_OPERATION,message:iL.NOT_SUPPORTED_HTTP})})},UL=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(HD(e.selected)&&!e.selected)};function VL(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function FL(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function BL(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function HL(){return"captureStream"in HTMLCanvasElement.prototype}function WL(){return!(Sk||ek||aO&&aO<63)&&!(!TL()||!HL())}function jL(){return!(aO<74||ck||_O<11||sk<46)}function GL(){return WL()||jL()}var zL=function(){if(VD(window.RTCRtpTransceiver)||!JL()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:NC}),e.addTransceiver(Xw.AUDIO),t=!0}catch(Iw){}return null==e||e.close(),t};function KL(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function qL(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function YL(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function JL(){return!(11===_O&&!TO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var XL=!(!JL()||iO&&aO<86);function $L(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var QL="RTCRtpSender"in window;function ZL(){return QL&&"replaceTrack"in window.RTCRtpSender.prototype}function eP(){return QL&&"setParameters"in window.RTCRtpSender.prototype&&qL()}var tP="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,rP=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,iP=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,oP="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,nP=QL&&"createEncodedStreams"in window.RTCRtpSender.prototype&&rO()>=86,aP="RTCRtpScriptTransform"in window,sP=QL&&(nP||aP),cP=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function lP(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return VD(window.AudioDecoder)||(e.AudioDecoder=!0),VD(window.AudioEncoder)||(e.AudioEncoder=!0),VD(window.VideoDecoder)||(e.VideoDecoder=!0),VD(window.VideoEncoder)||(e.VideoEncoder=!0),VD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function dP(){return"mediaSession"in navigator&&!VD(navigator.mediaSession.setActionHandler)}function uP(){return!VD(window.WebTransport)}function hP(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function pP(){let e={browser:"".concat(SO.name,"/").concat(SO.version),os:LO(),displayResolution:VL(),isScreenShareSupported:OL(),isWebRTCSupported:cP(),isGetUserMediaSupported:FL(),isWebAudioSupported:BL(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:lP(),isMediaSessionSupported:dP(),isWebTransportSupported:uP()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var mP="checkResult";function fP(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;YO.setItem(mP+e,{ua:navigator.userAgent,checkResult:EL})}function _P(e){RL();let t=YO.getItem(mP+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!WD(e)&&Object.keys(t).every((t=>t in e))}(t.checkResult.detail,EL.detail)&&(EL=t.checkResult),NL(e)}function gP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var EP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function vP(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var yP=!1;function TP(){return iw(this,null,(function*(){var e;try{if(yP||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=PO(),r=xO();if(0===t||0===r)return;yP=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([IP(i),AP(i)]);o&&Object.keys(o).forEach((e=>{let i=vP(e.toLowerCase());gL.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})})),n&&Object.keys(n).forEach((e=>{let i=vP(e.toLowerCase());gL.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})}))}catch(eM){KO.info("detectVideoCodecCapabilities failed",eM)}}))}function IP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return iw(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Aw){}return n}))}function AP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return iw(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Aw){}return n}))}function SP(){let e={sender:new Set,receiver:new Set,senderHex:new Set,receiverHex:new Set};try{if(RTCRtpSender&&"function"==typeof RTCRtpSender.getCapabilities){let t=RTCRtpSender.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.senderHex.add(t);let i=parseInt(t,16);isNaN(i)||e.sender.add(i)}}}))}if(RTCRtpReceiver&&"function"==typeof RTCRtpReceiver.getCapabilities){let t=RTCRtpReceiver.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.receiverHex.add(t);let i=parseInt(t,16);isNaN(i)||e.receiver.add(i)}}}))}}catch(eM){KO.warn("get H264 profile levelId failed",eM)}return e}var RP=Zb(ow(),1),bP=Symbol("instance"),wP=Symbol("cacheResult"),CP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,MP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},DP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var NP=new Map;function kP(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=NP.get(i)||[];NP.has(i)||NP.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=LP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[wP]:Promise.resolve(i[wP]);i.state instanceof CP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof CP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new DP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new DP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new CP(u,t,a);MP.call(i,h);let p=e=>{var o;return i[wP]=e,h.aborted||(MP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[wP])),e},m=e=>(MP.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(aM){return m(new DP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(aM),aM instanceof Error?aM:new Error(String(aM))))}}}}var OP="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function MP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(LP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var LP=class e extends RP.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[bP];o?this.name=o.name+"-"+o.count++:i[bP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=NP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);NP.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};OP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){MP.call(this,e)}};LP.STATECHANGED="stateChanged",LP.UPDATEAFSM="updateAFSM",LP.INIT="[*]",LP.ON="on",LP.OFF="off",LP.instances=new Map,LP.instances2=new WeakMap;var PP="undefined"!=typeof window,xP=PP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},UP=PP&&window.cancelIdleCallback||function(e){clearTimeout(e)},VP=PP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),FP=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=Jb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=Xb(Jb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=QD(),o=()=>{if(r=QD()-i,r>=t.delay&&(i=QD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=xP(o,{timeout:t.delay})};return t.ricID=xP(o,{timeout:t.delay})}static raf(t){let r,i=QD(),o=()=>document.hidden&&t.backgroundTask?(r=QD()-i,i=QD(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=QD()-i,r>=t.delay&&(i=QD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=QD()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&VP&&VP(i),o&&UP(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};tw(FP,"taskMap",new Map),tw(FP,"currentTaskID",1),tw(FP,"sharedWorker",null),tw(FP,"workerTasks",new Map);var BP=FP;Xw.SEI_MESSAGE;var HP={LOADED_DATA:Xw.LOADEDDATA,LOADED_META_DATA:Xw.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:Xw.RESIZE,TIME_UPDATE:"time-update"},WP={};Qb(WP,{create:()=>GP,remove:()=>zP});var jP=new WeakMap;function GP(e,t){jP.has(e)||jP.set(e,[]);let r=jP.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function zP(e){let t=jP.get(e);t&&(t.forEach((e=>e())),jP.delete(e))}var KP=new class{constructor(){tw(this,"_roomIdMap",new Map),tw(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:yw,env:Fw.QCLOUD,browserVersion:SO.name+SO.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){IO||!KO.isAbleToUpload||this._configs.env===Fw.QCLOUD&&this.uploadEventToKibana(Xb(Jb({},e),{result:"success"}))}logFailedEvent(e){if(IO||!KO.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||dw.UNKNOWN};this._configs.env===Fw.QCLOUD&&this.uploadEventToKibana(Xb(Jb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:fw(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:yw,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=GO.enable?wN(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(yD(this._configs.sdkAppId,Vw.LOG),n)}sendRequest(e,t){setTimeout((()=>PN({url:e,body:t,priority:"low"}).catch((()=>{}))),2e3)}},qP=new WeakMap;function YP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=HN({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=qP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=qP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;VN(i)&&i.call(this,t,r),null!=(o=qP.get(e))&&o.has(n)&&(qP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=qP.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):qP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=qP.get(e))?void 0:t.delete(n)}))},a}}var JP=class extends LP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.options=e,this.kind=t,tw(this,"id"),tw(this,"element",null),tw(this,"track"),tw(this,"url"),tw(this,"attr"),tw(this,"mode"),tw(this,"muted"),tw(this,"_log"),tw(this,"_pausedRetryCount"),tw(this,"_isElementPlayingFired",!1),tw(this,"_interval"),tw(this,"_delayDestroyTimeoutId",0),tw(this,"_playSuccessResolve"),tw(this,"_isReplayByRecreateMediaStreamCalled",!1),tw(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=WC,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&!1===(null==(e=this.element)?void 0:e.paused)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return iw(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(Iw){let t=aL({key:rL.PLAY_FAILED,data:{media:this.kind,error:Iw}});if(this._log.warn(Iw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new hw({code:dw.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!dO?this._delayDestroyTimeoutId||(null==(t=this.element)||t.remove(),this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(Xw.ENDED),this._interval>0&&BP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.src="",this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():EO?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return GP(this.element,this.element).add(Xw.PLAYING,e).add(Xw.ENDED,e).add(Xw.PAUSE,e).add(Xw.ERROR,e).add(Xw.LOADEDDATA,e).add(Xw.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==WP||WP.create(e,e).add(Xw.ENDED,t).add(Xw.MUTE,t).add(Xw.UNMUTE,t),e.readyState===Xw.ENDED&&this.handleTrackEvent({type:Xw.ENDED}),e.muted&&this.handleTrackEvent({type:Xw.MUTE})}}bindAutoPlayEvent(){HO.on(jO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&zP(e)}unbindEvents(){this.element&&zP(this.element),this.unbindTrackEvents(),HO.off(jO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case Xw.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(Xw.PLAYING),this._interval&&(BP.clearTask(this._interval),this._interval=-1);break;case Xw.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(Xw.ENDED);break;case Xw.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(Xw.PAUSE),ek&&(this._interval=BP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case Xw.ERROR:if(this.element&&this.element.error){this.handlePaused(Xw.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),KP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(bC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),Kk||zk?this.emit(HP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case Xw.LOADEDDATA:this.kind===Xw.VIDEO&&this.emit(HP.LOADED_DATA);break;case Xw.LOADEDMETADATA:this.kind===Xw.VIDEO&&this.emit(HP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),KP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),gL.addSuccessEvent({key:this.kind===Xw.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),KP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),gL.addFailedEvent({key:this.kind===Xw.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(HP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{EN(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),EN(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){return iw(this,null,(function*(){switch(e.type){case Xw.ENDED:this.handleStopped(Xw.ENDED);break;case Xw.MUTE:this.handlePaused(Xw.MUTE);break;case Xw.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.resume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(Xw.UNMUTE))}}))}handlePlaying(e){var t;return this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),e}handlePaused(e){return this._log.debug("handlePaused",e),e}handleStopped(e){return this._log.debug("handleStopped",e),e}getElement(){return this.element}};tw(JP,"PlayerEvent",HP),ew([YP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],JP.prototype,"doReplayByRecreateMediaStream",1),ew([kP([],"PLAYING",{sync:!0,success(e){this.emit(HP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}})],JP.prototype,"handlePlaying",1),ew([kP("PLAYING","PAUSED",{ignoreError:!0,sync:!0,success(e){this.emit(HP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}})],JP.prototype,"handlePaused",1),ew([kP([],"STOPPED",{sync:!0,success(e){this.emit(HP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}})],JP.prototype,"handleStopped",1);var XP,$P="trtc_autoplay",QP="".concat($P,"_mask"),ZP="".concat($P,"_wrapper"),ex="".concat($P,"_header"),tx="".concat($P,"_content"),rx="".concat($P,"_action_wrapper"),ix="".concat($P,"_question"),ox="".concat($P,"_collapse"),nx="".concat($P,"_action_confirm"),ax="".concat($P,"_detail"),sx="#2473E8",cx="dialog",lx="".concat(cx,"-show"),dx="".concat(cx,"-1"),ux="".concat(cx,"-2"),hx=!1,px=!1,mx=()=>px,fx="".concat(Mw,"/").concat(OD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),_x="<br><a href='".concat(fx,"' target='_blank'>").concat(OD()?"其他方案?":"Any other solution?","</a>"),gx="".concat(OD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(_x):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(_x)),Ex=class{constructor(){if(tw(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),tw(this,"_dialogNode",null),tw(this,"_bodyPosition",""),tw(this,"_showDetail",!1),tw(this,"_isCollapseClicked",!1),tw(this,"_isQuestionClicked",!1),OD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!hx){let e=document.createElement("style");e.innerHTML=".".concat(QP,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(QP," div:not(.").concat(rx,"){display:block !important;}.").concat(ZP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(ZP," a{color:").concat(sx,";}.").concat(ex,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(tx,"{margin:8px 0;}.").concat(rx,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(ox,"{margin-right:auto;cursor:pointer}.").concat(ix,"{height:100%;line-height:16px;cursor:pointer;}.").concat(nx,"{margin-left:8px;color:#fff;background:").concat(sx,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(nx,":hover{opacity:0.9;}.").concat(ox,",.").concat(nx,",.").concat(tx,",.").concat(ix,"{font-size:14px;}@media screen and (max-width:750px){.").concat(ZP,"{width:80vw;}}"),document.head.appendChild(e),hx=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(QP,"\"><div class='").concat(ZP,"'><div class='").concat(ex,"'>").concat(location.host,"</div><div class='").concat(tx,"'>").concat(this.content,"</div><div class='").concat(ax,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(gx,"</div><div class='").concat(rx,"'></div></div></div>").trim();let t=document.createElement("button");t.className=nx,t.innerText=OD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=ix,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=ox,i.innerText="".concat(OD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(rx));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){mx()||(px=!0,this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(ZP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",KO.info("show autoplay dialog"),KP.uploadEvent({log:lx}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null,px=!1)}onConfirm(){KO.warn("confirm clicked, try resume stream"),HO.emit(jO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(ax));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||KP.uploadEvent({log:dx}),this._isCollapseClicked=!0}onQuestionClick(){window.open(fx,"_blank"),this._isQuestionClicked||KP.uploadEvent({log:ux}),this._isQuestionClicked=!0}},vx=class extends JP{constructor(e){super(e,Xw.VIDEO),tw(this,"stat",{}),tw(this,"_calculateTimeout",-1),tw(this,"viewMirror",!1),tw(this,"objectFit"),tw(this,"container"),tw(this,"canvas"),tw(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,VD(e.viewMirror)||(this.viewMirror=e.viewMirror),VD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement(Xw.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,this.track&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(Xw.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(Xw.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add(Xw.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===Xw.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===Xw.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=WC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!mx()&&(this._log.info("[".concat(WC-this._pausedRetryCount+1,"/").concat(WC,"] ").concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;l===Xw.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===Xw.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===Xw.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(HP.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(HP.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(gP()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(Iw){this._log.warn("init stat failed",Iw)}}};function yx(e,t){return iw(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),KO.info("worklet addModule success")}catch(Iw){throw KO.info("worklet addModule catch error. ".concat(Iw.message)),Iw}}))}"undefined"!=typeof AudioContext?XP=AudioContext:"undefined"!=typeof webkitAudioContext?XP=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(XP=mozAudioContext);var Tx,Ix=1500,Ax=-1,Sx=0,Rx=-1,bx=!1;!function e(){try{if(Tx)return;(Tx=new XP({sampleRate:48e3})).onstatechange=()=>{KO.info("context state: ".concat(Tx.state).concat("running"!==Tx.state?" visibilityState: ".concat(document.visibilityState):"")),wx()},clearTimeout(Ax)}catch(_H){KO.error("initAudioContext failed: ".concat(_H," typeof AudioContextClass: ").concat(typeof XP)),Ax=setTimeout(e,1e3)}}();var wx=()=>{"suspended"===Tx.state?(Sx=QD(),-1===Rx&&(Rx=setTimeout((()=>{"suspended"===Tx.state&&(bx=!0,HO.emit("155",{isSuspended:!0}))}),Ix)),Nx(),document.addEventListener("click",wx)):"interrupted"===Tx.state?Nx():(Sx&&(gL.addNumber({key:507800,value:QD()-Sx,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),Sx=0),-1!==Rx&&(clearTimeout(Rx),Rx=-1,bx&&(bx=!1,HO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",wx),document.removeEventListener("click",wx))},Cx=0,Dx=-1;function Nx(){return new Promise(((e,t)=>{if("running"===Tx.state)return e();Date.now()-Cx<1e3?(clearTimeout(Dx),Dx=setTimeout((()=>{Cx=Date.now(),Tx.resume().then(e,t)}),1e3)):(clearTimeout(Dx),Cx=Date.now(),Tx.resume().then(e,t))})).catch((e=>{KO.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",wx)}))}document.addEventListener("click",wx);var kx=e=>Tx,Ox=class{constructor(e){this.name=e,tw(this,"node"),tw(this,"node2"),tw(this,"pre",new Set),tw(this,"next",new Set),tw(this,"context"),tw(this,"connectedNodes",new Set),tw(this,"nextInputChannelMap",new Map),tw(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((t=>t.channelCount=e))}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(SC){KO.error(SC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),gL.addSuccessEvent({key:502701})}catch(rM){KO.error(rM),gL.addFailedEvent({key:502701,error:rM})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),gL.addSuccessEvent({key:502702})}catch(Iw){KO.error(Iw),gL.addFailedEvent({key:502702,error:Iw})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)}))}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},Mx=class extends Ox{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,tw(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},Lx=class{constructor(){tw(this,"source",new Ox),tw(this,"gain",new Ox),tw(this,"destination",new Ox)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(kx().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(Vx(e))}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},Px=class extends Lx{constructor(e){super(),this.context=e,tw(this,"aec",new Ox("aec")),tw(this,"mixNode",new Ox("mixNode")),tw(this,"silentNode",new Ox("silentNode")),tw(this,"denoiser",new Ox("denoiser")),tw(this,"voiceChanger",new Ox("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},xx=class{constructor(){tw(this,"audioContext",kx()),tw(this,"destination",this.audioContext.createMediaStreamDestination()),tw(this,"inputs",new Set),tw(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},Ux=new WeakMap;function Vx(e){let t=Ux.get(e);if(t)return t;let r=kx();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return Ux.set(e,t),t}var Fx=class e{constructor(e){tw(this,"_volume",0),tw(this,"_volumeDb",0),tw(this,"_log"),tw(this,"_scriptProcessorNode",null),tw(this,"_audioWorkletNode",null),tw(this,"_interval",200),tw(this,"ready",this.preload());let{log:t}=e;this._log=t,HO.on(jO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=yx(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(eM){this._log.error("volumeMeter init audio worklet error: ".concat(eM)),KP.logFailedEvent({userId:this._log.userId,eventType:bC.LOAD_WORKLET,error:eM}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=kx().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(eM){this._log.error("volumeMeter init script processor error: ".concat(eM))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,HO.off(jO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};tw(Fx,"lastMessageTime",0),tw(Fx,"audioContext",kx()),tw(Fx,"workletReady");var Bx=Fx,Hx=class extends Ox{constructor(e){super(),tw(this,"_volumeMeter"),this._volumeMeter=new Bx(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return iw(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},Wx=Bx,jx=Zb(ow(),1),Gx=e=>t=>t.deviceId===e,zx=class{constructor(e,t){tw(this,"kind"),tw(this,"type"),tw(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&Yx(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(Gx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");KO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(Gx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");KO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},Kx=class extends jx.EventEmitter{constructor(){super(),tw(this,"audioInputs",new zx(Xw.AUDIO,"Input")),tw(this,"videoInputs",new zx(Xw.VIDEO,"Input")),tw(this,"audioOutputs",new zx(Xw.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||BP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){Jx().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return iw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield Jx(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}hasBlueTooth(){var e;if((null==(e=kx())?void 0:e.outputLatency)>150)return!0;let t=["bluetooth","air","wireless","bt","tws","buds","headset","headphone"];return this.audioOutputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))}},qx=Rw||Sw?null:new Kx;function Yx(e){return e.deviceId===e.groupId&&""===e.groupId}function Jx(){return iw(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(RL()||!AL())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{Yx(e)&&(e.kind===Xw.AUDIO_INPUT?r.audio=!0:e.kind===Xw.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&Nx()}catch(rM){KO.debug("capture before getDevices failed: ",rM)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&eU.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function Xx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return qx.update(e?1:0).then((e=>e.audioInputs.devices))}function $x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return qx.update(e?2:0).then((e=>e.videoInputs.devices))}var Qx=!1;function Zx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return iw(this,null,(function*(){return(ek||lO)&&(e=!1),qx.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var eU=new Set;function tU(e,t){return iw(this,null,(function*(){let r=(yield Xx()).find((e=>e.deviceId===jC));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var rU,iU=class extends Lx{constructor(e){super(),this.log=e,tw(this,"volumeMeter"),tw(this,"volumeMeterAfter3A"),tw(this,"volumeDestination"),tw(this,"analyser",new Mx),this.volumeMeter=new Hx({log:this.log}),this.volumeMeterAfter3A=new Hx({log:this.log}),this.volumeDestination=new Ox,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},oU=class e extends JP{constructor(e){super(e,Xw.AUDIO),tw(this,"_outputDeviceId"),tw(this,"_volume",1),tw(this,"_destination",kx().createMediaStreamDestination()),tw(this,"pipeline"),tw(this,"volumeMeterMode","worklet"),this.mode=0,e.url&&(this.url=e.url),this.pipeline=new iU(this._log)}get duration(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.duration)||0))}get currentTime(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.currentTime)||0))}set currentTime(e){this.element&&(this.element.currentTime=e/1e3)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===pO||"15.3"===pO||"15.4"===pO)&&this.muted)return void this._log.info("audioElement is muted.");let t=rU||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.url&&(t.crossOrigin="anonymous",t.src=this.url),this.element=t,BD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===rU&&(rU=void 0),this.options.enableTimeupdateEvent&&(this.element.ontimeupdate=()=>this.emit(HP.TIME_UPDATE,this.currentTime)),this.bindElementEvents()}play(t){return iw(this,null,(function*(){if(this.track||this.url)return!this.pipeline.source.node&&this.track&&this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?(this.pipeline.volumeMeter.init(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(kx().createAnalyser()),function(){iw(this,null,(function*(){try{Qx||(Qx=!0,KO.info("speakers:".concat((yield Zx()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),rw(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}setSinkId(e){return iw(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},nU=class extends oU{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(HP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}},aU=class extends oU{constructor(e){super(e),tw(this,"_sourceElement"),tw(this,"_output",new Ox),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(kx().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(HP.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):ek||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),zP(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play()))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&dO&&(rU=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},sU=class extends LP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?aU:vx)}=e;var a;super(),tw(this,"id",qO()),tw(this,"userId",""),tw(this,"isRemote"),tw(this,"mediaType"),tw(this,"room"),tw(this,"user"),tw(this,"_log"),tw(this,"_inputTrack"),tw(this,"_outputTrack"),tw(this,"isPlayCalled"),tw(this,"container",null),tw(this,"player"),tw(this,"subVideoPlayerMap"),tw(this,"muted",!1),tw(this,"abortCtrl"),tw(this,"objectFit","cover"),tw(this,"mirror"),tw(this,"rotation"),tw(this,"isScreen",!1),tw(this,"manager"),tw(this,"trackSettings"),tw(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=KO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof GF?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof GF}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(HP.PLAYER_STATE_CHANGED,(e=>{HO.emit(jO.PLAYER_STATE_CHANGED,Jb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===Xw.VIDEO&&(this.player.on(HP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(HP.LOADED_DATA),HO.emit(jO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(HP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(HP.LOADED_META_DATA)})),this.player.on(HP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))})),this.player.on(HP.RESIZE,(e=>{this.emit("video-size-changed",Jb({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(HP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||KO}get kind(){return 1===this.mediaType?Xw.AUDIO:Xw.VIDEO}get isAudio(){return this.kind===Xw.AUDIO}get strMediaType(){return 4===this.mediaType?Xw.VIDEO:2===this.mediaType?Xw.SCREEN:Xw.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return iw(this,null,(function*(){let r=jD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!VD(t.muted)&&this.setPlayerMute(t.muted),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof vx&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),jD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!VD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===Xw.VIDEO)&&this.setPlayerMute(!0),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof vx&&(this.player.setObjectFit(this.objectFit),t&&!VD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof vx&&this.player.setContainer(r)),HO.emit(jO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),jD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(nM){throw this.handleAutoPlayFailed(nM),nM}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==Xw.VIDEO||VD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(HD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return iw(this,null,(function*(){if(!this._outputTrack||this.kind===Xw.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(VD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new vx({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(FN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return iw(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),HO.emit(e?jO.TRACK_MUTED:jO.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){GP(e,e).add(Xw.MUTE,this.onTrackMuted).add(Xw.UNMUTE,this.onTrackUnmuted).add(Xw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Xw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){zP(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(FN(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new Ex;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof vx?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===HP.RESIZE&&!n&&!a||e===HP.LOADED_META_DATA&&!n&&!a||(e===HP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,AN(this.rotation)&&([n,a]=[a,n]),this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};ew([kP([],LP.INIT,{sync:!0})],sU.prototype,"close",1);var cU=Object.prototype.hasOwnProperty;var lU=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(cU.call(e,t))return!1;return!0}return!1},dU=HN({retryFunction:function(e){return iw(this,null,(function*(){let t=function(e){return{audio:hU(e),video:pU(e)}}(e);KO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield Xx(),KO.info("microphones: ".concat(uN(r.map((e=>Xb(Jb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield $x(),KO.info("cameras: ".concat(uN(i,{keysToInclude:o}))));try{let r=yield navigator.mediaDevices.getUserMedia(t);return iP&&r.getTracks().forEach((t=>{var r;let i=t.getCapabilities();KO.info("".concat(t.kind," capabilities: ").concat(uN(i,{keysToInclude:XC}))),!VD(e.echoCancellation)&&-1===(null==(r=i.echoCancellation)?void 0:r.indexOf(e.echoCancellation))&&KO.warn("Invalid argument for 'echoCancellation'. Expected one of [".concat(JSON.stringify(i.echoCancellation),"], but received '").concat(e.echoCancellation,"'"))})),t.audio&&Nx(),r}catch(nM){let{message:o}=nM;throw"NotFoundError"===nM.name&&(e.video&&i&&0===i.length&&(o=aL({key:rL.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=aL({key:rL.MICROPHONE_NOT_FOUND}))),new hw({code:dw.INITIALIZE_FAILED,name:nM.name,message:o,constraint:nM.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name||"AbortError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!lO||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&uU(o[0].microphoneId,!1),o[0].cameraId&&uU(o[0].cameraId,!0)},onRetrying:e=>{KO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{KP.logFailedEvent({eventType:bC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{KP.logSuccessEvent({eventType:bC.GET_USER_MEDIA_RETRY}),KP.uploadEvent({log:"stat-".concat(bC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function uU(e,t){return iw(this,null,(function*(){let r=(t?yield $x():yield Xx()).find((t=>t.deviceId===e));r&&UD(r.getCapabilities)&&KO.warn(uN(r.getCapabilities(),{keysToInclude:XC}))}))}function hU(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!lU(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(BD(e.channelCount)&&(t.channelCount=e.channelCount),(HD(e.echoCancellation)||"remote-only"===e.echoCancellation||"all"===e.echoCancellation)&&(t.echoCancellation=e.echoCancellation),HD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),HD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!lU(t)||t)}function pU(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!lU(r)?r:(e.width&&(r.width={ideal:e.width},t&&!nk&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!nk&&(r.height.max=e.height)),nk&&xk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!lU(r)||r)}var mU=dU;function fU(e){return _U(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return iw(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function _U(e){return function(t,r,i){return i.value=e(i.value,r),i}}var gU=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&KO.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{KO.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),EU=0,vU=class{constructor(){tw(this,"log",KO.createLogger({id:"fq".concat(++EU)})),tw(this,"isRunning",!1),tw(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=Jb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},yU=new WeakMap,TU=new WeakMap;function IU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=yU.get(this)||new vU;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return yU.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function AU(e,t){return _U(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=QD();return KD(e)?e.then((e=>(t?gL.addSuccessEvent({key:i,cost:QD()-s}):gL.addSuccessEvent({key:i}),e))).catch((e=>{throw gL.addFailedEvent({key:i,error:e}),e})):(gL.addSuccessEvent({key:i}),e)}catch(Aw){throw gL.addFailedEvent({key:i,error:Aw}),Aw}}))}var SU={};function RU(){}Qb(SU,{Events:()=>BU,Inspect:()=>kU,LastSink:()=>OU,Sink:()=>MU,Subscribe:()=>LU,TimeoutError:()=>HU,audit:()=>YV,bindCallback:()=>AV,bindNodeCallback:()=>SV,buffer:()=>eV,bufferCount:()=>ZU,bufferTime:()=>kF,call:()=>bU,catchError:()=>MF,combineLatest:()=>JU,concat:()=>KU,concatMap:()=>vF,concatMapTo:()=>yF,count:()=>NV,create:()=>xU,debounce:()=>$V,debounceTime:()=>QV,defer:()=>iV,delay:()=>OF,deliver:()=>UU,dispose:()=>CU,elementAt:()=>ZV,empty:()=>wV,every:()=>oF,exhaustMap:()=>wF,exhaustMapTo:()=>CF,expand:()=>PF,filter:()=>LV,find:()=>eF,findIndex:()=>tF,first:()=>rF,fromAnimationFrame:()=>TV,fromArray:()=>dV,fromEvent:()=>fV,fromEventPattern:()=>mV,fromFetch:()=>gV,fromIterable:()=>EV,fromPromise:()=>_V,fromReadableStream:()=>yV,fromReader:()=>vV,groupBy:()=>DF,identity:()=>wU,ignoreElements:()=>PV,iif:()=>YU,inspect:()=>DU,interval:()=>uV,last:()=>iF,map:()=>cF,mapTo:()=>lF,max:()=>kV,merge:()=>GU,mergeMap:()=>AF,mergeMapTo:()=>SF,min:()=>OV,never:()=>RV,nothing:()=>RU,of:()=>lV,pairwise:()=>aF,pipe:()=>PU,race:()=>zU,range:()=>IV,reduce:()=>DV,retry:()=>HF,scan:()=>nF,setAsapScheduler:()=>sV,share:()=>jU,shareReplay:()=>qU,skip:()=>BV,skipUntil:()=>HV,skipWhile:()=>WV,startWith:()=>$U,subject:()=>rV,subscribe:()=>VF,sum:()=>MV,switchMap:()=>mF,switchMapTo:()=>_F,take:()=>xV,takeLast:()=>FV,takeUntil:()=>UV,takeWhile:()=>VV,tap:()=>FF,throttle:()=>KV,throwError:()=>bV,timeInterval:()=>NF,timeout:()=>BF,timer:()=>hV,toPromise:()=>xF,toReadableStream:()=>UF,withLatestFrom:()=>QU,zip:()=>XU});var bU=e=>e(),wU=e=>e;function CU(){this.dispose()}var DU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,NU=1,kU=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new FU(e,this,this.streamId++);return BU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},OU=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=RU,this.error=RU,this.next=RU,this.dispose=RU,this.subscribe=RU,this.doDefer()}subscribe(e){return e instanceof kU?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(bU),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},MU=class extends OU{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},LU=class extends OU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:RU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:RU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:RU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=RU,e instanceof kU){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{BU.defer(o,0)})),BU.create(o),BU.pipe(o),this.sourceId=o.id,this.subscribe(e),BU.subscribe({id:o.id,end:!0}),t==RU?this._next=e=>BU.next(o,0,e):this.next=e=>{BU.next(o,0,e),t(e)},i==RU?this._complete=()=>BU.complete(o,0):this.complete=()=>{this.dispose(),BU.complete(o,0),i()},r==RU?this._error=e=>BU.complete(o,0,e):this.error=e=>{this.dispose(),BU.complete(o,0,e),r(e)}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function PU(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function xU(e,t,r){if(DU()){let i=Object.defineProperties(Object.setPrototypeOf(e,kU.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});BU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof kU&&BU.addSource(i,t)}return i}return e}function UU(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof kU){let o=xU((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,BU.pipe(o),o}return t=>r(new e(t,...i))}}}function VU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var FU=class extends MU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{BU.defer(this.source,this.id)}))}next(e){BU.next(this.source,this.id,e),this.sink.next(e)}complete(){BU.complete(this.source,this.id),this.sink.complete()}error(e){BU.complete(this.source,this.id,e),this.sink.error(e)}},BU={addSource(e,t){VU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){VU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;VU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){VU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){VU("defer",{id:e.id,streamId:t})},pipe(e){VU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){VU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=NU++),VU("create",{name:e.toString(),id:e.id})}},HU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},WU=class extends OU{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function jU(){return e=>{let t=new WU(e);if(e instanceof kU){let r=xU((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,BU.pipe(r),r}return xU(t.add.bind(t),"share",arguments)}}function GU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU((e=>{let r=new MU(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function zU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU((e=>{let r=new Map;t.forEach((t=>{let i=new MU(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function KU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU((e=>{let r=0,i=t.length,o=new MU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function qU(e){return t=>{let r=new WU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},xU((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function YU(e,t,r){return xU((i=>e()?t(i):r(i)),"iif",arguments)}function JU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new MU(e);o.next=t=>{i--,o.next=t=>{n[r]=t,0===i&&e.next(n)},o.next(t)},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function XU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new MU(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function $U(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>xU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var QU=UU(class extends MU{constructor(e){super(e);let t=new MU(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=RU,t.subscribe(JU(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),ZU=UU(class extends MU{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),eV=UU(class extends MU{constructor(e,t){super(e),this.buffer=[];let r=new MU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=RU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),tV=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function rV(e){let t=arguments,r=jU()(xU((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=RU,r.complete=RU,r.error=RU,r}function iV(e){return xU((t=>t.subscribe(e())),"defer",arguments)}var oV={promise:e=>{Promise.resolve().then(e)},setImmediate:"undefined"!=typeof setImmediate?e=>setImmediate(e):null,setTimeout:e=>setTimeout(e,0)},nV="undefined"!=typeof Promise?oV.promise:oV.setImmediate?oV.setImmediate:oV.setTimeout,aV=e=>t=>{nV((()=>e(t)))},sV=e=>{"function"==typeof e?nV=e:oV[e]&&(nV=oV[e])},cV=e=>aV((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function lV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xU(cV(t),"of",arguments)}function dV(e){return xU(cV(e),"fromArray",arguments)}function uV(e){return xU((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function hV(e,t){return xU((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>clearTimeout(o);r.defer(n)}),"timer",arguments)}function pV(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function mV(e,t){return xU(pV(e,t),"fromEventPattern",arguments)}function fV(e,t){if("on"in e&&"off"in e)return xU(pV((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return xU(pV((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return xU(pV((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function _V(e){return xU((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function gV(e,t){return xU(iV((()=>_V(fetch(e,t)))),"fromFetch",arguments)}function EV(e){return xU(aV((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Iw){t.error(Iw)}})),"fromIterable",arguments)}function vV(e){let t=r=>tV(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return xU((e=>{t(e)}),"fromReader",arguments)}function yV(e){return xU((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function TV(){return xU((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function IV(e,t){return xU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function AV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return xU((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function SV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return xU((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function RV(){return xU((()=>{}),"never",arguments)}function bV(e){return xU((t=>t.error(e)),"throwError",arguments)}function wV(){return xU((e=>e.complete()),"empty",arguments)}var CV=class extends MU{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},DV=UU(CV,"reduce"),NV=e=>UU(CV,"count")(((t,r)=>e(r)?t+1:t),0),kV=()=>UU(CV,"max")(Math.max),OV=()=>UU(CV,"min")(Math.min),MV=()=>UU(CV,"sum")(((e,t)=>e+t),0),LV=UU(class extends MU{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),PV=UU(class extends MU{next(e){}},"ignoreElements"),xV=UU(class extends MU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&(this.doDefer(),this.complete())}},"take"),UV=UU(class extends MU{constructor(e,t){super(e);let r=new MU(e);r.next=()=>{r.doDefer(),e.complete()},r.complete=CU,r.subscribe(t)}},"takeUntil"),VV=UU(class extends MU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):(this.doDefer(),this.complete())}},"takeWhile"),FV=e=>DV(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),BV=UU(class extends MU{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),HV=UU(class extends MU{constructor(e,t){super(e),e.next=RU;let r=new MU(e);r.next=()=>{r.doDefer(),e.resetNext()},r.complete=CU,r.subscribe(t)}},"skipUntil"),WV=UU(class extends MU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),jV={leading:!0,trailing:!1},GV=class extends MU{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},zV=class extends MU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jV;super(e),this.durationSelector=t,this.config=r,this._throttle=new GV(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=RU,this._throttle.complete(),super.complete()}},KV=UU(zV,"throttle"),qV={leading:!1,trailing:!0},YV=e=>UU(zV,"audit")(e,qV),JV=class extends MU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},XV=class extends MU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new JV(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},$V=UU(XV,"debounce"),QV=e=>UU(XV,"debounceTime")((t=>hV(e))),ZV=UU(class extends MU{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),eF=e=>t=>xV(1)(WV((t=>!e(t)))(t)),tF=UU(class extends MU{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},"findIndex"),rF=UU(class extends MU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),iF=UU(class extends MU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),oF=UU(class extends MU{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.doDefer(),this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),nF=UU(class extends MU{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),aF=UU(class extends MU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),sF=class extends MU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},cF=UU(sF,"map"),lF=e=>UU(sF,"mapTo")((t=>e)),dF=class extends MU{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},uF=class e extends MU{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(t,r){let i=this.currentSink=new r(this.sink,t,this);this.complete===e.prototype.complete&&(this.complete=this.tryComplete),i.complete=i.tryComplete,i.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},hF=class extends dF{},pF=class extends uF{next(e){this.subInner(e,hF),this.next=e=>{this.currentSink.dispose(),this.subInner(e,hF)}}},mF=UU(pF,"switchMap");function fF(e){return(t,r)=>e((()=>t),r)}var _F=fF(UU(pF,"switchMapTo")),gF=class extends dF{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},EF=class extends uF{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),gF),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},vF=UU(EF,"concatMap"),yF=fF(UU(EF,"concatMapTo")),TF=class extends dF{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},IF=class extends uF{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,TF),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},AF=UU(IF,"mergeMap"),SF=fF(UU(IF,"mergeMapTo")),RF=class extends dF{dispose(){this.context.resetNext(),super.dispose()}},bF=class extends uF{next(e){this.next=RU,this.subInner(e,RF)}},wF=UU(bF,"exhaustMap"),CF=fF(UU(bF,"exhaustMapTo")),DF=UU(class extends MU{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=rV(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),NF=UU(class extends MU{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),kF=UU(class extends MU{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),OF=UU(class extends MU{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),MF=UU(class extends MU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),LF=class extends dF{tryComplete(){let e=this.context.inners.delete(this);super.dispose(),e&&this.context.checkComplete()}next(e){this.sink.next(e),this.context.expandValue(e)}},PF=UU(class extends uF{constructor(e,t){super(e,t),this.project=t,this.inners=new Set,this.sourceCompleted=!1}next(e){this.sink.next(e),this.expandValue(e)}expandValue(e){let t=new LF(this.sink,e,this);this.currentSink=t,this.complete=this.tryComplete,t.complete=t.tryComplete,this.inners.add(t),t.subscribe(this.makeSource(e,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&0===this.inners.size&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},"expand"),xF=()=>e=>new Promise(((t,r)=>{let i;new LU(e,(e=>i=e),r,(()=>t(i)))})),UF=()=>e=>{let t;return new ReadableStream({start(r){t=new LU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},VF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:RU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:RU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:RU;return i=>new LU(i,e,t,r)},FF=UU(class extends MU{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),BF=UU(class extends MU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new HU(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),HF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof kU){let r=xU((i=>{let o=e,n=new MU(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,BU.pipe(r),r}return r=>{let i=e,o=new MU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},WF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(WF||{}),jF=class e extends sU{constructor(e,t){super({mediaType:e,PlayerClass:t}),tw(this,"isRemote",!1),tw(this,"deviceId"),tw(this,"groupId",""),tw(this,"label",""),tw(this,"sourceTrack"),tw(this,"enableAutoSwitchWhenRecapturing",!0),tw(this,"_isRecapturing",!1),tw(this,"_lastRecaptureTime",0),tw(this,"_onMuteTimeoutId",-1),tw(this,"_encodeCheckTimeoutId",-1),tw(this,"recaptureMode",0),tw(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){GP(e,e).add(Xw.MUTE,this.onTrackMuted).add(Xw.UNMUTE,this.onTrackUnmuted).add(Xw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Xw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){zP(e)}setStateToReady(){}capture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return iw(this,null,(function*(){var r;let i=this.sourceTrack;try{let i,o=QD();HO.emit(jO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(i=new MediaStream,i.addTrack(e.customSource)):(t||null==(r=this.sourceTrack)||r.stop(),i=yield mU(e));let n=i.getTracks()[0];return yield this.setInputMediaStreamTrack(n),e.customSource||(this.sourceTrack=n,this.updateDeviceIdInUse(),this.listenDeviceChange()),HO.emit(jO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:QD()-o}),i}catch(Aw){throw HO.emit(jO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:Aw}),this.log.error("getUserMedia error observed ".concat(Aw)),Aw}finally{t&&(null==i||i.stop())}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=iN((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),Promise.all([t,new Promise(((t,r)=>iw(this,null,(function*(){var i,o;this.hasFlag?t():PU(fV(e,"local-publish-flag-changed"),LV((()=>this.hasFlag)),UV(GU(fV(this,LP.INIT),fV(this,"ready"))),VF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t,i,o,n,a;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===Xw.AUDIO,t=this.stat.bytesSent>0;if(gL[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&gL[t?"addSuccessEvent":"addFailedEvent"]({key:e})}t||(gL.addEnum({key:e?503701:513703,value:PO()}),KP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(kO()||UO()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.emit("6",this),r(new hw({message:"".concat(this.strMediaType," encode failed"),code:e?dw.AUDIO_ENCODE_FAILED:dw.VIDEO_ENCODE_FAILED})))}}),5e3))}))))])}unpublish(){this.room&&this.room.localTracks.delete(this),HO.emit(jO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return iw(this,null,(function*(){if(this.sourceTrack&&rP){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return iw(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==Xw.AUDIO||t!==jC||(yield tU(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),Jx().then((r=>{let i=r.find((r=>{let i=r.deviceId===e;return t&&(i=i&&r.groupId===t),i}));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.sourceTrack||this.kind===Xw.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(Xw.AUDIO_INPUT);return!!eU.has(r)}(this.sourceTrack)||this.kind===Xw.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(Xw.VIDEO_INPUT);return!!eU.has(r)}(this.sourceTrack)||this._isRecapturing||e&&xk&&lO)}onTrackMuted(){if(super.onTrackMuted(),gU(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<JC)return void setTimeout((()=>this.onTrackMuted()),JC);this._onMuteTimeoutId=setTimeout((()=>iw(this,null,(function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((ek||tk)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return iw(this,null,(function*(){if(rw(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<JC)return void setTimeout((()=>this.onTrackEnded()),JC);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return iw(this,null,(function*(){var r;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying");let i=this.sourceTrack;t||null==(r=this.sourceTrack)||r.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let o={useExactDeviceId:!0};if("user"===e||"environment"===e)o.facingMode=e;else{let t;("audio"===this.kind?yield Xx():yield $x()).find((t=>t.deviceId===e))&&(t=e),o.deviceId=t}return this.capture(o,t).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),HO.emit(jO.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),HO.emit(jO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})})).finally((()=>{t&&(null==i||i.stop())}))}))}getRecoverCaptureDeviceId(){return iw(this,null,(function*(){let e=this instanceof XF;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(zF.get(t)||0)+1;if(zF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield $x()).find((e=>!zF.has(e.deviceId))):(yield Xx()).find((e=>!zF.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};ew([kP(LP.INIT,"ready",{ignoreError:!0,sync:!0})],jF.prototype,"setStateToReady",1),ew([IU()],jF.prototype,"capture",1),ew([kP("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),HO.emit(jO.LOCAL_TRACK_PUBLISHED,{track:this,room:this.room}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof hw){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===dw.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),AU(521714,!1)],jF.prototype,"publish",1),ew([_U((e=>function(){return iw(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),kP([],"ready",{sync:!0})],jF.prototype,"unpublish",1);var GF=jF,zF=new Map;HO.on(jO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&zF.delete(e.track.deviceId)}));var KF=class e extends GF{constructor(e){super(1,nU),tw(this,"mediaType",1),tw(this,"volume",0),tw(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),tw(this,"playerMuted",!0),tw(this,"pipeline"),tw(this,"earMonitorGainNode",new Ox),tw(this,"_output",new Ox),tw(this,"codecPipeline",[]),tw(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),tw(this,"mixedAudioReferenceMap",new Map),tw(this,"isAudioContextLongSuspended",!1),this.manager=e,this.pipeline=new Px(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),HO.on(jO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return Wx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}setInputMediaStreamTrack(t){return iw(this,null,(function*(){let r=this.trackSettings||{};gL.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),gL.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),gL.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.source.channelCount=o||1,this.pipeline.replaceSource(t),yield rw(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(t){return iw(this,arguments,(function(t){var r=this;let{deviceId:i,customSource:o,useExactDeviceId:n=!0,retryWhenExactFailed:a}=t,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){let t=yield rw(e.prototype,r,"capture").call(r,{video:!1,audio:!0,microphoneId:i,echoCancellation:r.profile.echoCancellation,autoGainControl:r.profile.autoGainControl,noiseSuppression:r.profile.noiseSuppression,sampleRate:r.profile.sampleRate,channelCount:r.profile.channelCount,useExactDeviceId:n,retryWhenExactFailed:a,customSource:o},s);return Nx(),t}()}))}switchDevice(e){return iw(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==jC)return;if(yield tU(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),HO.emit(jO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(SC){throw this.log.error("switch microphone failed ".concat(SC)),this.deviceId&&this.recapture(this.deviceId),SC}}}))}listenDeviceChange(){qx&&!qx.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&qx.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return iw(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(WF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){UB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield Xx();e[0]?this.recapture(e[0].deviceId):t=!0}t&&qx.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||(qx.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return iw(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!VD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!VD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!VD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(nk||lO?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId,!0)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&gL.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),ek&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(kx().createGain()),this._output.setNode(kx().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!lO&&!ek)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;aO<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(gL.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=Vx(e),i=new Ox,o=kx().createGain();o.gain.value=1;let n=new Ox;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode())}close(){this.mixedAudioReferenceMap.forEach((e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()})),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),qx.off("audioInputAdded",this.handleMicrophoneAdded,this),qx.off("audioInputRemoved",this.handleMicrophoneRemoved,this),HO.off(jO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return iw(this,null,(function*(){try{yield rw(e.prototype,this,"recapture").call(this,t,r)}catch(rM){let i=(yield Xx()).find((e=>e.deviceId!==t));if(!i)throw rM;yield rw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,ntp:mw()}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(dO?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},qF=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},YF=class{constructor(){tw(this,"_seiMessageList",[]),tw(this,"_smallSeiMessageList",[]),tw(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new qF(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},JF=class e extends GF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,vx),tw(this,"profile",Jb({},qw)),tw(this,"avoidCropping",!1),tw(this,"_scaleResolutionDownBy"),tw(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0,framesCaptured:0}),tw(this,"small"),tw(this,"isNeedToSetBandwidth"),tw(this,"muteImage"),tw(this,"manager"),tw(this,"_seiCodec",new YF),this.manager=e;let t=()=>{this.isAllowed2k4k(this.profile)?this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),this.setProfile(Xb(Jb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(rP&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return iw(this,null,(function*(){var r,i,o;if(FD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t}),this.muteImage=t,rw(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),rw(e.prototype,this,"setMute").call(this,t)}))}capture(t){return iw(this,arguments,(function(t){var r=this;let{deviceId:i,facingMode:o,useExactDeviceId:n=!0,customSource:a,retryWhenExactFailed:s=!0}=t;return function*(){let t={audio:!1,video:!0,facingMode:o||r.facingMode,cameraId:i,width:r.profile.width,height:r.profile.height,frameRate:r.profile.frameRate,useExactDeviceId:n,retryWhenExactFailed:s,customSource:a};if("environment"===t.facingMode){let e=yield r.getDeviceIdWhenUsingBackCamera();e&&(t.cameraId=e)}return rw(e.prototype,r,"capture").call(r,t)}()}))}setProfile(e){let t=this.fallbackProfile(e);t.bitrate&&(this.isNeedToSetBandwidth=t.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(t):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(Xb(Jb({},this.profile),{width:1920,height:1080})))}applyProfile(){return iw(this,null,(function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===_O&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1})),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth){this.isNeedToSetBandwidth=!1;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:Xw.VIDEO,videoType:Xw.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return rP&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:IN(this.settings,this.profile)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return iw(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),HO.emit(jO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(SC){throw this.log.error("switch camera failed ".concat(SC)),this.deviceId&&this.recapture(this.deviceId),SC}}))}getDeviceIdWhenUsingBackCamera(){return iw(this,null,(function*(){let e;try{if(zk&&!eO&&oP){let t=(yield $x(!0)).map((e=>{var t;return Xb(Jb({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})})).filter((e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")})),r=t[0];t.forEach((e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)})),null!=r&&r.capabilities&&(this._log.info("use max resolution back camera",r),e=r.deviceId)}}catch(SC){this._log.warn("get max res camera failed",SC)}return e}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=Jb({},e);return e.width*e.height<=19200&&tk&&iO&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&vO&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),mO(pO,"14.3")&&fO(pO,"14.0",!0)&&this.on("7",(()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!t&&this.avoidCropping&&(iO||nk)&&!wO()&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){qx&&!qx.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&qx.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return iw(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(WF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){UB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield $x();e[0]?this.recapture(e[0].deviceId):t=!0}t&&qx.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return iw(this,null,(function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||(qx.off("videoInputAdded",this.handleCameraAdded,this),this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return VD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){qx.off("videoInputAdded",this.handleCameraAdded,this),qx.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return iw(this,null,(function*(){try{yield rw(e.prototype,this,"recapture").call(this,t)}catch(SC){let i=(yield $x()).find((e=>e.deviceId!==t));if(!i)throw SC;yield rw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}setRotation(e){this.manager&&(this.isScreen||VD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};ew([fU((function(e){this.setContentHint(e.contentHint||"motion")}))],JF.prototype,"capture",1);var XF=JF,$F={};Qb($F,{REPORT_TYPE:()=>bN,buildSSOPackage:()=>wN,bytes2ms:()=>wD,calculateScaleResolutionDownNumber:()=>IN,concatArrayBuffers:()=>CN,convertObjectNumberToInt:()=>gN,copyProperties:()=>bD,deepClone:()=>sN,deepCloneBasic:()=>RN,deepMerge:()=>aN,delay:()=>EN,fibonacci:()=>LD,formatedTime:()=>dN,getConstructorName:()=>YD,getContainerFromElement:()=>lN,getEnv:()=>ED,getFirst16Bits:()=>NN,getInternalVersion:()=>eN,getLast16Bits:()=>DN,getLoggerUrl:()=>yD,getMediaStreamTrackInfo:()=>TN,getMuteStateFromFlag:()=>iN,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>pN,getTurnServer:()=>oN,getUint32Version:()=>_N,getValueType:()=>xD,getViewListFromView:()=>cN,glog:()=>kD,ipv4ToUint32:()=>nN,isArray:()=>jD,isAudioWorkletSupported:()=>JD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>rN,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>GD,isNumber:()=>BD,isObject:()=>WD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>mN,isPromise:()=>KD,isRemoteTrack:()=>zD,isRotate90Or270:()=>AN,isSetSinkIdSupported:()=>XD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>fN,loadVideo:()=>SN,ms2bytes:()=>DD,ms2samples:()=>ND,normalizeUrl:()=>yN,performanceNow:()=>QD,promiseAny:()=>$D,samples2ms:()=>CD,setNetworkType:()=>SD,stringify:()=>uN,stringifyIncludeValue:()=>hN,throttlePromise:()=>vN});var QF=[-1,-1,1,-1,-1,1,1,1],ZF=[0,0,1,0,0,1,1,1],eB=class e extends LP{constructor(e,t){if(super(),this.context=e,tw(this,"name"),tw(this,"input"),tw(this,"output"),tw(this,"texture"),tw(this,"ctx2d",null),tw(this,"fbo"),tw(this,"width",0),tw(this,"height",0),tw(this,"x",0),tw(this,"y",0),tw(this,"program"),tw(this,"vertexShader"),tw(this,"fragmentShader"),tw(this,"totalFrames",0),tw(this,"dropFrames",0),tw(this,"matchInputSize",!0),tw(this,"texCoordBuffer"),tw(this,"positionBuffer"),tw(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),tw(this,"cost",0),tw(this,"_canvas",null),tw(this,"_image"),tw(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof gB)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==_O?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(ZF),this.positionBuffer=this.createBuffer(QF),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(rM){this.context.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(rM.message||rM)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof _B&&this.render(e)||this.context instanceof gB&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof _B){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(t,r,i,o,n,a,s,c,l){let d=!(VD(a)||VD(s)||VD(c)||VD(l));return!(!this.ctx2d||!t)&&(t instanceof ImageData?(d?this.ctx2d.putImageData(t,r,i,a,s,c,l):this.ctx2d.putImageData(t,r,i),this.emit(e.RENDER,this.ctx2d.canvas)):(d?this.ctx2d.drawImage(t,a,s,c,l,r,i,o,n):this.ctx2d.drawImage(t,r,i,o,n),this.emit(e.RENDER,t)),"undefined"!=typeof VideoFrame&&t instanceof VideoFrame&&t.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},Jb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};tw(eB,"RENDER","render"),ew([kP(LP.INIT,"connected",{sync:!0})],eB.prototype,"connect",1),ew([kP("connected",LP.INIT,{ignoreError:!0,sync:!0})],eB.prototype,"disconnect",1),ew([kP([],"closed",{sync:!0})],eB.prototype,"close",1);var tB=eB,rB=PU(uV(250),cF((()=>performance.now())),jU()),iB=e=>t=>{let r=performance.now();PU(rB,WV((t=>t-r<e)),xV(1))(t)},oB=[0,1,1,1,0,0,1,0],nB=class extends tB{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),tw(this,"_intervalId",0),tw(this,"_sequence",0),tw(this,"checkGLError",!1),tw(this,"checkVisibilityChange"),e instanceof gB?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(oB)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),BP.clearTask(this._intervalId),this._intervalId=BP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(BP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof _B){let e=this.context.ctx.getError();e&&this.context.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),this.emit(tB.RENDER,this.context._canvas),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;"closed"!==this.state&&(this._intervalId&&(BP.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++))}removeInput(e){super.removeInput(e),BP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),BP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},aB=class extends nB{constructor(e,t){super(e,t),tw(this,"_videoTrack"),tw(this,"_muteOb"),tw(this,"_closedOb",fV(this,"closed")),tw(this,"_subscription"),tw(this,"_canvasContainer"),Number(uO)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e.canvas.captureStream().getVideoTracks(),this._muteOb=fV(this._videoTrack,"mute"),PU(fV(this._videoTrack,"ended"),UV(this._closedOb),VF((()=>{this.context.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=PU(this._muteOb,UV(this._closedOb),_F(iB(5e3)),LV((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),VF((()=>{this.context.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},sB=class extends aB{render(e){var t;let r=!(null==(t=this.input)||!t.requestFrame(e));if(this.context._canvas2d){let e=this.context._canvas2d.getContext("2d");e.clearRect(0,0,this.context._canvas2d.width,this.context._canvas2d.height),e.drawImage(this.context._canvas,0,0,this.context._canvas2d.width,this.context._canvas2d.height)}return r}},cB=class extends aB{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},lB=class extends tB{constructor(e,t){super(e,Jb({name:"imageSource"},t)),tw(this,"_lastImage"),tw(this,"_totalFrames",0),tw(this,"_autoResize",!1),tw(this,"_canvasRendered"),tw(this,"videoCallbackId",0),tw(this,"waitingFirstFrame",!0),tw(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===_O&&(this._canvasRendered=rV(),PU(this._canvasRendered,$U(this._image),mF((e=>e instanceof HTMLCanvasElement?fV(e,"rendered"):wV())),UV(fV(this,"closed")),VF((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),gP()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!0}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},dB=class extends lB{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",PU(fV(this._player,HP.PLAYER_STATE_CHANGED),UV(fV(this,"closed")),LV((e=>{let{state:t}=e;return"PLAYING"===t})),VF((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},uB=class extends dB{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new vx({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},hB=class extends tB{constructor(e,t,r){super(e,Xb(Jb({name:"textSource"},r),{create2d:!0})),tw(this,"hasChange",!0),tw(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},pB=class extends LP{constructor(e){super(),tw(this,"frameRate"),tw(this,"_canvas"),tw(this,"log"),tw(this,"hasAlpha",!1),tw(this,"name"),tw(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}get canvas(){return this._canvas}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new uB(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new aB(this,e)}createVideoImageSource(e,t){return new lB(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new dB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new hB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};tw(pB,"_ids",0);var mB={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},fB=class extends pB{constructor(){super(...arguments),tw(this,"defaultProgam"),tw(this,"defaultVShader"),tw(this,"defaultFShader"),tw(this,"ctx"),tw(this,"_canvas2d")}get canvas(){return this._canvas2d||this._canvas}create(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(pB._ids++)),e&&(this._canvas2d=document.createElement("canvas")),this.ctx=this._canvas.getContext("webgl2",mB),!this.ctx)throw new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,gL.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e,this._canvas2d&&(this._canvas2d.width=e)}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e,this._canvas2d&&(this._canvas2d.height=e)}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t),this._canvas2d&&(this._canvas2d.width=e,this._canvas2d.height=t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};tw(fB,"UNAVAILABLE","unavailable"),ew([kP(LP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),gL.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),gL.addSuccessEvent({key:512700})}})],fB.prototype,"create",1),ew([kP("created",LP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(fB.UNAVAILABLE,e),this.removeAllListeners()}})],fB.prototype,"destroy",1);var _B=fB,gB=class extends pB{constructor(){super(...arguments),tw(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(pB._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,gL.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),gL.addSuccessEvent({key:512703})}};function EB(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}ew([kP(LP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),gL.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),gL.addSuccessEvent({key:512701})}})],gB.prototype,"create",1),ew([kP("created",LP.INIT,{ignoreError:!0,sync:!0})],gB.prototype,"destroy",1);var vB=class{constructor(e,t){this.node=e,this.layout=t,tw(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},yB=class extends tB{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),tw(this,"inputs",[]),tw(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new vB(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>t.node===e));if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!VD(s)&&this.inputs.some((t=>t.layout.zIndex===s&&t.node!==e)))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];VD(i)||(u.layout.x=i),VD(o)||(u.layout.y=o),VD(n)||(u.layout.width=n),VD(a)||(u.layout.height=a),VD(l)||(u.layout.rotation=l),VD(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!VD(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort(((e,t)=>e.layout.zIndex-t.layout.zIndex)))}hasInput(e){return this.inputs.some((t=>t.node===e))}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.resize(e,t);let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof _B&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter((t=>t.node!==e)),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>r.node.requestFrame(e)||t),!1)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(this.inputs.forEach((t=>t.node.requestFrame(e))),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=EB(t.node.width,t.node.height,t.width,t.height,t.fillMode,AN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},Jb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}removeAllInputs(){this.inputs.forEach((e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof _B)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(rM){}}))}close(){super.close(),this.removeAllInputs()}},TB=[1,0,0,0,1,1,0,1],IB=class extends tB{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),tw(this,"mirror",!1),tw(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof _B)try{this.setTexBuffer(TB)}catch(Aw){e.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(Aw.message||Aw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}resize(e,t){AN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},AB=class extends GF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,vx),tw(this,"inputLocalVideoTracks",new Map),tw(this,"inputLocalScreenTracks",new Map),tw(this,"cameraNodeMap",new Map),tw(this,"screenNodeMap",new Map),tw(this,"textNodeMap",new Map),tw(this,"imageNodeMap",new Map),tw(this,"videoNodeMap",new Map),tw(this,"endedIds",new Set),tw(this,"videoContext"),tw(this,"mixNode"),tw(this,"destination"),tw(this,"manager"),tw(this,"stat"),tw(this,"_checkId",0),tw(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(tB.RENDER,(e=>{this.emit("render",e)})),this.mixNode=new yB(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=BP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new gB({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout((()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)}),500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return iw(this,null,(function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),dO&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)}))}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,GP(this,qx).add("videoInputRemoved",(r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())})),t.on("output-media-track-changed",(()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)})),i=16===_O&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===_O&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof uB){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof uB)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(VD(r)||(a.content=r),VD(i)||(a.font=i),VD(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new IB(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof IB&&(VD(r)||(o.mirror=r),VD(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof IB&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof IB&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof IB&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof IB&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof IB&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),BP.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),zP(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},SB=qO();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:SB,exposeOrigin:!0,permittedOrigins:["*"]})}catch(_H){}var RB=function(e){return iw(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:lO?{max:e.width}:{ideal:e.width,max:e.width},height:lO?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);KO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(oO&&aO<74||lO||nk)&&KO.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(nM){KO.warn("screen applyConstraints failed: ".concat(nM))}e.captureElement&&(yield function(e,t){return iw(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&UD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==SB)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){KO.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return VD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);KO.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},bB=class extends XF{constructor(e){super(e,2),tw(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),tw(this,"objectFit","contain"),tw(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return SB===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(rM){return}}capture(e){return iw(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):(e=yield RB({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof hw?e:new hw({code:dw.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return iw(this,null,(function*(){throw new Error("Method not implemented.")}))}};ew([fU((function(e){this.setContentHint(e.contentHint||"detail")}))],bB.prototype,"capture",1);var wB,CB=class extends KF{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function DB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return iw(this,null,(function*(){let o=kx();wB||(wB=yx(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield wB;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach(((e,t)=>e.connect(a,0,t))),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(a))),a.port.close()}})}))}var NB=class extends xx{constructor(e){super(),this.room=e,tw(this,"_localAudioTrack"),tw(this,"_localScreenAudioTrack"),tw(this,"log",KO.createLogger({id:"am"})),tw(this,"denoiser"),tw(this,"voiceChanger"),tw(this,"mixChangedDebounce"),tw(this,"audioProcessor"),tw(this,"encodePipeline",[]),tw(this,"decodePipeline",[]),tw(this,"getPCMAbortCtrlMap",new Map),tw(this,"audioFrameEventConfigMap",new Map),tw(this,"audioReferenceMap",new Map),tw(this,"isLocalAudioNeedAudioProcess",!1),tw(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=DB(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return DB([kx().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!VD(this._localScreenAudioTrack)}get hasAudioTrack(){return!VD(this._localAudioTrack)}changeInput(e){var t,r;return e instanceof CB?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&null!=(t=this.audioProcessor)&&t.screenAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.screenAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof KF?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&null!=(r=this.audioProcessor)&&r.localAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.localAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof MB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof CB?delete this._localScreenAudioTrack:e instanceof KF&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor={localAudioWorkletNode:r,mixNode:e,silentNode:t,screenAudioWorkletNode:i},this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&r&&(this._localAudioTrack.addAudioProcessor(r,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&i&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(i,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0:t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}removeAudioProcessor(e,t){var r,i;delete this.audioProcessor,null==(r=this._localAudioTrack)||r.removeAudioProcessor(e),null==(i=this._localScreenAudioTrack)||i.removeAudioProcessor(t)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach((e=>null==e?void 0:e.abort("destroy"))),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",(()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),""),this.getPCMAbortCtrlMap.set(r,e))})))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){HO.on("113",this.handleLocalTrackStarted,this),HO.on("114",this.handleLocalTrackStopped,this),HO.on("115",this.handleRemoteTrackStarted,this),HO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){HO.off("113",this.handleLocalTrackStarted),HO.off("114",this.handleLocalTrackStopped),HO.off("115",this.handleRemoteTrackStarted),HO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||VD(o))return;this.setAudioReferenceVolume(i,o)}}};var kB=class e extends sU{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,tw(this,"tinyId"),tw(this,"isRemote",!0),tw(this,"jitterBufferDelay",0),tw(this,"availableState"),tw(this,"remotePublishState"),tw(this,"_triggerCheckDecodeSubject",rV(fV(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new LP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new LP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),PU(GU(fV(this,LP.STATECHANGED),fV(this.remotePublishState,LP.STATECHANGED)),cF((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),VF((e=>{this.availableState.state!==(e?LP.ON:LP.OFF)&&(this.availableState.state=e?LP.ON:LP.OFF),this.updatePlayingState(e)})));let o=PU(fV(this.player,HP.ERROR),LV((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=PU(hV(5e3),LV((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===Xw.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=PU(zU(o,n),UV(fV(this,LP.INIT)));PU(this._triggerCheckDecodeSubject,LV((()=>!this.ignoreDecodeError)),_F(a),VF((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===LP.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){var r,i;let o=this.kind===Xw.AUDIO;if(gL[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";gL[e?"addSuccessEvent":"addFailedEvent"]({key:mL["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(gL.addEnum({key:o?504701:514703,value:PO()}),KP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(kO()||UO()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===Xw.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?LP.ON:LP.OFF,this.emit("remote-publish-changed",this.isRemotePublished)}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};tw(kB,"STATE_SUBSCRIBE","subscribe"),ew([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return _U(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new hw({code:dw.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});(this.log||this._log||KO).warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],kB.prototype,"waitHasMediaTrack",1),ew([kP(LP.INIT,kB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),HO.emit(jO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),AU(521716,!1)],kB.prototype,"subscribe",1),ew([kP(kB.STATE_SUBSCRIBE,LP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),HO.emit(jO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],kB.prototype,"unsubscribe",1);var OB=kB,MB=class extends OB{constructor(e,t){super(e,t,1),tw(this,"volume",0),tw(this,"mediaType",1),tw(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return Wx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}onPlayerError(e){this.enableDecodeFrame&&(this._log.warn("use audio decoder"),this.room.enableInsertableStreams())}get enableDecodeFrame(){var e,t;return!!this.manager&&(this.manager.decodePipeline.some((e=>e))||(null==(t=null==(e=this.player.element)?void 0:e.error)?void 0:t.code)===MediaError.MEDIA_ERR_DECODE&&lP().AudioDecoder&&nP)}decodeFrame(e){if(!this.manager)return e;let t=e;for(let[r,i]of this.manager.decodePipeline.entries()){if(!i)continue;let o={frame:e,track:this};if(1===r&&this.isAvailable&&"audience"===this.room.role&&(o.onAudioFrameNTPTime=e=>{let{ntp:t,frame:r,hasLeavingTag:i}=e;this.emit("audio-frame-with-ntp",{ntp:t,frame:r,hasLeavingTag:i})}),t=i(o),!t)return}return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}};var LB=class extends OB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),tw(this,"mediaType",4),tw(this,"source"),tw(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(HD(null==t?void 0:t.canvasRender)?t.canvasRender:17===_O)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat()}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new gB({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new nB(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),gP()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!BD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},PB=class extends LB{constructor(e,t){super(e,t,2),tw(this,"mediaType",2),tw(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},xB=new Map;function UB(e,t){let r=Xb(Jb({},t),{timestamp:mw()});xB.has(e)?xB.get(e).push(r):xB.set(e,[r])}function VB(e){if(xB.has(e)){let t=xB.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return xB.delete(e),t}return[]}function FB(e,t,r,i){try{if(jD(e))for(let o=0;o<e.length;o++)BB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else BB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(rM){throw KO.error(rM),rM}}function BB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(VD(r)){if(t.required)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(VD(t.defaultValue))return;r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),UD(t.type[i])&&r instanceof t.type[i]&&(e=!0),FD(t.type[i])&&xD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>qD(e)?YD(e):FD(e)?e:xD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!VD(t.type)&&xD(r)!==t.type)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=BD(r)&&(0===r||Number.isNaN(r)),a=FD(r)&&""===r.trim();if(e||a)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&BD(r)&&r<0)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!VD(t.min)&&BD(r)&&r<t.min)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!VD(t.max)&&BD(r)&&r>t.max)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(FD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(UD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;MD(a)&&WD(r)&&Object.keys(a).forEach((e=>{BB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;MD(s)&&jD(r)&&r.forEach(((e,t)=>{BB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),UD(t.validate)&&t.validate.call(this,r,i,o,n,this)}HO.on(jO.JOIN_SUCCESS,(e=>{let{room:t}=e;UB(t.userId,{eventId:32788})})),HO.on(jO.LEAVE_START,(e=>{let{room:t}=e;UB(t.userId,{eventId:32789})})),HO.on(jO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),UB(t.room.userId,{eventId:e})}})),HO.on(jO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),UB(t.room.userId,{eventId:e})}})),HO.on(jO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Xw.AUDIO?UB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):UB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),HO.on(jO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Xw.AUDIO?UB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):UB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),HO.on(jO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&UB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&UB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&UB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),HO.on(jO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&UB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&UB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&UB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),HO.on(jO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&UB(t.room.userId,{eventId:t.kind===Xw.VIDEO?32780:32781})})),HO.on(jO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&UB(t.room.userId,{eventId:t.kind===Xw.VIDEO?32782:32783})})),HO.on(jO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&UB(r.userId,{eventId:t})})),HO.on(jO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&UB(r.userId,{eventId:t,remoteUserId:n})})),HO.on(jO.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l={H264:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),UB(r,d),gL.addEnum({key:i?514701:513701,value:c}),gL.addEnum({key:i?514700:513700,value:l})})),HO.on(jO.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===Xw.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),UB(t.userId,e)}})),Zb(ow(),1);var HB=Object.create,WB=Object.defineProperty,jB=Object.defineProperties,GB=Object.getOwnPropertyDescriptor,zB=Object.getOwnPropertyDescriptors,KB=Object.getOwnPropertyNames,qB=Object.getOwnPropertySymbols,YB=Object.getPrototypeOf,JB=Object.prototype.hasOwnProperty,XB=Object.prototype.propertyIsEnumerable,$B=(e,t,r)=>t in e?WB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,QB=(e,t)=>{for(var r in t||(t={}))JB.call(t,r)&&$B(e,r,t[r]);if(qB)for(var r of qB(t))XB.call(t,r)&&$B(e,r,t[r]);return e},ZB=(e,t)=>jB(e,zB(t)),eH=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?GB(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&WB(t,r,n),n},tH=(e,t,r)=>$B(e,"symbol"!=typeof t?t+"":t,r),rH=((e,t)=>function(){return t||(0,e[KB(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),iH=((e,t,r)=>(r=null!=e?HB(YB(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of KB(t))JB.call(e,o)||o===r||WB(e,o,{get:()=>t[o],enumerable:!(i=GB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:WB(r,"default",{value:e,enumerable:!0}),e)))(rH(),1),oH=Symbol("instance"),nH=Symbol("cacheResult"),aH=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,uH.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},sH=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var cH=new Map;function lH(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=cH.get(i)||[];cH.has(i)||cH.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=hH.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[nH]:Promise.resolve(i[nH]);i.state instanceof aH&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof aH&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new sH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new sH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new aH(u,t,a);uH.call(i,h);let p=e=>{var o;return i[nH]=e,h.aborted||(uH.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[nH])),e},m=e=>(uH.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(aM){return m(new sH(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(aM),aM instanceof Error?aM:new Error(String(aM))))}}}}var dH="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function uH(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(hH.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var hH=class e extends iH.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[oH];o?this.name=o.name+"-"+o.count++:i[oH]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=cH.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);cH.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};dH(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){uH.call(this,e)}};hH.STATECHANGED="stateChanged",hH.UPDATEAFSM="updateAFSM",hH.INIT="[*]",hH.ON="on",hH.OFF="off",hH.instances=new Map,hH.instances2=new WeakMap;var pH=class extends hH{constructor(){super(...arguments),tH(this,"decoder"),tH(this,"config")}initialize(){return iw(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(ZB(QB({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function mH(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}eH([lH([hH.INIT,"closed"],"initialized")],pH.prototype,"initialize",1),eH([lH("initialized","configured",{sync:!0})],pH.prototype,"configure",1),eH([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new sH(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],pH.prototype,"decode",1),eH([lH([],hH.INIT,{sync:!0})],pH.prototype,"reset",1),eH([lH([],"closed",{ignoreError:!0,sync:!0})],pH.prototype,"close",1);var fH=class extends hH{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,tH(this,"worker"),tH(this,"decoder"),tH(this,"config"),tH(this,"module",{}),tH(this,"width",0),tH(this,"height",0)}initialize(e){return iw(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(mH.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};eH([lH([hH.INIT,"closed"],"initialized")],fH.prototype,"initialize",1),eH([lH("initialized","configured",{sync:!0})],fH.prototype,"configure",1),eH([lH([],hH.INIT,{sync:!0})],fH.prototype,"reset",1),eH([lH([],"closed",{sync:!0})],fH.prototype,"close",1);var _H,gH=(_H="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),_H&&(u=_H),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,C,D=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!d||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,u):u+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function W(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Rt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var j={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=j.isAbs(e),r="/"===e.substr(-1);return(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=j.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=j.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return j.normalize(e.join("/"))},join2:(e,t)=>j.normalize(e+"/"+t)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),z={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=j.isAbs(i)}return(t?"/":"")+(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=z.resolve(e).substr(1),t=z.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},K="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&K)return K.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},Y=[],J=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:J(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!Y.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;Y=$(e,!0)}return Y.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=z.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=j.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=z.resolve(j.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=j.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!z.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=j.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=j.dirname(e),n=j.dirname(t),a=j.basename(e),s=j.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),d=z.relative(e,n);if("."!==d.charAt(0))throw new ie.ErrnoError(28);if("."!==(d=z.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var u=ie.isDir(l.mode),h=ie.mayDelete(r,a,u);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,u):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return z.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=j.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(J(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=G(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=j.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=j.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=j.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?j.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=j.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),u(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return u(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(j.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return j.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&j.normalize(t)!==j.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,C=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=C[0],y[r+28>>2]=C[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=C[0],y[r+44>>2]=C[1],T[r+48>>2]=o%1e3*1e3,C=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=C[0],y[r+60>>2]=C[1],T[r+64>>2]=n%1e3*1e3,C=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=C[0],y[r+76>>2]=C[1],T[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=C[0],y[r+92>>2]=C[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},de={},ue={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){ue[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{de.hasOwnProperty(e)?o[t]=de[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=de[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(de[e]=t,delete ue[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function Ce(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},De(Object.create(e,{$$:{value:t}}))}var De=function(e){return"undefined"==typeof FinalizationRegistry?(De=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(De=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,et.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],We=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t};function je(e,t){var r,o,n,a=(e=ce(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):We(t).apply(null,r);var o,n,a})(r,o,n)}):We(t);return"function"!=typeof a&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var Ge=void 0;function ze(e){var t=St(e),r=ce(t);return It(t),r}function Ke(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||de[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(ze).join([", "]))}function qe(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Je(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function Xe(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(u,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(d||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Je(Function,f).apply(null,_)}function $e(){this.allocated=[void 0],this.freelist=[]}var Qe=new $e;function Ze(e){e>=Qe.reserved&&0==--Qe.get(e).refcount&&Qe.free(e)}var et={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Qe.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Qe.allocate({refcount:1,value:e})}}};function tt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function rt(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function it(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var ot,nt,at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},ct=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},lt=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ut=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},ht=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},pt={},mt=[],ft=[],_t={},gt=()=>{if(!gt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in _t)void 0===_t[t]?delete e[t]:e[t]=_t[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));gt.strings=r}return gt.strings},Et=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(Et.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=Et,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?z.resolve(j.join2(e,t)):e;function h(r){function n(r){d&&d(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,u,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=De(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ge=i.UnboundTypeError=(ot=Error,(nt=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(ot.prototype),nt.prototype.constructor=nt,nt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},nt),Object.assign($e.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Qe.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Qe.reserved=Qe.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Qe.reserved;t<Qe.allocated.length;++t)void 0!==Qe.allocated[t]&&++e;return e};var vt,yt={p:function(e,t,r){throw new W(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[At()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,d,u,h,p){u=ce(u),a=je(n,a),c&&(c=je(s,c)),d&&(d=je(l,d)),p=je(h,p);var m,f,_,g=ke(u);m=g,f=function(){Ke("Cannot construct ".concat(u," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+u);if(void 0===h.constructor_body)throw new he(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(u,h,!0,!1,!1),v=new Be(u+"*",h,!1,!1,!1),y=new Be(u+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=qe(t,r);o=je(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{Ke("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Xe(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=qe(r,i);t=ce(t),n=je(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ke("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Me(d,t,i),d[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=et.toValue(e);return Ze(e),t},toWireType:function(e,t){return et.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:rt(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:it(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return It(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?J(t):t.length;var n=Tt(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(It(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(It,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return It(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=Tt(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(It,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=mt[e])(t=et.toValue(t),r=void 0===(n=pt[o=r])?ce(o):n,null,i)},m:Ze,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=de[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=ft[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var d,u,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),d=Je(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,ft[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return gt().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=gt();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=C[0],y[t+12>>2]=C[1],C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=C[0],y[t+20>>2]=C[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),C=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=C[0],y[o+4>>2]=C[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},Tt=(function(){var e,t,o,n,a={a:yt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(Tt=p.G)(e)),It=e=>(It=p.I)(e),At=()=>(At=p.J)(),St=e=>(St=p.K)(e),Rt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Rt=p.M)(e));function bt(){function e(){vt||(vt=!0,i.calledRun=!0,D||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){vt||bt(),vt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),EH=gH,vH=class extends fH{constructor(e){super(EH,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var yH=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(yH||{});function TH(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var IH=class e{constructor(e){this.core=e,tH(this,"contextMap",new Map),tH(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){var r;switch(e){case"wasm":let e=(null==(r=this.core.assetsPath)?void 0:r.replace(/\/+$/,""))||".";return new vH(ZB(QB({},t),{wasmPath:"".concat(e,"/videodec.wasm")}));case"webCodecs":return new pH;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(ZB(QB({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=TH()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(ZB(QB({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?TH()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};tH(IH,"Name","TRTCVideoDecoder");var AH=IH,SH=Zb(ow());function RH(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return _U(((e,o)=>{let n=new WeakMap;return HO.on(jO.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new hw({code:dw.INVALID_OPERATION,message:aL({key:rL.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var bH,wH=!0,CH={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},DH={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},NH=((bH=NH||{})[bH.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",bH[bH.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",bH[bH.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",bH[bH.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",bH[bH.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",bH[bH.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",bH[bH.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",bH[bH.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",bH[bH.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",bH[bH.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",bH[bH.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",bH[bH.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",bH[bH.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",bH[bH.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",bH[bH.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",bH[bH.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",bH[bH.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",bH[bH.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",bH[bH.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",bH[bH.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",bH[bH.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",bH[bH.INVALID_OPERATION=5100]="INVALID_OPERATION",bH[bH.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",bH[bH.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",bH[bH.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",bH[bH.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",bH[bH.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",bH[bH.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",bH[bH.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",bH[bH.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",bH[bH.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",bH[bH.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",bH[bH.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",bH[bH.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",bH[bH.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",bH[bH.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",bH[bH.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",bH[bH.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",bH[bH.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",bH[bH.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",bH[bH.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",bH[bH.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",bH[bH.DEVICE_ERROR=5300]="DEVICE_ERROR",bH[bH.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",bH[bH.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",bH[bH.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",bH[bH.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",bH[bH.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",bH[bH.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",bH[bH.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",bH[bH.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",bH[bH.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",bH[bH.SERVER_ERROR=5400]="SERVER_ERROR",bH[bH.NEED_TO_BUY=5401]="NEED_TO_BUY",bH[bH.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",bH[bH.OPERATION_FAILED=5500]="OPERATION_FAILED",bH[bH.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",bH[bH.REJOIN_FAILED=5502]="REJOIN_FAILED",bH[bH.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",bH[bH.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",bH[bH.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",bH[bH.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",bH[bH.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",bH[bH.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",bH[bH.OPERATION_ABORT=5998]="OPERATION_ABORT",bH[bH.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",bH);var kH=Xb(Jb({},iL),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone or screen share is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=OH(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function OH(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var MH=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=NH[r];try{t=kH[s]}catch(n){t=kH.UNKNOWN_ERROR}return UD(t)?a=t(i):FD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===DH.SERVER_ERROR?t:r||t,params:Jb({fnName:n,error:a},o)}),super(l),tw(this,"name","RtcError"),tw(this,"code"),tw(this,"extraCode"),tw(this,"functionName"),tw(this,"message"),tw(this,"data"),tw(this,"handler"),tw(this,"originError"),this.name=NH[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");Pk?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):xk&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof hw){let{stack:n}=t,a={code:DH.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case dw.INVALID_PARAMETER:a.code=DH.INVALID_PARAMETER,a.message=t.message;break;case dw.INVALID_OPERATION:a.code=DH.INVALID_OPERATION;break;case dw.NOT_SUPPORTED:case dw.NOT_SUPPORTED_H264:a.code=DH.ENV_NOT_SUPPORTED,t.getCode()===dw.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(iL.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case dw.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case dw.SERVER_TIMEOUT:case dw.SWITCH_ROLE_FAILED:case dw.SWITCH_ROOM_FAILED:a.code=DH.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case dw.API_CALL_ABORTED:a.code=DH.OPERATION_ABORT;break;case dw.DEVICE_NOT_FOUND:case dw.DEVICE_AUTO_RECOVER_FAILED:case dw.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case dw.VIDEO_ENCODE_FAILED:a.extraCode=5505;case dw.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=DH.OPERATION_FAILED;break;case dw.UNKNOWN:break;default:a.code=DH.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:DH.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var LH=MH;function PH(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function xH(e){return e===CH.QOS_PREFERENCE_CLEAR?"detail":e===CH.QOS_PREFERENCE_SMOOTH?"motion":""}function UH(e,t){let r=t?Yw:qw;return BN(e)?Jb(Jb({},r),e):Kw[e]?Kw[e]:r}var VH={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},FH={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},BH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(FD(e)&&!document.getElementById(e))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},HH={name:"userId",required:!0,type:"string"},WH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{type:["string","object"],properties:{bitrate:{type:"number"},channelCount:{type:"number"}}},echoCancellation:{values:[!0,!1,"remote-only","all"]},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function jH(e,t){if(!e)throw new LH({code:DH.INVALID_OPERATION,extraCode:5101,fnName:t})}function GH(e,t,r){if(!e)throw new LH({code:DH.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function zH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function KH(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function qH(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!GL())return KO.warn("small stream is not supported"),void delete e.option.small;let r=UH(e.option.profile),i=UH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:(KO.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var YH={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new LH({code:DH.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(FD(e.roomId))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});zH(e.roomId,r,t)}else{if(!e.strRoomId)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5015,fnName:r});KH(e.strRoomId,r,t)}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:BH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:VH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&RL())throw new LH({code:DH.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&qH(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Xb(Jb({},BH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:VH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&qH(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:WH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&RL())throw new LH({code:DH.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:WH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:BH,publish:{type:"boolean"},option:FH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(RL())throw new LH({code:DH.ENV_NOT_SUPPORTED,extraCode:5201});if(!OL())throw new LH({code:DH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:BH,publish:{type:"boolean"},option:FH}},muteRemoteAudio:[HH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[HH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:BH,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){jH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(GH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new LH({code:DH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Xb(Jb({},BH),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){jH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(GH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new LH({code:DH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&VD(e.streamType))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){jH(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!sP)throw new LH({code:DH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new LH({code:DH.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});jH(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new LH({code:DH.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(jH(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new LH({code:DH.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(jH(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new LH({code:DH.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)zH(e.roomId,r,t);else{if(!e.strRoomId)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5015,fnName:r});KH(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},JH={TRTC:YH},XH=class extends Error{};function $H(e,t){let r=sN(e);for(let i=0;i<t.length;i++)aN(r[i],t[i]);return r}function QH(e){this._resolve=Promise.resolve(e)}function ZH(e){this._reject=Promise.reject(e)}var eW=class e{constructor(t,r){this.instance=t,this.group=r,tw(this,"started",!1),tw(this,"ops",[]),tw(this,"startSame",(()=>!0)),tw(this,"mergeUpdate",$H);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new XH("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:QH,reject:ZH};try{switch(this.state){case 1:if(0===e)throw new XH("already started");break;case 4:if(2===e)throw new XH("not started");break;default:return this.cacheOp(n)}}catch(tM){return Promise.reject(tM)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new XH("already start");break;case 3:switch(e.type){case 2:throw new XH("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new XH("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new XH("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new XH("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new XH("start not allowed after update");case 0:throw new XH("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new XH("keep start")),new XH("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};tw(eW,"instances",new WeakMap);var tW=eW,rW=new WeakMap,iW=(e,t)=>{if(t instanceof XH){let{stack:r}=t;t=new LH({code:DH.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function oW(e,t){return _U(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=tW.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(iW.bind(null,i))):r.apply(this,n)}))}function nW(e,t){let{merge:r,debounce:i}=t||{};return _U(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=tW.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let d=null==(s=rW.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(iW.bind(null,o)).then(i,n)}),e);rW.has(this)?null==(l=rW.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):rW.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(iW.bind(null,o))}))}function aW(e){return _U(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(tW.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=tW.get(this,a);return s?s.action(3,t.bind(this),o).catch(iW.bind(null,r)):t.apply(this,o)}))}var sW={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},cW=new Set([sW.ERROR,sW.AUTOPLAY_FAILED,sW.KICKED_OUT,sW.REMOTE_USER_ENTER,sW.REMOTE_USER_EXIT,sW.REMOTE_AUDIO_AVAILABLE,sW.REMOTE_AUDIO_UNAVAILABLE,sW.REMOTE_VIDEO_AVAILABLE,sW.REMOTE_VIDEO_UNAVAILABLE,sW.CONNECTION_STATE_CHANGED,sW.PUBLISH_STATE_CHANGED,sW.SCREEN_SHARE_STOPPED,sW.DEVICE_CHANGED,sW.FIRST_VIDEO_FRAME,sW.PERMISSION_STATE_CHANGE,sW.VIDEO_SIZE_CHANGED]),lW={};Qb(lW,{ScheduleRequestType:()=>_W,getAbilityConfig:()=>EW,getScheduleDomain:()=>vW,isNeedToSchedule:()=>uW,scheduleProxy:()=>mW,sendScheduleRequest:()=>pW,setIsNeedToSchedule:()=>hW,setScheduleProxy:()=>fW});var dW=null,uW=!0;function hW(e){HD(e)&&e!==uW&&(uW=e,KO.info("setIsNeedToSchedule ".concat(e)))}function pW(e){return iw(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){var e;if(!uW&&dW)return{isCached:!0,result:dW};let d={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n));let h=(null==(e=yield DO())?void 0:e.model)||OO();h&&u.append("model",h),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let p=QD(),m=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;$D([TW((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=gW(r,"config",Xw.MAIN,!0)),o())}))(gW(r,"config",Xw.MAIN),e,{get timeout(){return 1e3*LD(2+t.count[0])}}),TW((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=gW(r,"config",Xw.BACKUP,!0)),o())}))(gW(r,"config",Xw.BACKUP),e,{get timeout(){return 1e3*LD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,d,r);m.config&&(m.config.loggerDomain&&Cw(m.config.loggerDomain),HD(m.config.scheduleCache)&&hW(!m.config.scheduleCache)),d.delta=QD()-p;let f=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=gW(e,"config",Xw.MAIN),a=gW(e,"config",Xw.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?Xw.MAIN:Xw.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];KP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Xb(Jb({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){KO.error("getScheduleDetailCost error",n)}return i}(Number(r),t,p);return dW=m,{isCached:!1,result:m,detailCost:f}}catch($O){let t=jD($O)?$O[0]:$O,r=BD(t.code)?t.code:0,i="schedule failed".concat(t.message?": ".concat(t.message):""),o=new hw({code:dw.SCHEDULE_FAILED,extraCode:r,message:aL({key:rL.JOIN_ROOM_FAILED,data:{error:i,code:r}})});throw KO.error(i,r),o}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(FC).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),HO.on("28",(()=>hW(!0))),HO.on("63",(()=>hW(!0))),HO.on("84",(()=>hW(!0))),HO.on("201",(e=>{"RECONNECTING"===e.state&&hW(!0)})),HO.on("202",(e=>{"RECONNECTING"===e.state&&hW(!0)}));var mW={main:"",backup:""};function fW(e){jD(e)?(mW.main=e[0],mW.backup=e[1]):mW.main=e}var _W=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(_W||{});function gW(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Xw.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(mW[r]||vW(e,r,i),"/api/v1/").concat(t)}function EW(e,t,r){let i=gW(e,t),o=gW(e,t,Xw.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then((e=>e.json())),s=fetch("".concat(o,"?").concat(n)).then((e=>e.json()));return $D([a,s])}function vW(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Xw.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=vD(e)?i?r===Xw.MAIN?FC.MAIN_OVERSEA_BACKUP:FC.BACKUP_OVERSEA:r===Xw.MAIN?FC.MAIN_OVERSEA:FC.BACKUP_OVERSEA:r===Xw.MAIN?FC.MAIN:FC.BACKUP,t}function yW(e,t,r){return new Promise(((i,o)=>{PN({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var TW=(e,t)=>HN({retryFunction:yW,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var IW=class{constructor(){tw(this,"_log"),this._log=KO.createLogger({id:"fd"})}download(e,t){return iw(this,null,(function*(){let{type:r="blob"}=t||{};e=yN(e);try{let t,i=QD();if(t=UD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=QD()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),gL.addSuccessEvent({key:522700,cost:QD()-i}),t.data}catch(rM){throw this._log.error("failed to download: ".concat(e,", error: ").concat(rM)),gL.addFailedEvent({key:522700,error:rM}),rM}}))}downloadWithFetch(e,t){return iw(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(SC){throw SC}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)}))}loadWasm(e,t){return iw(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=QD(),i=null,o=null;if(UD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&UD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(Aw){o=Aw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(Aw){o=Aw}if(i){let t=QD()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),gL.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),gL.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=QD();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(QD()-t,"ms")),gL.addSuccessEvent({key:522702,cost:QD()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),gL.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};ew([YP({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],IW.prototype,"download",1),ew([YP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],IW.prototype,"loadScript",1);var AW=new IW;function SW(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:AB,LocalVideoTrack:XF,LocalScreenTrack:bB,room:i,assetsPath:n,fileDownloader:AW,innerEmitter:HO,INNER_EVENT:jO,constants:Ew,environment:jN,utils:$F,eventLogger:KP,log:this.room.getLogger(),loggerManager:KO,errorModule:o,kvStatManager:gL,rtcDectection:JO,trtc:this,rx:SU,enums:XO,schedule:lW,getDevices:Jx,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return iw(t,null,(function*(){window.VisionTaskRegistry||(yield AW.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])}))},audioContext:kx(),deviceDetector:qx,AudioPlayer:oU,AutoPlayDialog:Ex,Timer:BP,clearStarted:(e,t)=>{let r=e.getAlias(),i=tW.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:DB,createAudioNode:Vx,getNetworkTimeOffset:pw}}var RW=new WeakMap;var bW="5.13.1-wasm.8";function wW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _U(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{DW.call(this,t,o,r,this._name)}catch(rM){return Promise.reject(rM)}return e.apply(this,o)}))}function CW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _U(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{DW.call(this,t,o,r,this._name)}catch(rM){throw rM}return e.apply(this,o)}))}function DW(e,t,r,i){if(jD(e))for(let o=0;o<e.length;o++)NW.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else NW.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function NW(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:DH.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(VD(r)){if(t.required)throw new LH(a(5001));if(VD(t.defaultValue))return void(UD(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),UD(t.type[i])&&r instanceof t.type[i]&&(e=!0),FD(t.type[i])&&xD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new LH({code:DH.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>qD(e)?YD(e):FD(e)?e:xD(e)))},value:r}})}else if(!VD(t.type)&&xD(r)!==t.type)throw new LH(a(5002));if(!1===t.allowEmpty){let e=BD(r)&&(0===r||Number.isNaN(r)),t=FD(r)&&""===r.trim();if(e||t)throw new LH(a(5003))}if(t.notLessThanZero&&BD(r)&&r<0)throw new LH(a(5006));if(!VD(t.min)&&BD(r)&&r<t.min)throw new LH(a(5007));if(!VD(t.max)&&BD(r)&&r>t.max)throw new LH(a(5008));if(FD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new LH(a(5004))}else if(UD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new LH(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new LH(a(5005));let{properties:s}=t;MD(s)&&WD(r)&&Object.keys(s).forEach((e=>{NW.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;MD(c)&&jD(r)&&r.forEach(((e,t)=>{NW.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),UD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function kW(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return _U(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(xD(t)):t instanceof MediaStreamTrack?TN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(xD(t))}}let m=this._log||KO;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,((e,t)=>p(e,t,["userSig","privateMapKey"]))))):m.info("".concat(a,"()"));let f=i?i(...c):dL[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=QD();if(KD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),gL.addSuccessEvent({key:f,cost:QD()-i}),r))).catch((r=>{var i;let o=(r=LH.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),gL.addFailedEvent({key:f,error:r}),r}))}return gL.addSuccessEvent({key:f}),r}catch(aM){let t=(aM=LH.convertFrom.call(this,aM,a)).extraCode||aM.code,r=null!=(h=aM.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(aM).concat(r," params: ").concat(JSON.stringify(c,p))),gL.addFailedEvent({key:f,error:aM}),aM}}))}var OW,MW=e=>_U(((t,r)=>function(i,o){return iw(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new LH({code:DH.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(UD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new LH({code:DH.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return DW.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),LW=0,PW=class e{constructor(e){this.core=e,tw(this,"log"),tw(this,"customAudioReferenceMap",new Map),tw(this,"audioRefId",0),tw(this,"audioContext",kx()),tw(this,"localAudioWorkletNode"),tw(this,"screenAudioWorkletNode"),tw(this,"mixNode"),tw(this,"silentNode"),LW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(LW)}),this.log.info("created id=".concat(this.getAlias()).concat(LW)),this.installEvent()}static getStartValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack&&!e.room.audioManager.hasScreenAudioTrack)throw new LH({code:DH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return OW||(OW=this.doPreload(e)),OW}doPreload(e){return iw(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield yx(this.audioContext,r)}catch(rM){this.log.error("preload audioProcessor failed. ".concat(rM))}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return iw(this,null,(function*(){var t,r,i,o;let{room:n}=this.core,{sdkAppId:a,userId:s,userSig:c,assetsPath:l=this.core.assetsPath,audioReference:d,processLevel:u,enableDump:h,isLocalAudioNeedAudioProcess:p=!0,isScreenAudioNeedAudioProcess:m=!1}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=p,this.core.room.audioManager.isScreenAudioNeedAudioProcess=m,!l)throw new LH({code:DH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(l,"/audioProcessor-wasm.js")),p&&!this.localAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",a,s,r,e,t,n)}if(m&&!this.screenAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",a,s,r,e,t,n)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"enable"}),null==(r=this.screenAudioWorkletNode)||r.port.postMessage({type:"enable"}),n.audioManager.addAudioProcessor(this.mixNode,this.silentNode,this.localAudioWorkletNode,this.screenAudioWorkletNode),VD(d)||d.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),VD(u)||null==(i=this.localAudioWorkletNode)||i.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:u}}),VD(h)||null==(o=this.localAudioWorkletNode)||o.port.postMessage({type:"dump",data:{enable:h}})}))}update(e){return iw(this,null,(function*(){var t,r,i;let{audioReference:o,enableDump:n,processLevel:a}=e;VD(o)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),o.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),VD(a)||null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),VD(n)||(null==(r=this.localAudioWorkletNode)||r.port.postMessage({type:"dump",data:{enable:n}}),null==(i=this.screenAudioWorkletNode)||i.port.postMessage({type:"dump",data:{enable:n}}))}))}stop(){return iw(this,null,(function*(){var e,t;let{room:r}=this.core;null==(e=this.localAudioWorkletNode)||e.port.postMessage({type:"disable"}),null==(t=this.screenAudioWorkletNode)||t.port.postMessage({type:"disable"}),yield r.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null),this.uninstallEvent()}getAuthData(e,t,r){return iw(this,null,(function*(){let i=String(Date.now()).slice(0,-3),{auth:o,sign:n,status:a,message:s}=yield function(e){return iw(this,arguments,(function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Xw.MAIN;return"https://".concat(mW[t]||vW(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"&timestamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=vD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()}))}({sdkAppId:e,userSig:r,userId:t,timestamp:i});if(!o)throw this.log.info("audioProcessor: ".concat(t," auth result: ").concat(o,". Message: ").concat(s)),new LH({code:DH.INVALID_PARAMETER,message:s});return{sign:n,status:a,timestamp:i}}))}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("".concat("localAudio"===t?"":"[".concat(t,"] "),"avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(_w(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("".concat("localAudio"===t?"":"[".concat(t,"] ")).concat(i.value));case"dump":return void HO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}handleLocalAudioStarted(e){return iw(this,null,(function*(){var t;if(this.hitTest(e.room)&&!0===(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor))try{yield this.core.trtc.startPlugin("AudioProcessor",{sdkAppId:this.core.room.sdkAppId,userId:this.core.room.userId,userSig:this.core.room.userSig}),this.log.warn("audio processor auto start success")}catch(SC){this.log.warn("audio processor auto start failed, error: ".concat(SC))}}))}handleLocalAudioStopped(e){return iw(this,null,(function*(){var t;!this.hitTest(e.room)||!0!==(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor)||(yield this.core.trtc.stopPlugin("AudioProcessor"))}))}installEvent(){this.core.innerEmitter.on("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.on("114",this.handleLocalAudioStopped,this)}uninstallEvent(){this.core.innerEmitter.off("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.off("114",this.handleLocalAudioStopped,this)}hitTest(e){return e===this.core.room}};tw(PW,"updateValidateRule",{type:"object"}),tw(PW,"stopValidateRule",{type:"object"}),tw(PW,"Name","AudioProcessor");var xW=PW;var UW=0,VW=class{constructor(e,t){tw(this,"audioObjectURL"),tw(this,"player"),tw(this,"publisher"),tw(this,"mixInput"),this.mixInput=new Px(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(VD(e.volume)||(this.volume=e.volume),VD(e.loop)||(this.loop=e.loop),VD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reload(e){return iw(this,null,(function*(){if(e.url){let t=yield AW.download(e.url,{retries:3,type:"blob"});this.audioObjectURL&&URL.revokeObjectURL(this.audioObjectURL),this.audioObjectURL=URL.createObjectURL(t),this.player&&this.publisher?(this.player.src=this.audioObjectURL,this.publisher.src=this.audioObjectURL):(this.player=new Audio(this.audioObjectURL),this.player.crossOrigin="anonymous",this.publisher=new Audio(this.audioObjectURL),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher),this.updateListener(e),this.updateSettings(e))}else this.mixInput.replaceSource(e.track)}))}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return Promise.all([null==(e=this.player)?void 0:e.play(),null==(t=this.publisher)?void 0:t.play()])}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function FW(e,t){if(t&&"function"!=typeof t)throw new LH({code:DH.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var BW=class e{constructor(e){this.core=e,tw(this,"log"),tw(this,"mixedMusicMap",new Map),tw(this,"cacheMusicMap",new Map),UW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(UW)}),this.log.info("created id=".concat(this.getAlias()).concat(UW))}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return iw(this,null,(function*(){let{room:t}=this.core;this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new VW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e);try{yield o.play()}catch(Aw){yield this.handleAutoPlayFailed(o,e,Aw)}this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),gL.addEnum({key:502700,value:3}),this.kvUpload(e)}))}handleAutoPlayFailed(e,t,r){return iw(this,null,(function*(){if("NotSupportedError"===r.name)this.log.error("play failed, try to reload source. error: ".concat(r)),yield e.reload(t),yield e.play();else{if("NotAllowedError"!==r.name)throw r;if(this.core.room.enableAutoPlayDialog){let t=()=>{var r;null==(r=e.play())||r.finally((()=>{HO.off("154",t,this)}))};HO.on("154",t,this),new Ex}else this.core.trtc.emit(sW.AUTOPLAY_FAILED,{userId:"",mediaType:"audio",resume:()=>iw(this,null,(function*(){return e.play()}))})}}))}update(e){return iw(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),VD(r)||n.setOperation(r),VD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return iw(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||e.stop(),t.mixedMusicMap.delete(r)}"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&gL.addCount({key:502009}),r&&gL.addCount({key:502001}),i&&gL.addCount({key:502002}),o&&gL.addCount({key:502003}),n&&gL.addCount({key:502004}),a&&gL.addCount({key:502005}),"function"!=typeof s&&gL.addCount({key:502007}),"function"!=typeof l&&gL.addCount({key:502008}),"function"!=typeof c&&gL.addCount({key:502006})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId:t}),this.stop({id:t})}))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};tw(BW,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new LH({code:DH.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new LH({code:DH.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});FW("onTimeUpdate",e.onTimeUpdate),FW("onEnded",e.onEnded),FW("onDurationChange",e.onDurationChange)}}),tw(BW,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){FW("onTimeUpdate",e.onTimeUpdate),FW("onEnded",e.onEnded),FW("onDurationChange",e.onDurationChange)}}),tw(BW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),tw(BW,"Name","AudioMixer");var HW,WW=BW,jW=0,GW=class e{constructor(e){this.core=e,tw(this,"log"),tw(this,"audioContext",kx()),tw(this,"workletNode"),tw(this,"config",{enableFarFieldReduce:!1,farFieldReduceThreshold:.5}),jW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(jW)}),this.log.info("created id=".concat(this.getAlias()).concat(jW))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0},mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new LH({code:DH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return HW||(HW=this.doPreload(e)),HW}doPreload(e){return iw(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield yx(this.audioContext,r)}catch(rM){throw this.log.error("load worklet failed",rM),rM}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser"}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return iw(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new LH({code:DH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(i,"/denoiser-wasm").concat(hP()?"":"-nosimd",".js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return iw(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=vD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,Xb(Jb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new LH({code:DH.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(_w(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.updateConfig(e),this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return iw(this,null,(function*(){this.updateConfig(e)}))}stop(){return iw(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}updateConfig(e){if(!this.workletNode)return;let t=!1;VD(e.mode)||(0===e.mode?this.config.enableFarFieldReduce=!1:1===e.mode&&(this.config.enableFarFieldReduce=!0),t=!0),VD(e.farFieldReduceThreshold)||(this.config.farFieldReduceThreshold=e.farFieldReduceThreshold,t=!0),t&&this.workletNode.port.postMessage({type:"setConfig",data:this.config})}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};tw(GW,"updateValidateRule",{type:"object",properties:{mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}}}),tw(GW,"stopValidateRule",{type:"object"}),tw(GW,"Name","AIDenoiser");var zW=GW;var KW=Zb(ow(),1),qW=class extends KW.EventEmitter{constructor(){super(),tw(this,"observer"),tw(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return iw(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!tk&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Iw){KP.uploadEvent({log:"stat-pressure-detector-start-failed",error:Iw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&KO.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(SC){KP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:SC})}}},YW=new qW;function JW(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new qF(new DataView(new Uint8Array(a).buffer),!0)}function XW(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(JW),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function $W(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new qF(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(Iw){}return t}var QW=0,ZW=class e{constructor(e){this.core=e,tw(this,"log"),tw(this,"_seiMessageList",[]),tw(this,"_smallSeiMessageList",[]),tw(this,"_subStreamSeiMessageList",[]),QW++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(QW)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(QW)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return XW({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(SC){this.log.warn(SC)}return t}decode(e){let{frame:t,track:r}=e;return $W({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(sW.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:nP?this.encode:XW,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:nP?this.decode:$W,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};tw(ZW,"autoStart",!0),tw(ZW,"Name","SEI");var ej=ZW;function tj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function rj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var ij={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{ij["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var oj,nj=0,aj=class e{constructor(e){this.core=e,tw(this,"_core"),tw(this,"log"),tw(this,"dumpLocalVideoMap",{}),tw(this,"dumpRemoteVideoMap",{}),tw(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++nj)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return iw(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(e){return iw(this,arguments,(function(e){var t=this;let{visible:r}=e;return function*(){r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor())}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return iw(this,null,(function*(){var e;if(!this.dialog)try{if(oj)yield oj;else{let t=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(yw,"/assets/debug-dialog.js");oj=this._core.fileDownloader.loadScript(t),yield oj}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Iw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Iw))}}))}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):tj,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):rj,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return tj({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return rj({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};tw(aj,"Name","Debug"),tw(aj,"autoStart",!0);var sj=aj,cj=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},lj=class{constructor(e,t,r){tw(this,"trackDoneOB"),tw(this,"startOB"),tw(this,"stopOB"),tw(this,"inputFrameCount",0),tw(this,"decodedFrameCount",0),tw(this,"type","auto"),tw(this,"config"),tw(this,"decoder"),tw(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=fV(t,LP.INIT),this.stopOB=rV(),this.startOB=rV(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=rV();PU(this.startOB,$U(0),mF((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),PU(r,UV(this.stopOB),VF((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:cj(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),PU(r,xV(1),MF(wV))})),UV(this.stopOB),VF((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:cj(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return jU()((t=>iw(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(rM){e.log.error(rM),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},dj={type:"object"},uj=class e{constructor(e){this.core=e,tw(this,"log"),tw(this,"contextMap",new Map),tw(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return dj}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new lj(this.core,i,e);return PU(o.trackDoneOB,xV(1),VF((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new lj(this.core,e.track,e))}}};tw(uj,"Name","TRTCAudioDecoder");var hj=uj,pj=class{constructor(){tw(this,"log"),this.log=KO.createLogger({id:"exp"})}call(e,t){return iw(this,null,(function*(){return UD(this[e])?this[e](t):Promise.reject(new hw({code:dw.INVALID_PARAMETER,message:aL({key:rL.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return iw(this,null,(function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM((e=>{t.emit(sW.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(sW.AUDIO_FRAME,e)}),i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}}));else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}}))}};ew([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _U(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return FB.call(this,t,o,r,this._name),e.apply(this,o)}))}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],pj.prototype,"enableAudioFrameEvent",1);var mj=new pj,fj=Zb(ow(),1),_j=class extends fj.EventEmitter{constructor(){super(),tw(this,"states",{}),tw(this,"permissionChangeHandler"),tw(this,"log"),this.log=KO.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return iw(this,null,(function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach((e=>e.stop()))}))}get(e){return iw(this,null,(function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(SC){return this.log.error("get ".concat(e," permission failed, error: ").concat(SC instanceof Error?SC.message:SC)),null}}))}destroy(){Object.values(this.states).forEach((e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)})),this.states={}}},gj=new _j,Ej=0,vj=new Set,yj=null;Tw(bW),YO.checkStorage();var Tj=class e extends SH.EventEmitter{constructor(t,r){super(),tw(this,"_room"),tw(this,"_eventListened",new Set),tw(this,"_localVideoTrack",null),tw(this,"_localAudioTrack",null),tw(this,"_localScreenTrack",null),tw(this,"_localScreenAudioTrack",null),tw(this,"_localVideoConfig",null),tw(this,"_localScreenConfig",null),tw(this,"_localAudioConfig",null),tw(this,"_remoteVideoConfigMap",new Map),tw(this,"_remoteAudioConfigMap",new Map),tw(this,"_remoteAudioVolumeMap",new Map),tw(this,"_remoteAudioMuteMap",new Map),tw(this,"_mediaTrackMap",new WeakMap),tw(this,"_log",KO.createLogger({id:"t".concat(++Ej)})),tw(this,"_plugins",new Map),tw(this,"_networkQuality",null),tw(this,"_speakerId"),tw(this,"enterRoomParams"),tw(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(Jb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,HD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(WW,r.assetsPath),this._use(xW,r.assetsPath),this._use(zW,r.assetsPath),this._use(hj,r.assetsPath),this._use(sj),r.enableSEI&&sP&&this._use(ej),this._room.on("audio-volume",(e=>{var t,i;!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),r.enableDbVolume&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(sW.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new LH({code:DH.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(rM){let r=aL({key:rL.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return KO.warn("".concat(r,"\n\n").concat(rM.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(wH){wH=!1,5!==KO.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(Mw,"/en/index.html")),console.info("* Changelog: ".concat(Mw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),KO.info("TRTC Web SDK Version:",yw),IO||KO.debug("Build Time:","2025-09-30 16:12:05");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(NO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),KO.info(t),KO.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),DO().then((e=>{e&&KO.info(CO)}))}}();let i=new e(t,r||{});return vj.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){GP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(sW.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(sW.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(sW.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(sW.ERROR,LH.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(sW.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Xb(Jb({},e),{uplinkRTT:Math.min(e.uplinkRTT,$C),downlinkRTT:Math.min(e.downlinkRTT,$C)});this.emit(sW.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{GP(t,t).add("player-state-changed",(r=>{let i=Xb(Jb({},r),{userId:e.userId});t.kind===Xw.VIDEO&&(i.streamType=PH(t.streamType)),this.emit(t.kind===Xw.AUDIO?sW.AUDIO_PLAY_STATE_CHANGED:sW.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===dw.PLAY_NOT_ALLOWED&&this.emit(sW.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{zP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?sW.REMOTE_VIDEO_AVAILABLE:sW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?sW.REMOTE_AUDIO_AVAILABLE:sW.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?sW.REMOTE_VIDEO_AVAILABLE:sW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(sW.SEI_MESSAGE,Xb(Jb({},e),{streamType:PH(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(sW.ERROR,new LH({code:DH.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,$C),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/WM},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/WM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec})))})))};this.emit(sW.STATISTICS,l)})).add("custom-message",(e=>{this.emit(sW.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(sW.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(sW.FIRST_VIDEO_FRAME,Xb(Jb({},e),{streamType:PH(e.streamType)}))})).add("audio-frame",(e=>{this.emit(sW.AUDIO_FRAME,e)})),GP(this,qx).add("audioInputAdded",(e=>{this.emit(sW.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(sW.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(sW.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(sW.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>iw(this,null,(function*(){if(this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),yj&&yj.deviceId===GC){let e=(yield Zx()).find((e=>e.deviceId===GC));e&&yj.groupId!==e.groupId&&(yj=e,this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>iw(this,null,(function*(){this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield Zx())[0];if(!t||!yj||yj.groupId===t.groupId)return;let r=yj.deviceId===e.deviceId,i=yj.deviceId===GC&&yj.deviceId===t.deviceId;(r||i)&&(yj=t,this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),GP(this,gj).add("permission-state-change",(e=>{this.emit(sW.PERMISSION_STATE_CHANGE,e)}))}getNetworkTime(){return mw()}use(e){let t,r;return"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,"Chorus"===t.Name&&(this.room.enableChorus=!0),this._use(t,r)}_use(t,r){let i=this._plugins.get(t.Name);if(i)return this._log.warn("duplicate install plugin",t.Name),i;let o=new t(SW.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:LH,ErrorCode:DH,CoreErrorCode:dw,ErrorCodeDictionary:NH}}));return this._plugins.set(t.Name,o),o.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name),o}enterRoom(t){return iw(this,null,(function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!FD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,HD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,useH265:t.useH265,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),YW.start()}))}exitRoom(){return iw(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return iw(this,null,(function*(){if(this.room.isSwitchRoomSupported())try{yield this._room.switchRoom(e)}catch(SC){if(!(SC instanceof uw)||SC.code!==dw.API_CALL_TIMEOUT&&SC.code!==dw.SWITCH_ROOM_FAILED)throw SC;this._log.warn("switchRoom ".concat(SC.code===dw.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)}))}_rejoinRoom(e){return iw(this,null,(function*(){yield this.exitRoom();let t=Jb(Jb({},this.enterRoomParams),e);yield this.enterRoom(t)}))}switchRole(e,t){return iw(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),zP(this),this.removeAllListeners(),this._room.destroy(),vj.delete(this),0===vj.size&&YW.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),HO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return iw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new KF(e._room.audioManager),a={},s={muted:!0};o&&(VD(o.microphoneId)?VD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&BD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),VD(o.profile)||(FD(o.profile)?zw[o.profile]&&n.setProfile(zw[o.profile]):n.setProfile(o.profile)),BD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),VD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),VD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),VD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),HD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",(t=>{e.emit(sW.ERROR,new LH({code:DH.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(sW.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(sW.PUBLISH_STATE_CHANGED,Xb(Jb({},t),{error:r}))})),n.on("6",(()=>{e.emit(sW.ERROR,new LH({code:DH.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),VD(i)||n.setMute(i),GP(n,n).add("player-state-changed",(t=>{e.emit(sW.AUDIO_PLAY_STATE_CHANGED,Xb(Jb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Xb(Jb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),HO.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return iw(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):VD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),VD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),VD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!VD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),VD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),aN(this._localAudioConfig,e)}))}stopLocalAudio(){return iw(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),HO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),zP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return iw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new XF(e._room.videoManager),l={},d={};s&&(HD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:VD(s.useFrontCamera)?VD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?Xw.FACING_MODE_USER:Xw.FACING_MODE_ENVIRONMENT,VD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=xH(s.qosPreference)),VD(s.profile)||(FD(s.profile)?Kw[s.profile]&&c.setProfile(Kw[s.profile]):c.setProfile(s.profile)),VD(s.fillMode)||(d.objectFit=s.fillMode),VD(s.mirror)||(d.mirror=s.mirror),VD(s.small)||(VD(s.smallMode)||(e._room.smallMode=s.smallMode),HD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(UH(s.small,!0))),VD(s.rotation)||c.setRotation(s.rotation),HD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",(t=>{e.emit(sW.FIRST_VIDEO_FRAME,Xb(Jb({},t),{streamType:PH(t.streamType)}))})),c.on("5",(t=>{e.emit(sW.ERROR,new LH({code:DH.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(sW.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(sW.PUBLISH_STATE_CHANGED,Xb(Jb({},t),{error:r}))})),c.on("6",(()=>{e.emit(sW.ERROR,new LH({code:DH.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),VD(a)||(yield c.setMute(a)),GP(c,c).add("player-state-changed",(t=>{e.emit(sW.VIDEO_PLAY_STATE_CHANGED,Xb(Jb({},t),{userId:"",streamType:"main"}))})).add("video-size-changed",(t=>{e.emit(sW.VIDEO_SIZE_CHANGED,Xb(Jb({},t),{streamType:PH(t.streamType)}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Xb(Jb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()}))}updateLocalVideo(e){return iw(this,null,(function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):VD(null==c?void 0:c.useFrontCamera)?VD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?Xw.FACING_MODE_USER:Xw.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?Xw.FACING_MODE_USER:Xw.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(VD(c.profile)||(FD(c.profile)?Kw[c.profile]&&this._localVideoTrack.setProfile(Kw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&VD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),VD(c.fillMode)||(l.objectFit=c.fillMode),VD(c.mirror)||(l.mirror=c.mirror),VD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(xH(c.qosPreference)),VD(c.small)||(HD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(UH(c.small,!0)))),this._room.isJoined&&VD(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch((()=>{})):this._room.unpublish(this._localVideoTrack).catch((()=>{}))),VD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),aN(this._localVideoConfig,e)}))}stopLocalVideo(){return iw(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),zP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return iw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new bB(e._room.videoManager);c.on("4",(t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(sW.PUBLISH_STATE_CHANGED,Xb(Jb({},t),{error:r}))})),c.once("first-video-frame",(t=>{e.emit(sW.FIRST_VIDEO_FRAME,Xb(Jb({},t),{streamType:PH(t.streamType)}))})),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(VD(s.profile)||(FD(s.profile)?Jw[s.profile]&&c.setProfile(Jw[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),VD(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=xH(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener(Xw.ENDED,(()=>{e._stopScreenShare(),e.emit(sW.SCREEN_SHARE_STOPPED)})),h.getAudioTracks()[0]){l=new CB(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),HD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(GP(c,c).add("player-state-changed",(t=>{e.emit(sW.VIDEO_PLAY_STATE_CHANGED,Xb(Jb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=Xb(Jb({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()}))}updateScreenShare(e){return iw(this,null,(function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(VD(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=xH(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!VD(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch((()=>{}))}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch((()=>{}))}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&HD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),aN(this._localScreenConfig,e)}))}stopScreenShare(){return iw(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return iw(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;c.on("decode-failed",(e=>{this.emit(sW.ERROR,new LH({code:DH.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))})),c.on("video-size-changed",(e=>{this.emit(sW.VIDEO_SIZE_CHANGED,Xb(Jb({},e),{streamType:PH(e.streamType)}))})),this._listenOutputTrackChanged(c),o&&(VD(o.fillMode)||(s.objectFit=o.fillMode),VD(o.mirror)||(s.mirror=o.mirror),VD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!VD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!VD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return iw(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(VD(a.fillMode)||(l.objectFit=a.fillMode),VD(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!VD(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),aN(h,e);let p=VD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=VD(i)?h.view:i,f=VD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return iw(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return iw(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));this._removeRemoteVideoConfig(e.userId,e.streamType)}))}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return iw(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(rM){throw rM.code!==DH.OPERATION_ABORT&&this._remoteAudioMuteMap.delete(e),rM}}))}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach(((e,r)=>this._remoteAudioVolumeMap.set(r,t)));let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return iw(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return iw(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return iw(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(sW.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{cW.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(rM){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach((e=>{null==e||e.abort("off")})),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(FD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return iw(this,null,(function*(){(yield Zx()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),yj=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return iw(this,null,(function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",(e=>{this.emit(sW.ERROR,new LH({code:DH.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))})),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=BD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),PU(fV(n,"decode-failed"),UV(fV(n,LP.INIT)),VF((()=>{this.startPlugin(hj.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:o,track:n}),HO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(oM){throw this._remoteAudioConfigMap.delete(r),oM}this._emitTrackEvent(n)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return iw(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId)),HO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".concat(e.userId)})}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),PU(fV(e,"decode-failed"),UV(fV(e,LP.INIT)),FF((()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),_F(fV(e,"decode-downgrade-state-changed")),VF((i=>{r=i.state,this.emit(sW.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Xb(Jb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return iw(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),VD(t)&&o&&o.view&&!rN(r)){let e=cN(o.view);e.length>0&&(yield i.play(e,r))}if(!VD(t)){let e=cN(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return iw(this,arguments,(function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(Aw){}if(VD(r.muted)||i.setPlayerMute(r.muted),VD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof KF&&i.mediaTrack){let e=!1===r.muted&&!VD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof MB){let e=r.muted?0:r.volume;if(VD(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(sW.TRACK,{userId:r,streamType:PH(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack),this._checkScreenAudioEchoCancellation(this._localScreenTrack,this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(VD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(PH(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||jD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))})),clearTimeout(c),c=window.setTimeout((()=>{[...s.values()].find((e=>e))?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(cN(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return iw(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),function(e){let t=RW.get(e);t&&(t.forEach((e=>clearTimeout(e))),RW.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{zP(e.remoteAudioTrack),zP(e.remoteVideoTrack),zP(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return iw(this,null,(function*(){var e,t;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),zP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return iw(this,null,(function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(tM){this._log.warn("start audioProcessor plugin failed: ",tM)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!yj||Yx(yj))&&(this._initActiveSpeaker(),HO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return iw(this,null,(function*(){if(yj&&!Yx(yj))this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:yj});else{let e=yield Zx();e[0]&&!Yx(e[0])?(yj=e[0],this.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):HO.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:Xb(Jb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),gL.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),gL.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return iw(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),mj.call(e,Jb({trtcInstance:this},t))}))}static setLogLevel(e,t){KO.setLogLevel(e),VD(t)||(t?KO.enableUploadLog():KO.disableUploadLog())}static isSupported(){return NL(e.frameWorkType)}static getPermissions(e){return iw(this,arguments,(function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield gj.request(r).catch((e=>{var t;return KO.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))})));let[e,i]=yield Promise.all([gj.get("camera"),gj.get("microphone")]);return{camera:e,microphone:i}}()}))}static getCameraList(){return $x(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return Xx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return Zx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return iw(this,null,(function*(){if(!tk||t!==CH.SPEAKER&&t!==CH.HEADSET)(yield Zx()).forEach((e=>{e.deviceId===t&&(vj.forEach((r=>{r._setCurrentSpeaker(t),r.emit(sW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),yj=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;vj.forEach((e=>iw(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a,max:s}=e;switch(a&&(_L.version=a),t){case"count":_L.addCount({key:r,useUV:n});break;case"enum":_L.addEnum({key:r,value:i,useUV:n});break;case"number":_L.addNumber({key:r,value:i,split:o,max:s})}}};tw(Tj,"VERSION",bW),tw(Tj,"_loggerManager",KO),tw(Tj,"EVENT",sW),tw(Tj,"ERROR_CODE",DH),tw(Tj,"TYPE",CH),tw(Tj,"frameWorkType",30),ew([kW({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],Tj.prototype,"use",1),ew([wW(JH.TRTC.enterRoom),oW("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),_U((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),kW()],Tj.prototype,"enterRoom",1),ew([kW()],Tj.prototype,"exitRoom",1),ew([wW(JH.TRTC.switchRoom),kW(),IU()],Tj.prototype,"switchRoom",1),ew([wW(JH.TRTC.switchRole),nW("room",{merge:(e,t)=>t}),kW()],Tj.prototype,"switchRole",1),ew([kW()],Tj.prototype,"destroy",1),ew([wW(JH.TRTC.startLocalAudio),oW("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),kW()],Tj.prototype,"startLocalAudio",1),ew([wW(JH.TRTC.updateLocalAudio),nW("audio",{debounce:{delay:200,getKey:()=>"".concat(Ej,"-localAudio"),isNeedToDebounce:e=>{var t;return!VD(null==(t=e.option)?void 0:t.captureVolume)}}}),kW()],Tj.prototype,"updateLocalAudio",1),ew([aW("audio"),kW()],Tj.prototype,"stopLocalAudio",1),ew([wW(JH.TRTC.startLocalVideo),oW("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),kW()],Tj.prototype,"startLocalVideo",1),ew([wW(JH.TRTC.updateLocalVideo),nW("video"),kW()],Tj.prototype,"updateLocalVideo",1),ew([aW("video"),kW()],Tj.prototype,"stopLocalVideo",1),ew([wW(JH.TRTC.startScreenShare),oW("screen",(()=>!0)),kW()],Tj.prototype,"startScreenShare",1),ew([wW(JH.TRTC.updateScreenShare),nW("screen"),kW()],Tj.prototype,"updateScreenShare",1),ew([kW()],Tj.prototype,"stopScreenShare",1),ew([wW(JH.TRTC.startRemoteVideo),oW((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Tj.prototype,"startRemoteVideo",1),ew([wW(JH.TRTC.updateRemoteVideo),nW((e=>"v".concat(e.userId).concat(e.streamType))),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Tj.prototype,"updateRemoteVideo",1),ew([wW(JH.TRTC.stopRemoteVideo),_U((e=>function(t){return iw(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Tj.prototype,"stopRemoteVideo",1),ew([aW((e=>"v".concat(e.userId).concat(e.streamType)))],Tj.prototype,"_stopRemoteVideo",1),ew([wW(...JH.TRTC.muteRemoteAudio),kW({getRemoteId:e=>e})],Tj.prototype,"muteRemoteAudio",1),ew([CW(...JH.TRTC.setRemoteAudioVolume),function(e,t){return _U(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=RW.get(this);a||(a=new Map,RW.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=RW.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=RW.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),kW({getRemoteId:e=>e})],Tj.prototype,"setRemoteAudioVolume",1),ew([MW("start"),fU((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),oW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>uL[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],Tj.prototype,"startPlugin",1),ew([MW("update"),nW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),{merge:(e,t)=>(aN(e[1],t[1]),e)}),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>hL[e.getName()]})],Tj.prototype,"updatePlugin",1),ew([MW("stop"),aW(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>pL[e.getName()]})],Tj.prototype,"stopPlugin",1),ew([CW(...JH.TRTC.enableAudioVolumeEvaluation)],Tj.prototype,"enableAudioVolumeEvaluation",1),ew([kW()],Tj.prototype,"getVideoSnapshot",1),ew([kW()],Tj.prototype,"_setCurrentSpeaker",1),ew([oW((e=>"a".concat(e.userId)),(()=>!0))],Tj.prototype,"_startRemoteAudio",1),ew([_U((e=>function(t){return iw(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Xb(Jb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),aW((e=>"a".concat(e.userId)))],Tj.prototype,"_stopRemoteAudio",1),ew([aW("room")],Tj.prototype,"_exitRoom",1),ew([aW("screen")],Tj.prototype,"_stopScreenShare",1),ew([wW(...JH.TRTC.sendSEIMessage),RH({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],Tj.prototype,"sendSEIMessage",1),ew([wW(JH.TRTC.sendCustomMessage),RH({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],Tj.prototype,"sendCustomMessage",1),ew([wW(JH.TRTC.create)],Tj,"_create",1);var Ij=Tj,Aj=class{constructor(e,t){tw(this,"_flag"),tw(this,"terminalType"),tw(this,"userId"),tw(this,"tinyId"),tw(this,"role"),tw(this,"remoteAudioTrack"),tw(this,"remoteVideoTrack"),tw(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new MB(e,this),this.remoteVideoTrack=new LB(e,this),this.remoteAuxiliaryTrack=new PB(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return iN(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},Sj=class{constructor(){tw(this,"_set",new Set),HO.on(jO.LEAVE_SUCCESS,this.delete,this),HO.on(jO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function Rj(){return iw(this,null,(function*(){let e,t;try{let t=yield Xx();e=t&&t.length}catch(p){}try{let e=yield $x();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=JO.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};KP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),KP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),TP()}))}var bj=class{constructor(e){tw(this,"_frameWorkType"),tw(this,"_component"),tw(this,"_language"),tw(this,"connectionType"),tw(this,"_room"),tw(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0,reportToken:void 0}),tw(this,"_keyPrefix"),tw(this,"_log"),tw(this,"_intervalId"),tw(this,"_firstPublishedUserList"),tw(this,"_networkQuality"),tw(this,"_basicInfo"),tw(this,"_pathJoinRoom"),tw(this,"_pathLeaveRoom"),tw(this,"_pathMainVideoMap"),tw(this,"_pathMainAudioMap"),tw(this,"_pathAuxiliaryMap"),tw(this,"_remoteStreamStatMap"),tw(this,"_localStreamStat"),tw(this,"_eventMap",new Map),tw(this,"_captureCostSum",0),tw(this,"_captureCostCount",0),tw(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=KO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&UD(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return KD(n)?n.catch((e=>KO.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(SC){KO.error("".concat(t.name,"() error observed ").concat(SC))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:yw,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,DO().then((e=>{this._basicInfo.string_os_version=UO(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),HO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(jO.JOIN_START,this.handleJoinStart).addEvent(jO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(jO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(jO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(jO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(jO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(jO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(jO.JOIN_FAILED,this.handleJoinFailed).addEvent(jO.LEAVE_START,this.handleLeaveStart).addEvent(jO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(jO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(jO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(jO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(jO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(jO.PUBLISH_START,this.handlePublishStart).addEvent(jO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(jO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(jO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(jO.PLAY_TRACK_START,this.handlePlayStart).addEvent(jO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(jO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===Xw.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(jO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(jO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(jO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(jO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(jO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(jO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(jO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(jO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>HO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),BP.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(VD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),VD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),VD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof hw?Number(r.getExtraCode()||r.getCode()):dw.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time&&(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time?this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time:this._log.warn("pathJoinRoom endTime is 0"),this.report())}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then((()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e}))}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof hw?Number(r.getExtraCode()||r.getCode()):dw.UNKNOWN)}}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:Xb(Jb({},Cj),{msg_user_info:new Dj({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new Dj({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,gL.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/WM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/WM,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*qb(10,6)))}})),!rN(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/WM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/WM,t.audioLevelCount++))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0))}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof hw?r.getExtraCode()||r.getCode():dw.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&eC))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&iC))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&rC))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,Xw.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,Xw.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,wj));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>wj&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+wj):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>wj&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+wj):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>wj&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+wj)}getReportData(){this._basicInfo.uint32_networkType=RD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new Dj({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:nN(this._signalInfo.relayIp),uint32_client_ip:nN(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*qb(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:nN(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend,str_user_sig:this._room.userSig,bytes_report_token:this._signalInfo.reportToken};return gN(e),e}report(){return iw(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(eM){this._log.warn(eM)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return iw(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=GO.enable?wN(e,2001,t):yield xN(e),i=r instanceof ArrayBuffer,o="".concat(yD(t,Vw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(gL),this.uploadKVStat(_L)];n||a.push(PN({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return iw(this,null,(function*(){let t=e.getReportData(this._room.userSig,this._signalInfo.reportToken);if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Xb(Jb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=GO.enable?wN(t,2003,this._room.sdkAppId):yield xN(t),i=r instanceof ArrayBuffer,o="".concat(yD(+this._room.sdkAppId,Vw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||PN({url:o,body:r})}))}};ew([YP({settings:{timeout:500,retries:3}})],bj.prototype,"upload",1);var wj=5e3,Cj={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},Dj=class{constructor(e){tw(this,"str_identifier"),tw(this,"str_tinyid"),tw(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},Nj=bj,kj=class{constructor(){tw(this,"_startTime"),tw(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=QD())}stop(){0===this._endTime&&(this._endTime=QD())}getDuration(){return 0===this._endTime?QD()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},Oj=class{constructor(e){tw(this,"_room",null),tw(this,"_durationMap"),tw(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(jO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(jO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(jO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),Xw.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),Xw.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),Xw.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,Xw.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,Xw.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,Xw.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>HO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>HO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new kj,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===Xw.AUDIO?[o]:[],video:t===Xw.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},Mj=class{constructor(e){tw(this,"_room"),tw(this,"_renderFreezeMap",new Map),tw(this,"_isVideoPlayingEventFiredMap",new Map),tw(this,"_dataFreezeMap",new Map),tw(this,"_monitorFreezeData",new Map),tw(this,"_eventMap",new Map),tw(this,"_videoEncodeFailedCount",0),tw(this,"_audioEncodeFailedCount",0),tw(this,"_encodeFailedThreshold",3),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(jO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(jO.PLAY_TRACK_START,this.onPlayTrackStart).set(jO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(jO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(jO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===Xw.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===Xw.MUTE?this.onVideoTrackMuted(t):i===Xw.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(jO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>HO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>HO.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new kj;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;if(this.hitTest(t)){if(r.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:r,muteState:i}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&i.hasVideo&&!i.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&i.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))})),r.msg_up_stream_info.msg_video_status){let e=r.msg_up_stream_info.msg_video_status,t=Array.from(this._room.localTracks).find((e=>"video"===e.kind&&!e.isScreen)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;e.forEach((e=>{2===e.uint32_video_stream_type&&(0!==e.uint32_video_capture_fps&&0===e.uint32_video_codec_bitrate&&0===e.uint32_video_enc_fps&&null!=t&&t.isPublished?(this._videoEncodeFailedCount+=1,this._videoEncodeFailedCount===this._encodeFailedThreshold&&(KP.uploadEvent({userId:this._room.userId,log:"stat-".concat(bC.VIDEO_ENCODE_FAILED_DURING_CALL)}),this._videoEncodeFailedCount=0)):this._videoEncodeFailedCount=0)}))}if(r.msg_up_stream_info.msg_audio_status){let e=r.msg_up_stream_info.msg_audio_status,t=Array.from(this._room.localTracks).find((e=>"audio"===e.kind)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;0===e.uint32_audio_codec_bitrate&&null!=t&&t.isPublished?(this._audioEncodeFailedCount+=1,this._audioEncodeFailedCount===this._encodeFailedThreshold&&(KP.uploadEvent({userId:this._room.userId,log:"stat-".concat(bC.AUDIO_ENCODE_FAILED_DURING_CALL)}),this._audioEncodeFailedCount=0)):this._audioEncodeFailedCount=0}}}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();a>LC?this._monitorFreezeData.set(t,{userId:r,type:i,duration:a}):o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}handleRenderFreeze(e){return iw(this,arguments,(function(e){var t=this;let{userId:r,fps:i,type:o}=e;return function*(){let e="".concat(r,"_").concat(o),n=t._renderFreezeMap.get(e);if(i<=2){let i=QD();n&&!n.isFreeze&&(n.freezeTimeline.push({startTime:i,endTime:0}),n.isFreeze=!0),n||t._renderFreezeMap.set(e,{userId:r,type:o,isFreeze:!0,freezeTimeline:[{startTime:i,endTime:0}],renderFreezeTotal:0})}else if(n&&n.isFreeze){n.isFreeze=!1;let e=n.freezeTimeline.pop();if(e){e.endTime=QD();let t=e.endTime-e.startTime;n.freezeTimeline.push(e),n.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==Xw.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<LC&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t=this._renderFreezeMap.get(e),r=0,i=0;if(t)if(t.isFreeze){let e=QD()-t.freezeTimeline[t.freezeTimeline.length-1].startTime;r=t.renderFreezeTotal+Math.min(e,5e3),i=t.freezeTimeline.length}else r=t.renderFreezeTotal;return{renderFreeze:r,count:i}}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},Lj=Zb(ow(),1),Pj=class{constructor(e,t,r,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4/3;this.vbMode=e,this.faceDetectorHash=r,this.visionTaskRegistry=i,this.logger=o,tw(this,"animationState"),tw(this,"originalAspect"),tw(this,"totalOffsetX",0),tw(this,"totalOffsetY",0),tw(this,"defaultScaleRatio",.1),tw(this,"isRecovering",!1),tw(this,"boundaryY",280),tw(this,"lastActionTime",0),tw(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=n||4/3,this.visionTaskRegistry.setVideo(this.faceDetectorHash,t)}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?gL.addSuccessEvent({key:i.key}):gL.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(nM){this.logger.error(nM)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=Jb({},e),void(this.animationState.target=Jb({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),BD(this.animationState.current.scaleOffsetX)&&BD(this.animationState.target.scaleOffsetX)&&BD(this.animationState.current.scaleOffsetY)&&BD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(qb(e.sx-t.sx,2)+qb(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},xj=class extends uB{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),tw(this,"_bgTexture"),tw(this,"_waterMarkTexture"),tw(this,"_lastMaskTexture"),tw(this,"_lastMaskFbo"),tw(this,"_textureValid",!1),tw(this,"_selfieTextureValid",!1),tw(this,"_selfieSegmentationHash"),tw(this,"wasm"),tw(this,"predictReady"),tw(this,"_color"),tw(this,"_prePrograme"),tw(this,"_segmentationMask"),tw(this,"_weixin",!1),tw(this,"_centerFace"),tw(this,"_textureMatrixLocation"),tw(this,"_offsetMatrixLocation"),tw(this,"_colorLocation"),tw(this,"_enableFaceCentering",!1),tw(this,"_enableEffectOptimization",!1),tw(this,"_mat4"),tw(this,"_postProcessing"),tw(this,"_onAbort"),tw(this,"_visionTaskRegistry"),tw(this,"resolvePreditReady"),this.init(t).catch((t=>{e.log.error(t),e.destroy(new hw({code:dw.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()}))}init(e){return iw(this,null,(function*(){var t,r,i;this.predictReady=new Promise((e=>{this.resolvePreditReady=e}));let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(n.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}!this._enableEffectOptimization||2!==this.wasm.vbMode&&3!==this.wasm.vbMode?this._postProcessing=void 0:wO()?(this._postProcessing=void 0,this.log.warn("Virtual background post-processing isn't allowed on mobile.")):null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3),yield this.initVisionTasks(e)}))}initVisionTasks(e){return iw(this,null,(function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._visionTaskRegistry.setVideo(this._selfieSegmentationHash,this.image),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new Pj(this.wasm.vbMode,this.image,e,this._visionTaskRegistry,this.context.log)}catch(SC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}}))}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._postProcessing&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),AN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(AN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(oM){this._onAbort&&this._onAbort(oM)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},Uj=class extends tB{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),tw(this,"yTextureRef"),tw(this,"uTextureRef"),tw(this,"vTextureRef"),tw(this,"Y"),tw(this,"U"),tw(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},Vj=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var Fj=0,Bj=class{constructor(e){tw(this,"id",Fj++),tw(this,"trackDoneOB"),tw(this,"startOB"),tw(this,"stopOB"),tw(this,"decoder"),tw(this,"videoContext"),tw(this,"gop",0),tw(this,"gop_helper",0),tw(this,"waitFirstKeyFrame",!0),tw(this,"startTimestamp",0),tw(this,"startTime",0),tw(this,"startPerformanceTime",0),tw(this,"inputFrameCount",0),tw(this,"decodedFrameCount",0),tw(this,"decodeFrameCount",0),tw(this,"downgradeLevel",0),tw(this,"lastDowngradeTime",0),tw(this,"lastFrameDiff",0),tw(this,"lastDecodeFrameTimestamp",0),tw(this,"config"),tw(this,"gop_before_configure",[]),tw(this,"videoElement"),tw(this,"type","wasm"),tw(this,"goodType"),tw(this,"renderer","2d"),tw(this,"wasmOption"),tw(this,"createDecoder"),tw(this,"_decodeSink"),tw(this,"isReported",!1),tw(this,"track"),tw(this,"stateChangeOB"),tw(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=rV(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=fV(t.availableState,LP.OFF),this.stopOB=rV(),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),PU(this.stateChangeOB,nF(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),UV(this.stopOB),VF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=PU(this.pipe(this.track),UV(this.stopOB),jU());PU(t,VF((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),gL.addFailedEvent({key:Vj(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),gL.addFailedEvent({key:514704});else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),gL.addSuccessEvent({key:Vj(this.type,this.renderer)}),gL.addSuccessEvent({key:514704})}))),PU(t,xV(1),VF((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!bL()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=QD()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>iw(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;i&&(e.player.setCanvas(),e.setInputMediaStreamTrack(i)),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new _B({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(_B.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new Uj(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new gB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let i=this.videoContext.createVideoImageSource();r.on("videoFrame",(r=>{try{i.image=r,i.update()}catch(o){delete this.goodType,e.log.error(o),t.error(11)}}));let o=new nB(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(tM){e.log.error(tM),t.error("webCodecs"===n?2:6)}}))}},Hj=Promise.resolve(),Wj=class extends Lj.EventEmitter{constructor(e){super(),this.room=e,tw(this,"videoContext"),tw(this,"_glVideoContext"),tw(this,"_2dVideoContext"),tw(this,"destination"),tw(this,"smallVideoContext"),tw(this,"smallDestination"),tw(this,"smallTrackSource"),tw(this,"smallImageSource"),tw(this,"_isMirror",!1),tw(this,"_rotation",0),tw(this,"cameraTrack"),tw(this,"cameraNode"),tw(this,"transformNode"),tw(this,"mixNode"),tw(this,"screenTrack"),tw(this,"screenNode"),tw(this,"selfModel",!1),tw(this,"blurRadius",3),tw(this,"arTrack"),tw(this,"_enableFaceCentering",!1),tw(this,"_enableEffectOptimization",!1),tw(this,"onAbort"),tw(this,"_color"),tw(this,"Wasm"),tw(this,"waterMarkNode"),tw(this,"_waterMarkOption"),tw(this,"watermarkImageList",[]),tw(this,"_beautyParams"),tw(this,"isUsingArTrack",!1),tw(this,"mixTrack"),tw(this,"_isMixScreen",!1),tw(this,"_virtualBackground"),tw(this,"_virtualBackgroundAbortCallback"),tw(this,"virtualBackgroundInstance"),tw(this,"_bgAssetPath"),tw(this,"log",KO.createLogger({id:"vm"})),tw(this,"_mat4"),tw(this,"_postProcessing"),tw(this,"_checkId",0),tw(this,"_use2d",!1),tw(this,"_autoSwitchRenderMode",!0),tw(this,"encodePipeline",[]),tw(this,"decodePipeline",[]),tw(this,"updated",Hj),tw(this,"_updateFlag",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new gB({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return AN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new gB({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new _B({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(cO<=22),this._glVideoContext.on(_B.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(Iw){this.emit("error",Iw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=BP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),BP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(dO||this._isMixScreen||this._isTransform||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?gL.addFailedEvent({key:t,error:e}):gL.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new _B({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new cB(this.smallVideoContext,e,this.log),this.smallVideoContext.on(_B.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}if(this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t)this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),this.smallTrackSource.connect(this.smallDestination)}}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;dO&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(rM){this.log.error("set main output failed",rM)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return iw(this,null,(function*(){var t;if(!this.cameraTrack||!this.initialTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams)this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(tB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}))),16===_O?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof uB?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof uB?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new sB(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on(tB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new xj(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new IB(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new yB(this.videoContext,this.log),e.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption)this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext.canvas)}))}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof bB)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof XF)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof LB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof AB)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof bB?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof XF?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof LB?e.source&&e.source.context.destroy():e instanceof AB&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return iw(this,null,(function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}))}getWatermarkImage(e,t){return iw(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new hw({code:dw.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((e=>{let{image:t,x:r,y:o,width:n,height:a}=e;i.drawImage(t,r,o,n,a)})),fN(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return iw(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return iw(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return iw(this,null,(function*(){let t;try{t=yield fN((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new hw({code:dw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2}=e;this.watermarkImageList.some((e=>e.type===a))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==a)),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return iw(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return iw(this,null,(function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return iw(this,null,(function*(){var t,r,i;if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield fN(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new hw({code:dw.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return iw(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new Bj(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};ew([function(e){return _U(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return iw(this,null,(function*(){try{return yield t.apply(this,i)}catch(rM){e.call(this,rM)}}))}))}((function(e){this.log.error("update failed",e)})),_U((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return iw(this,null,(function*(){this._updateFlag||(this._updateFlag=!0,yield Hj,this.updated=new Promise(((t,i)=>{e.apply(this,r).then(t,i),setTimeout(i,5e3,new hw({code:dw.API_CALL_TIMEOUT,message:"update timeout"}))})),this._updateFlag=!1,yield this.updated)}))}))],Wj.prototype,"update",1);var jj=0,Gj=class extends LP{constructor(e){super("room"),tw(this,"seq",++jj),tw(this,"sdkAppId"),tw(this,"userId"),tw(this,"userSig"),tw(this,"privateMapKey"),tw(this,"latencyLevel"),tw(this,"tinyId"),tw(this,"scene"),tw(this,"roomId"),tw(this,"useStringRoomId"),tw(this,"role","anchor"),tw(this,"joinParams",null),tw(this,"localPublishFlag",0),tw(this,"localTracks",new Set),tw(this,"enableAutoPlayDialog",!0),tw(this,"autoReceiveAudio",!0),tw(this,"autoReceiveVideo",!0),tw(this,"proxy_ws"),tw(this,"proxy_wt"),tw(this,"proxy_unified"),tw(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),tw(this,"keyPointManager"),tw(this,"audioManager"),tw(this,"videoManager"),tw(this,"callDurationCalculator"),tw(this,"badCaseDetector"),tw(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),tw(this,"videoDecodeFallbackType"),tw(this,"smallMode","canvas"),tw(this,"enableChorus",!1),tw(this,"_isUsingCachedSchedule",!1),tw(this,"_log",KO.createLogger({id:"r".concat(this.seq)})),tw(this,"_joinedTimestamp",0),tw(this,"_sdkType"),tw(this,"heartbeatReport"),tw(this,"videoCodec"),tw(this,"quality"),tw(this,"enableSEI"),tw(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,HD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),HD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),HD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new Nj({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new Oj({room:this}),this.badCaseDetector=new Mj({room:this}),this.audioManager=new NB(this),this.videoManager=new Wj(this)}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return iw(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return iw(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return iw(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(FD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(MD(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(fW([n,n]),Cw("https://".concat(n))):(i&&Cw(i),o&&fW(o))}HO.once(jO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:mW.main,sched_back_domain:mW.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return iw(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return iw(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return iw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new hw({code:dw.INVALID_OPERATION,message:aL({key:rL.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(iL.INVALID_DESTROY),new hw({code:dw.INVALID_OPERATION,message:aL({key:rL.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,HO.emit(jO.ROOM_DESTROY,{room:this})}schedule(e,t){return iw(this,null,(function*(){var r,i,o,n;let a=QD();try{let{isCached:s,result:c,detailCost:l}=yield pW({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:yw,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(uN(c,{keysToExclude:["username","credential"]}))),s&&HO.once(jO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=Jb(Jb({},this.scheduleResult),c),BD(null==(r=c.config)?void 0:r.retryCount)&&IC(c.config.retryCount),FD(null==(i=c.config)?void 0:i.loggerDomain)&&Cw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,HO.emit(jO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),gL.addSuccessEvent({key:521700,cost:QD()-a})}catch(QO){throw gL.addFailedEvent({key:521700,error:QO}),QO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var zj={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},Kj="__INLINE__WORKER__",qj="__INLINE__WASM__",{debug:Yj}=console;zj.debug||(console.debug=()=>{});var Jj,Xj=!Kj.startsWith("__"),$j=!qj.startsWith("__");function Qj(){let e=yN("".concat(zj.assetsPath?"".concat(zj.assetsPath,"/"):"","worker.js"));return Xj?URL.createObjectURL(new Blob([atob(Kj)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function Zj(){return iw(this,null,(function*(){let e=zj.assetsPath?"".concat(zj.assetsPath,"/"):"";return Jj||(Jj=$j?(new TextEncoder).encode(atob(qj)).buffer:yield fetch(yN("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),Jj)}))}var eG=new class{constructor(){tw(this,"playPort"),tw(this,"playPortSent",!1),tw(this,"worklet"),tw(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return iw(this,null,(function*(){let e=kx(),t=Qj();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),KO.info("global audio player worklet addModule success",t)}catch(SC){throw KO.error("global audio player worklet addModule failed:",SC),SC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield Zj(),flag:zj},numberOfInputs:2}),KO.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return iw(this,null,(function*(){var t;yield this.init();let r=new MessageChannel;null==(t=this.playPort)||t.postMessage(null,[r.port1]),e(r.port2)}))}},tG="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";tG?Promise.resolve().then((function(){return nG})):Promise.resolve().then((function(){return uG})),tG?Promise.resolve().then((function(){return lG})):Promise.resolve().then((function(){return hG}));var rG=tG?Promise.resolve().then((function(){return dG})):Promise.resolve().then((function(){return pG}));function iG(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(this,null,(function*(){return(yield rG).default(...t)}))}var oG=e=>iw(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),nG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(oG));return e[0].multiple?i:i[0]}()}))}};function aG(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return aG=function(e){this.s=e,this.n=e.next},aG.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new aG(e)}var sG,cG=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return iw(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,d=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new aG(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(cG(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},lG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return cG(t,e.recursive,void 0,e.skipDirectory)}()}))}},dG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return iw(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(l){if(r=null,i)throw l}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},uG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},hG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},pG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return iw(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return iw(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return iw(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},mG=class{constructor(e){this.name=e,tw(this,"ready"),tw(this,"worker"),tw(this,"ports"),tw(this,"ids",1),tw(this,"transactions",new Map),tw(this,"log"),tw(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return iw(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=Qj(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>iw(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(dN(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield Zj(),flag:zj},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},fG=class{constructor(e,t,r){this.worker=e,tw(this,"channel",new MessageChannel),tw(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},_G=new class e extends mG{constructor(){super("main"),tw(this,"switchValue",new Map),tw(this,"extendChannel"),tw(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return iw(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield rw(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function gG(e){return iw(this,null,(function*(){yield _G.create(),HO.emit(jO.JOIN_SEND_CMD,{room:this});let t=new fG(_G,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(HO.emit(jO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new hw({code:dw.JOIN_ROOM_FAILED,extraCode:Number(r),message:aL({key:rL.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function EG(e){return iw(this,null,(function*(){_G.setSwitchValue("useAINS",e)}))}function vG(e){return iw(this,null,(function*(){_G.setSwitchValue("useV2",e)}))}function yG(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),e.player.setVolume(0),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function TG(e){return iw(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),PU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(rV(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=RU,e.onmessageerror=RU,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),UV(fV(e,LP.INIT)),VF((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:EG},useWt:{set:function(e){return iw(this,null,(function*(){_G.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?Yj:()=>{},_G.setSwitchValue("enableDebug",e)}},useV2:{set:vG},dump:{value(){if(sG||(console.warn("dump audio will be activated at next time join room"),sG=[]),!sG.length)return void console.warn("no audio data to dump,try it later");let e=[];return sG.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),iG(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;_G.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,_G.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return iG(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:zj.useHardDecoder="prefer-hardware";break;case!1:zj.useHardDecoder="prefer-software";break;default:zj.useHardDecoder="no-preference"}}}});var IG=[];function AG(e){var t;let r=rV();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=IG.length;l++)if(!IG[l]){IG[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:Jb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage(Xb(Jb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=kx().createMediaStreamSource(s),a.connect(eG.worklet,0,this.index)};PU(fV(e,"output-media-track-changed"),UV(fV(e,"ready")),VF(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),IG[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),PU(r,FF((t=>e.volume=t)),_F(iB(1e3)),VF((()=>{e.volume=0}))),c(e.outMediaTrack)}var SG=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,tw(this,"track"),tw(this,"label"),tw(this,"insertKeyFrame",!0),tw(this,"session"),tw(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return iw(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});t.signal.addEventListener("abort",(()=>{i.encoder.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return iw(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.state&&(o<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(this.localTrack.log.info("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight},i)),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{this.localTrack.log.warn(e),i.encoder.close()}))}))}recreate(e,t){return iw(this,null,(function*(){let r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t.recreateCount&&HO.emit(jO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=r,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{this.localTrack.log.warn(r,this.config),t.recreateCount++,setTimeout((()=>this.recreate(e,t)),100)}});return t.encoder=i,yield this.configure(null,t),t}))}configure(e,t){return iw(this,null,(function*(){var r;e&&Object.assign(this.config,e),null==(r=t.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function RG(e,t){return iw(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.420028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:zj.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},n=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[n.port1]);let a=new SG(e,t.type,o,n.port2);return n.port2.onmessage=e=>{if(260===e.data)a.insertKeyFrame=!0;else if(!r){let{bitrate:t}=e.data;kD({configureBr:[e.data.bitrate,t]}),a.session&&a.configure({bitrate:t},a.session)}},this._log.info("start push",i,t),a}))}function bG(e){return iw(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield RG.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>iw(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s,d=GN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",(r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(i){console.warn(i)}}))},pull(t){return iw(this,null,(function*(){if(0===e.player.mode&&gP()&&e.player.element)return new Promise((r=>{e.player.element.requestVideoFrameCallback(((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()}))}))}))}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield RG.call(this,e,{profile:u,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",s=yield this.smallEncoder.trans(s,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(s,l,this)}));return PU(fV(e,"output-media-track-changed"),UV(fV(e,"ready")),VF(d,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),d(e.outMediaTrack)}))}var wG=class e extends LP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,tw(this,"enableInBackground",!1),tw(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),PU(fV(this,e.INTERVALCHANGED),mF((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):PU((e=>t=>{let r=0,i=performance.now();PU(rB,cF((t=>(t-i)/e|0)),LV((e=>e!=r&&(r=e,!0))))(t)})(e),cF((()=>[]))))),VF((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==LP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};tw(wG,"INTERVALCHANGED","intervalChanged"),ew([kP([LP.INIT,LP.OFF],LP.ON)],wG.prototype,"start",1),ew([kP([],LP.OFF)],wG.prototype,"stop",1);var CG=wG,DG=class extends Gj{constructor(e){super(e),tw(this,"index",0),tw(this,"session"),tw(this,"tinyid"),tw(this,"roomid"),tw(this,"openid"),tw(this,"socketid"),tw(this,"relayip"),tw(this,"clientip"),tw(this,"remotePublishedUserMap",new Map),tw(this,"bussinessInfo"),tw(this,"token"),tw(this,"audioVolumeEvalution",new CG(this)),tw(this,"enableAIVoice",EG),tw(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:VO(),uint32_device_type:0,str_os_verion:FO(),uint32_link_type:1,str_client_version:yw,uint32_net_type:jw[gw.getNetworkType()],ua:navigator.userAgent,version:""}}),tw(this,"joinAbortController",new AbortController),tw(this,"smallAbortCtrl"),tw(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,vG(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return iw(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return iw(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return iw(this,null,(function*(){var i,o,n;let a=gw.getEnv(),s=yL(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:LO(),browserInfo:yL(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:yw,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield gG.call(this,c),console.log(this),eG.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return iw(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish())),this.localTracks.clear()}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return iw(this,null,(function*(){PU((e=>iw(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),UV(fV(this,"left")),VF((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Xb(Jb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case jO.RECEIVED_PUBLISHED_USER_LIST:return void HO.emit(e,Jb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new Aj(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return HO.emit(jO.REMOTE_PUBLISH_STATE_CHANGED,Jb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"7":return void(this.localPublishFlag!==t.flag&&(this.localPublishFlag=t.flag,this.emit("local-publish-flag-changed",t.flag)));case"network-quality":this.quality=Jb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:yw,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:jw[ID()]},msg_event_msg:VB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};HO.emit(jO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),HO.emit(jO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void HO.emit(jO.SIGNAL_CONNECTION_STATE_CHANGED,Jb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(this,null,(function*(){t.forEach((e=>this.localTracks.add(e)));let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>iw(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),GP(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))AG.call(this,e);else yield bG.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(this,null,(function*(){t.forEach(zP),t.forEach((e=>this.localTracks.delete(e)))}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=Jb({},n.subscribeState),s=Object.assign(new GM,a);s.mediaType|=e,HO.emit(jO.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?yG.call(this,e):TG.call(this,e)))),HO.emit(jO.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return iw(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType;if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r});for(let e of t)e.unsubscribe();HO.emit(jO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return iw(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield RG.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};ew([fU(DG.prototype.afterJoin),kP(["left",LP.INIT],"joined"),_U((e=>{let t=new Sj;return function(r,i,o){return iw(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new hw({code:dw.INVALID_OPERATION,message:aL({key:rL.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new hw({code:dw.INVALID_OPERATION,message:aL({key:rL.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),HO.emit(jO.JOIN_START,{room:this,roomId:n,params:r});let a=gw.getEnv();a||(a=Fw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Qw.OLD_CLOUD_LADDER)?a=Fw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Qw.WEBRTC)&&(a=Fw.WEBRTC))),KP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),JO.checkSystemRequirementsInternal(o).then((e=>{this.checkSystemResult=e,Rj.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!gw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=gw.performanceNow(),HO.emit(jO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&KP.uploadEvent({log:"stat-conv-".concat(Number(IO),"-").concat(location.hostname),userId:this.userId}),t}catch(tM){throw t.delete({room:this,roomId:n}),HO.emit(jO.JOIN_FAILED,{room:this,error:tM}),tM}}))}}))],DG.prototype,"join",1),ew([kP("joined","left",{ignoreError:!0}),_U((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return iw(this,null,(function*(){HO.emit(jO.LEAVE_START,{room:this}),yield e.call(this,...r),HO.emit(jO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],DG.prototype,"leave",1),ew([IU(),_U((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return iw(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;HO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map((e=>e.publish(this,t))))}))}))],DG.prototype,"publish",1),ew([IU(),_U((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],DG.prototype,"unpublish",1),ew([function(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=TU.get(this)||new Map,a=i.get(n(t))||new vU;return i.set(n(t),a),TU.set(this,i),a.push({fn:o,args:t,context:this})},i}}((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),_U((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],DG.prototype,"subscribe",1);var NG=DG;return Ij.frameWorkType=37,Ij.create=function(e){let t=Ij._create.call(this,NG,e);return t._use(AH,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(zj.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",yw,"created",zj),t},Object.assign(Ij.prototype,{_setCurrentSpeaker(e){let t=kx();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return iw(this,null,(function*(){return this.startPlugin(AH.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.640028",hardwareAcceleration:"prefer-software",optimizeForLatency:!0},fallback:"wasm"}),new Promise(((t,r)=>{PU(fV(e,"decode-downgrade-state-changed"),LV((e=>"STARTED"===e.state)),xV(1),BF(1e4),UV(fV(e,LP.INIT)),VF(t,r))}))}))}}),_P(37),Ij}));