aliyun-rtc-sdk 6.12.0-beta.2 → 6.12.0-beta.3

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.
@@ -1,7 +1,7 @@
1
1
  var cu=Object.defineProperty,uu=Object.defineProperties;var hu=Object.getOwnPropertyDescriptors;var er=Object.getOwnPropertySymbols,du=Object.getPrototypeOf,qa=Object.prototype.hasOwnProperty,Ga=Object.prototype.propertyIsEnumerable,lu=Reflect.get;var Bs=(ue,me,xe)=>me in ue?cu(ue,me,{enumerable:!0,configurable:!0,writable:!0,value:xe}):ue[me]=xe,be=(ue,me)=>{for(var xe in me||(me={}))qa.call(me,xe)&&Bs(ue,xe,me[xe]);if(er)for(var xe of er(me))Ga.call(me,xe)&&Bs(ue,xe,me[xe]);return ue},It=(ue,me)=>uu(ue,hu(me));var Ti=(ue,me)=>{var xe={};for(var Je in ue)qa.call(ue,Je)&&me.indexOf(Je)<0&&(xe[Je]=ue[Je]);if(ue!=null&&er)for(var Je of er(ue))me.indexOf(Je)<0&&Ga.call(ue,Je)&&(xe[Je]=ue[Je]);return xe};var _=(ue,me,xe)=>(Bs(ue,typeof me!="symbol"?me+"":me,xe),xe);var Ls=(ue,me,xe)=>lu(du(ue),xe,me);var V=(ue,me,xe)=>new Promise((Je,Tt)=>{var ot=Xe=>{try{tt(xe.next(Xe))}catch(pt){Tt(pt)}},ft=Xe=>{try{tt(xe.throw(Xe))}catch(pt){Tt(pt)}},tt=Xe=>Xe.done?Je(Xe.value):Promise.resolve(Xe.value).then(ot,ft);tt((xe=xe.apply(ue,me)).next())}),tr=function(ue,me){this[0]=ue,this[1]=me},Ja=(ue,me,xe)=>{var Je=(ft,tt,Xe,pt)=>{try{var $e=xe[ft](tt),ri=(tt=$e.value)instanceof tr,fi=$e.done;Promise.resolve(ri?tt[0]:tt).then(mt=>ri?Je(ft==="return"?ft:"next",tt[1]?{done:mt.done,value:mt.value}:mt,Xe,pt):Xe({value:mt,done:fi})).catch(mt=>Je("throw",mt,Xe,pt))}catch(mt){pt(mt)}},Tt=ft=>ot[ft]=tt=>new Promise((Xe,pt)=>Je(ft,tt,Xe,pt)),ot={};return xe=xe.apply(ue,me),ot[Symbol.asyncIterator]=()=>ot,Tt("next"),Tt("throw"),Tt("return"),ot};(function(ue,me){typeof exports=="object"&&typeof module!="undefined"?me(exports,require("aliyun-rts-sdk"),require("eventemitter3")):typeof define=="function"&&define.amd?define(["exports","aliyun-rts-sdk","eventemitter3"],me):(ue=typeof globalThis!="undefined"?globalThis:ue||self,me(ue.AliRtcEngine={},ue.AliyunRts,ue.EventEmitter))})(this,function(ue,me,xe){var rt,Mt,Ft,st,ti,fe,Ha;"use strict";var Je=Object.defineProperty,Tt=(s,c,e)=>c in s?Je(s,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[c]=e,ot=(s,c,e)=>(Tt(s,typeof c!="symbol"?c+"":c,e),e),ft={exports:{}},tt={exports:{}},Xe,pt;function $e(){if(pt)return Xe;pt=1,Date.now=Date.now||function(){return new Date().getTime()};var s=Date.now(),c=function(){},e=function(){var i=typeof console=="object"?console.warn:c;try{var r={warn:i};r.warn.call(r)}catch(n){return c}return i},t={noop:c,warn:e(),key:"__bl",selfErrKey:"ARMS_SDK_ERROR",selfErrPage:"ARMSSDK",win:typeof window=="object"&&window.document?window:void 0,regionMap:{cn:"https://arms-retcode.aliyuncs.com/r.png?",sg:"https://arms-retcode-sg.aliyuncs.com/r.png?",sg_2:"https://retcode-sg-lazada.arms.aliyuncs.com/r.png?",daily:"http://arms-retcode-daily.alibaba.net/r.png?",daily_2:"https://arms-retcode-daily.alibaba.net/r.png?",daily_3:"http://arms-retcode-daily.aliyun.test/r.png?",us:"https://retcode-us-west-1.arms.aliyuncs.com/r.png?",tw:"https://arms-retcode.orientalgame.com.tw/r.png?",tw_sg:"https://arms-retcode-sg.orientalgame.com.tw/r.png?",hz_finance:"https://arms-retcode-hz-finance.aliyuncs.com/r.png?"},defaultImgUrl:"https://arms-retcode.aliyuncs.com/r.png?",createObject:function(i){if(Object.create)return Object.create(i);var r=function(){};return r.prototype=i,new r},each:function(i,r){var n=0,a=i.length;if(this.T(i,"Array"))for(;n<a&&r.call(i[n],i[n],n)!==!1;n++);else for(n in i)if(r.call(i[n],i[n],n)===!1)break;return i},safetyCall:function(i,r,n){if(typeof i!="function")return n;try{return i.apply(this,r)}catch(a){return n}},T:function(i,r){var n=Object.prototype.toString.call(i).substring(8).replace("]","");return r?n===r:n},duration:function(){var i=Date;try{performance&&this.T(performance.now,"Function")&&(i=performance)}catch(n){i=Date}var r=i.now();return function(){return Math.round(i.now()-r)}},filterByRule:function(){var i=[].slice.call(arguments),r=i.length;if(r<2)return i[0];var n=i[r-1],a=i[0];if(!a)return"";if(!n)return a;var o=this,u=o.T(n),h=i.slice(0,r-1);return u==="Function"?o.safetyCall(n,h,a):u==="Array"?(this.each(n,function(g){h[0]=a=o.filterByRule.apply(o,[].concat(h,g))}),a):u==="Object"?a.replace(n.rule,n.target||""):a.replace(n,"")},ignoreByRule:function(i,r){if(!i||!r)return!1;if((this.isString(r)||r.source||this.T(r)==="Function")&&(r=[r]),!this.isArray(r))return this.warn("[arms] invalid rules of ignore config, (list of) String/RegExp/Funcitons are available"),!1;for(var n,a=[],o=0,u=r.length;o<u;o++)if(n=r[o],this.isString(n))a.push(n.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"));else if(n&&n.source)a.push(n.source);else if(n&&this.T(n)==="Function"&&this.safetyCall(n,[i],!1)===!0)return!0;var h=new RegExp(a.join("|"),"i");return!!(a.length&&h.test&&h.test(i))},J:function(i){if(!i||typeof i!="string")return i;var r=null;try{r=JSON.parse(i)}catch(n){}return r},pick:function(i){return i===1||Math.ceil(Math.random()*i)===1},verifyConfig:function(i){if("sample"in i){var r=i.sample,n=r;r&&/^\d+(\.\d+)?%$/.test(r)&&(n=parseInt(100/parseFloat(r))),0<n&&1>n&&(n=parseInt(1/n)),n>=1&&n<=100?i.sample=n:delete i.sample}return i},on:function(i,r,n,a,o){return i.addEventListener?(o=o||!1,i.addEventListener(r,function u(h){a&&i.removeEventListener(r,u,o),n.call(this,h)},o)):i.attachEvent&&i.attachEvent("on"+r,function u(h){a&&i.detachEvent("on"+r,u),n.call(this,h)}),this},off:function(i,r,n){return n?(i.removeEventListener?i.removeEventListener(r,n):i.detachEvent&&i.detachEvent(r,n),this):this},delay:function(i,r){return r===-1?(i(),null):setTimeout(i,r||0)},ext:function(i){for(var r=1,n=arguments.length;r<n;r++){var a=arguments[r];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])}return i},sub:function(i,r){var n={};return this.each(i,function(a,o){r.indexOf(o)!==-1&&(n[o]=a)}),n},uu:function(){for(var i,r,n=20,a=new Array(n),o=Date.now().toString(36).split("");n-- >0;)r=(i=36*Math.random()|0).toString(36),a[n]=i%3?r:r.toUpperCase();for(var u=0;u<8;u++)a.splice(3*u+2,0,o[u]);return a.join("")},guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var r=16*Math.random()|0;return(i==="x"?r:3&r|8).toString(16)})},seq:function(){return(s++).toString(36)},decode:function(i){try{i=decodeURIComponent(i)}catch(r){}return i},encode:function(i,r){try{i=r?encodeURIComponent(i).replace(/\(/g,"%28").replace(/\)/g,"%29"):encodeURIComponent(i)}catch(n){}return i},serialize:function(i){i=i||{};var r=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&i[n]!==void 0&&r.push(n+"="+this.encode(i[n],n==="msg"));return r.join("&")},checkAPI:function(i,r){if(!i||typeof i!="string")return!1;var n=/arms-retcode[\w-]*\.aliyuncs/.test(i);return!n&&r&&(n=/(alicdn\.com)|(mmstat\.com)/.test(i)),!n},checkAutoError:function(i){return!(!i||!i.message)&&!/failed[\w\s]+fetch/i.test(i.message)},cutUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/^(https?:)?\/\//,"").replace(/\?.*$/,""):""},removeUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/\?.*$/,""):""},createFakeToString:function(i){return function(){return i+"() { [native code] }"}},checkSameOrigin:function(i,r){if(!r||!i)return!1;var n="//"+r.split("/")[2];return i===r||i.slice(0,r.length+1)===r+"/"||i===n||i.slice(0,n.length+1)===n+"/"||!/^(\/\/|http:|https:).*/.test(i)},getRandIP:function(){for(var i=[],r=0;r<4;r++){var n=Math.floor(256*Math.random());i[r]=(n>15?"":"0")+n.toString(16)}return i.join("").replace(/^0/,"1")},getSortNum:function(i){return i?(i+=1)>=1e3&&i<=9999?i:i<1e3?i+1e3:i%1e4+1e3:1e3},getRandNum:function(i){return i&&typeof i=="string"?i.length<5?this.getNum(5):i.substring(i.length-5):this.getNum(5)},getNum:function(i){for(var r=[],n=0;n<i;n++){var a=Math.floor(16*Math.random());r[n]=a.toString(16)}return r.join("")},getCurDomain:function(){return location&&location.hostname||""},getSrcType:function(i,r){var n=location&&location.host||"";if(!n)return"";var a=new URL(i).host;if(a===n)return"self";for(var o=0;o<r.length;o+=1)if(a.includes(r[o]))return"cdn";return"others"},parseFetchHeaders:function(i){if(!i)return{};var r={};try{if(typeof i.keys=="function")for(var n=i.keys(),a=n.next();!a.done;){var o=a.value;r[o]=i.get(o),a=n.next()}else r=i}catch(u){r={}}return r},parseXhrHeaders:function(i){if(!i&&typeof i!="string")return{};var r={};try{var n=i.split(`\r
2
2
  `);r=n.reduce(function(a,o){var u=o.split(": ");return a[u[0]]=u[1],a},{})}catch(a){r={}}return r},getQuerys:function(i){if(!i)return"";var r={},n=[],a="",o="";try{var u=[];if(i.indexOf("?")>=0&&(u=i.substring(i.indexOf("?")+1,i.length).split("&")),u.length>0)for(var h in u)a=(n=u[h].split("="))[0],o=n[1],r[a]=o}catch(g){r={}}return r},getURL:function(i){if(!i)return null;var r={},n=i.length,a=i.indexOf("://");if(a<0)return null;r.protocol=i.substring(0,a+1);var o=i.indexOf("#"),u=i.indexOf("?");o<0&&(o=n),u<0&&(u=o),r.search=i.substring(u,o).substring(0,1e3);var h=i.substring(a+3,u),g=h.indexOf("/");return g<0&&(g=h.length),r.domain=h.substring(0,g).split(":")[0],r.path=h.substring(g,h.length).substring(0,1e3),r},getResType:function(i,r){if(["script","img","other"].indexOf(i)>-1)return i;if(["video"].indexOf(i)>-1)return"media";if(["document","iframe"].indexOf(i)>-1)return"doc";var n=r?this.getURL(r):null,a=n&&n.path?n.path.lastIndexOf("."):-1,o=(a>0?n.path.substr(a+1):"").toLowerCase();if(o){if(["eot","woff","woff2","ttf"].indexOf(o)>-1)return"font";if(o==="css")return"css";if(o==="js")return"script"}return["fetch","xmlhttprequest","beacon"].indexOf(i)>-1?"api":"others"},areInOrder:function(){for(var i=1;i<arguments.length;i+=1)if(arguments[i-1]>arguments[i])return!1;return!0},getFetchSnapshot:function(i,r,n){var a,o;try{var u=(i&&typeof i[0]!="string"?i[0].url:i[0])||"",h=(i&&typeof i[0]!="string"?i[0]:i[1])||{},g=h.method.toUpperCase()==="POST"?h.body:this.getQuerys(u);a={originApi:u,method:h.method||"unknown",params:g,response:r||"",reqHeaders:this.parseFetchHeaders(h.headers||null),resHeaders:this.parseFetchHeaders(n)},o=JSON&&JSON.stringify(a)||"{}"}catch(f){o="{}"}return o},getXhrSnapshot:function(i,r,n){if(!i||!r||!n)return{};var a,o;try{var u="";n.responseType===""||n.responseType==="text"?u=n.responseText:n.responseType==="document"&&(u=n.responseXML),a={originApi:i,method:r,params:this.getQuerys(i),response:u,reqHeaders:{},resHeaders:this.parseXhrHeaders(typeof n.getAllResponseHeaders=="function"&&n.getAllResponseHeaders()||"")},o=JSON&&JSON.stringify(a)||"{}"}catch(h){o="{}"}return o},isRobot:function(){var i=["nuhk","googlebot/","googlebot-image","yammybot","openbot","slurp","msnbot","ask jeeves/teoma","ia_archiver","baiduspider","bingbot/","adsbot"];if(!navigator||typeof navigator.userAgent!="string")return!1;try{for(var r=navigator.userAgent.toLowerCase(),n=0;n<i.length;n++){var a=i[n];if(r.lastIndexOf(a)>=0)return!0}}catch(o){this.warn("[arms] useragent parse error")}return!1},isFunction:function(i){return typeof i=="function"},isPlainObject:function(i){return Object.prototype.toString.call(i)==="[object Object]"},isString:function(i){return Object.prototype.toString.call(i)==="[object String]"},isArray:function(i){return Object.prototype.toString.call(i)==="[object Array]"},joinRegExp:function(i){for(var r,n=[],a=0,o=i.length;a<o;a++)r=i[a],this.isString(r)?n.push(r.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):r&&r.source&&n.push(r.source);return new RegExp(n.join("|"),"i")},reWriteMethod:function(i,r,n){if(i!==null){var a=i[r];i[r]=n(a)}},checkSDKError:function(i,r){return!i&&!r?!1:new RegExp(this.selfErrKey,"i").test(i)?!0:!!this.ignoreByRule(r,[/retcode.alicdn.com\/retcode\/bl.js/,/g.alicdn.com\/retcode\/cloud-sdk\/bl.js/,/laz-g-cdn.alicdn.com\/retcode\/cloud-sdk\/bl.js/,/local.taobao.com:8880\/build\/bl/])},sdkError:function(i){return{msg:i,message:this.selfErrKey}},dealParam:function(i,r,n){var a={};try{a=this.isPlainObject(i)?this.ext({key:i.key||"default",val:i.val||i.value||n},i,{begin:Date.now()}):{key:i||"default",val:r||n,begin:Date.now()}}catch(o){this.warn("[retcode] baseLog error: "+o)}return a}};return Xe=t,Xe}var ri={exports:{}},fi={exports:{}},mt,Ns;function Xa(){if(Ns)return mt;Ns=1;var s=$e();return mt=function(c,e,t){typeof c=="object"&&(c=s.serialize(c));var i=e+c+(t?"&post_res=":"");window&&window.navigator&&typeof window.navigator.sendBeacon=="function"?window.navigator.sendBeacon(i,t||"&post_res="):s.warn("[arms] navigator.sendBeacon not surported")},mt}var Ms;function Za(){if(Ms)return fi.exports;Ms=1;var s=$e(),c=Xa(),e="aokcdqn3ly@e629dabd48a9933",t=function(r,n){var a;if(n.t==="error"&&(a=r.requestQueue[0])&&a.t==="error"&&n.msg===a.msg)return n.times=a.times+1,void(r.requestQueue[0]=n);if(n.t==="behavior"){var o=r.requestQueue&&r.requestQueue.length;if(o>0&&r.requestQueue[o-1].t==="behavior"){var u=n.behavior||[];r.requestQueue[o-1].behavior.concat(u)}else r.requestQueue.push(n)}else r.requestQueue.unshift(n);return r.onReady(function(){r.requestTimmer=s.delay(function(){r.clear()},r.requestQueue[0]&&r.requestQueue[0].t==="error"?3e3:-1)}),!0},i=function(r){return this.ver="1.8.36-beta.12",this._conf=s.ext({},i.dftCon),this.sampleCache={},this.requestQueue=[],this.selfQueue=[],this.sdkFlag=!0,this.hash=s.seq(),this.resetPageview(),this.setConfig(r),this.rip=s.getRandIP(),this.record=999,this["EagleEye-TraceID"]=this.getTraceId()["EagleEye-TraceID"],this._common={},this};return i.dftCon={sample:1,pvSample:1,tag:"",imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",region:null,ignore:{ignoreUrls:[],ignoreApis:[],ignoreErrors:[/^Script error\.?$/],ignoreResErrors:[],ignoreResources:[/\/(bl|wl)(.debug)?.js$/]},release:void 0,environment:"prod",beforeReport:null,parseTraceId:null},i.prototype={constructor:i,onReady:function(r){return r()},getPage:function(){var r=this._conf.page;return s.safetyCall(r,[],r+"")},setPage:function(){},setConfig:function(r){r&&typeof r=="object"&&(s.verifyConfig(r),r=this.setImgUrl(r),this._conf=s.ext({},this._conf,r))},setImgUrl:function(r){var n=r.region,a=r.imgUrl;if(n){var o=s.regionMap[n];return r.imgUrl=o||s.defaultImgUrl,r}return a&&(r.imgUrl=a),r},checkImgUrl:function(){return!0},sendRequest:function(){},sendBeacon:function(r,n,a){c(r,n||this.getConfig("imgUrl"),a)},postData:function(){},commonInfo:function(){return{}},setCommonInfo:function(r){r&&typeof r=="object"&&(this._common=s.ext({},this._common,r))},resetPageview:function(){this.pageview=s.uu(),this.sBegin=Date.now()},getUsername:function(){if(this.username)return this.username;var r=this._conf,n=r&&r.setUsername;if(typeof n=="function")try{var a=n();typeof a=="string"&&(a=a.substr(0,40),this.username=a)}catch(o){s.warn("[arms] setUsername fail",o)}return this.username},getTraceId:function(){var r=this.rip,n=Date.now(),a=s.getSortNum(this.record),o=r+n+a+s.getRandNum(this._conf.pid);return this["EagleEye-TraceID"]=o,this.record=a,{"EagleEye-TraceID":o}},getUberTraceId:function(r){var n=this.rip,a=Date.now(),o=s.getSortNum(this.record),u=s.getRandNum(this._conf.pid),h=n+a+o+s.getNum(2)+u,g=h.substring(0,16);return r=r?"1":"0",h[0]==="0"&&(h[0]="1"),h[16]==="0"&&(h[16]="1"),{"uber-trace-id":h+":"+g+":0:"+r,traceId:h}},getB3TraceId:function(r){var n=this.rip,a=Date.now(),o=s.getSortNum(this.record),u=s.getRandNum(this._conf.pid),h=n+a+o+s.getNum(2)+u,g=h.substring(0,16);return r=r?"1":"0",h[0]==="0"&&(h[0]="1"),h[16]==="0"&&(h[16]="1"),{b3:h+"-"+g+"-"+r+"-0","X-B3-TraceId":h,"X-B3-ParentSpanId":"0","X-B3-SpanId":g,"X-B3-Sampled":r}},getPageviewId:function(){return{"EagleEye-SessionID":this.pageview}},getConfig:function(r){return r?this._conf[r]:s.ext({},this._conf)},sampling:function(r){return r===1||(typeof this.sampleCache[r]=="boolean"?this.sampleCache[r]:(this.sampleCache[r]=s.pick(r),this.sampleCache[r]))},clear:function(r){var n;clearTimeout(this.requestTimmer),this.requestTimmer=null;for(var a=this._conf&&typeof this._conf.sendRequest=="function";n=this.requestQueue.pop();)if(n.t==="res")this.postData(n,"res");else if(n.t==="error")this.postData(n,"err");else if(n.t==="api")this.postData(n,"apiSnapshot");else if(n.t==="behavior")this.postData(n,"behavior");else if(n.t==="health"&&!a&&window&&window.navigator&&typeof window.navigator.sendBeacon=="function")this.sendBeacon(n);else if(n.t==="resource"&&!a&&window&&window.navigator&&typeof window.navigator.sendBeacon=="function"){var o=JSON.stringify({resource:n.resource});delete n.resource,this.sendBeacon(n,null,o)}else n.t==="resource"?this.postData(n,"resource"):this.sendRequest(n);return r&&this.clearSelf(),this},clearSelf:function(){var r;for(clearTimeout(this.Timmer),this.Timmer=null;r=this.selfQueue.pop();)this.postData(r,"err");return this},_lg:function(r,n,a,o){var u=this,h=u._conf,g=u.getPage(),f=h.ignore||{},l=f.ignoreErrors,p=f.ignoreResErrors,d=f.ignoreUrls,m=f.ignoreApis;if(u._isRobot||s.ignoreByRule(g,d)||s.ignoreByRule(s.decode(g),d)||r==="error"&&(s.ignoreByRule(n.msg,l)||s.ignoreByRule(s.decode(n.msg),l))||r==="resourceError"&&(s.ignoreByRule(n.src,p)||s.ignoreByRule(s.decode(n.src),p))||r==="api"&&(s.ignoreByRule(n.api,m)||s.ignoreByRule(s.decode(n.api),m))||!u.checkImgUrl(h.imgUrl)||!n||h.disabled||!h.pid||o===0)return u;var b=n.dl;if(delete n.dl,n=s.ext({t:r,times:1,page:g,tag:h.tag||"",release:h.release||"",environment:h.environment,begin:Date.now(),c1:h.c1,c2:h.c2,c3:h.c3},n,u.commonInfo(),u._common,{pid:h.pid,_v:u.ver,pv_id:u.pageview,username:u.getUsername(),sampling:a||1,dl:b,z:s.seq()}),s.T(h.beforeReport)==="Function")try{if(!(n=h.beforeReport(n)))return u}catch(v){return u}return o===1?t(u,n):a&&!u.sampling(a)?u:t(u,n)},_self:function(r,n,a){var o=this,u=o._conf;if(r!=="error"||!o.checkImgUrl(u.imgUrl)||!n||u.disabled||!u.pid||!e||a&&!o.sampling(a))return o;n=s.ext({t:r,times:1,page:s.selfErrPage,tag:u.pid,begin:Date.now()},n,{pid:e,_v:o.ver,sampling:a||1,z:s.seq()});var h=o.selfQueue[0];if(h){h.times++;try{h.err&&n.err&&h.err.msg_raw&&n.err.msg_raw&&h.err.msg_raw.split("&").indexOf(n.err.msg_raw)<0&&h.err.msg_raw.length<1e3&&(h.err.msg_raw+="&"+n.err.msg_raw)}catch(g){}}else o.selfQueue.unshift(n),o.onReady(function(){o.sdkFlag&&(o.sdkFlag=!1,o.Timmer=s.delay(function(){o.clearSelf()},1e4))})},custom:function(r,n){if(!r||typeof r!="object")return this;var a=!1,o={begin:Date.now()};return s.each(r,function(u,h){return!(a=h&&h.length<=20)&&s.warn("[retcode] invalid key: "+h),o["x-"+h]=u,a}),a?this._lg("custom",o,n||1):this}},fi.exports=i,fi.exports}var Fs;function Ya(){if(Fs)return ri.exports;Fs=1;var s=$e(),c=Za(),e=["api","success","time","code","msg","trace","traceId","begin","pv_id","sid","seq","domain","flag","apiSnapshot","tag","c1","c2","c3"],t=function(r){var n=(r.key||"default").split("::");return n.length>1?s.ext(r,{group:n[0],key:n[1]}):s.ext(r,{group:"default_group",key:n[0]})},i=function(r){c.call(this,r);var n;try{n=typeof performance=="object"?performance.timing.fetchStart:Date.now()}catch(a){n=Date.now()}return this._startTime=n,this};return i.prototype=s.createObject(c.prototype),s.ext(c.dftCon,{startTime:null}),s.ext(i.prototype,{constructor:i,_super:c,sum:function(r,n,a){try{var o=s.dealParam(r,n,1);return this._lg("sum",t(o),a)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},avg:function(r,n,a){try{var o=s.dealParam(r,n,0);return this._lg("avg",t(o),a)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},percent:function(r,n,a,o){try{return this._lg("percent",t({key:r,subkey:n,val:a||0,begin:Date.now()}),o)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},msg:function(r,n){if(r&&!(r.length>180))return this.custom({msg:r},n)},error:function(r,n){if(!r)return s.warn("[retcode] invalid param e: "+r),this;arguments.length===1?(typeof r=="string"&&(r={message:r},n={}),typeof r=="object"&&(n=r=r.error||r)):(typeof r=="string"&&(r={message:r}),typeof n!="object"&&(n={}));var a=r.name||"CustomError",o=r.message||"",u=r.stack||"";n=n||{};var h=typeof location=="object"&&typeof location.href=="string"&&location.href.substring(0,500)||"";if(s.checkSDKError(o,n.filename)){var g=/^Script error\.?$/,f=r.msg||r.message;if(s.ignoreByRule(f,g)||s.ignoreByRule(s.decode(f),g))return this;var l={msg:s.selfErrKey,err:{msg_raw:s.encode(r.msg||r.message)}};return this._self("error",l,1)}for(var p={begin:Date.now(),cate:a,msg:o&&o.substring(0,1e3),stack:u&&u.substring(0,1e3),file:s.removeUrlSearch(n.filename||""),line:n.lineno||"",col:n.colno||"",err:{msg_raw:s.encode(o),stack_raw:s.encode(u)},dl:h},d=["tag","c1","c2","c3"],m=0;m<d.length;m++){var b=d[m];n[b]&&(p[b]=n[b])}var v=(this.getConfig("ignore")||{}).ignoreErrors;return s.ignoreByRule(p.msg,v)||s.ignoreByRule(s.decode(p.msg),v)?this:(this.beforeSend&&this.beforeSend("error",p),this._lg("error",p,1))},behavior:function(r){if(r){var n=typeof r=="object"&&r.behavior?r:{behavior:r};return this.beforeSend&&this.beforeSend("behavior",n),this._lg("behavior",n,1)}},api:function(r,n,a,o,u,h,g,f,l,p,d,m,b,v,x,A){if(!r)return s.warn("[retcode] api is null"),this;if(r=typeof r=="string"?{api:r,success:n,time:a,code:o,msg:u,begin:h,traceId:g,pv_id:f,apiSnapshot:l,domain:p,flag:m,tag:b,c1:v,c2:x,c3:A}:s.sub(r,e),!s.checkAPI(r.api,!0))return this;r.code=r.code||"";var E=r.msg||"";if(E=typeof E=="string"?E.substring(0,1e3):E,r.msg=E,r.success=r.success?1:0,r.time=+r.time,r.begin=r.begin,r.traceId=r.traceId||"",r.pv_id=r.pv_id||"",r.domain=r.domain||"",r.flag=r.flag,r.dl=typeof location=="object"&&typeof location.href=="string"&&location.href.substring(0,500)||"",r.apiSnapshot&&(typeof r.apiSnapshot=="object"&&(r.apiSnapshot=JSON.stringify(r.apiSnapshot)),typeof r.apiSnapshot!="string"&&delete r.apiSnapshot,r.apiSnapshot.length>2e3&&(r.apiSnapshot=r.apiSnapshot.substring(0,2e3))),d&&(r.traceOrigin=d),!r.api||isNaN(r.time))return s.warn("[retcode] invalid time or api"),this;var I=(this.getConfig("ignore")||{}).ignoreApis;return s.ignoreByRule(r.api,I)||s.ignoreByRule(s.decode(r.api),I)?this:r.time<0?this:(this.beforeSend&&this.beforeSend("api",r),this._lg("api",r,r.success&&this.getConfig("sample"),r.flag))},speed:function(r,n,a){var o=this,u=this.getConfig("startTime")||this._startTime;return/^s(\d|1[0])$/.test(r)?(n=typeof n!="number"?Date.now()-u:n>=u?n-u:n,o.speedCache=o.speedCache||{},o.speedCache[r]=n,o.speedCache.begin=u,clearTimeout(o.speedTimmer),o.speedTimmer=setTimeout(function(){a||(o.speedCache.page=o.getPage(!0)),o._lg("speed",o.speedCache),o.speedCache=null},5e3),o):(s.warn("[retcode] invalid point: "+r),o)},performance:function(r){if(r&&typeof r=="object"&&!this.hasSendPerf){var n={},a={},o=this.getConfig("autoSendPerf");if(r.autoSend&&o)return a=s.ext(this.perfData||{},r),this.hasSendPerf=!0,this._lg("perf",a,this.getConfig("sample"));if(r.autoSend&&!o)return delete r.autoSend,this.perfData?(a=s.ext(this.perfData||{},r),this.hasSendPerf=!0,this._lg("perf",a,this.getConfig("sample"))):void(this.perfData=r);for(var u in r)(/^t([1-9]|1[0])$/.test(u)||u==="ctti"||u==="cfpt")&&(n[u]=r[u]);if(r.autoSend===!0||!o&&(o||this.perfData))return r.autoSend!==!0&&o===!1&&this.perfData?(n=s.ext(this.perfData||{},n),this.hasSendPerf=!0,this._lg("perf",n,this.getConfig("sample"))):void 0;this.perfData=s.ext(this.perfData||{},n)}},resource:function(r,n){if(!r||!s.isPlainObject(r))return s.warn("[arms] invalid param data: "+r),this;var a=Object.keys(r),o=["begin","dom","load","res","dl"],u=!1;for(var h in o)if(a.indexOf(o[h])<0){u=!0;break}if(u)return s.warn("[arms] lack param data: "+r),this;var g={begin:r.begin||Date.now(),dom:r.dom||"",load:r.load||"",res:s.isArray(r.res)?JSON.stringify(r.res):JSON.stringify([]),dl:r.dl||""};return this._lg("res",g,n)},event:function(r,n){if(typeof r=="object"&&r&&r.key){var a={},o=["key","success","time","c1","c2","c3"];for(var u in r)o.indexOf(u)>-1&&(a[u]=r[u]);a.success=r.success===!1?0:1,this._lg("event",a,n)}}}),i._super=c,i._root=c,c.Reporter=i,ri.exports=i,ri.exports}var ir={exports:{}},Os;function Qa(){if(Os)return ir.exports;Os=1;var s=$e(),c=typeof window=="object"?window:{},e="catch",t=c.__oFetch_||c.fetch;return t=typeof t=="function"?t:void 0,ir.exports=function(i,r){var n=-1;typeof i=="object"&&(n=i.z,i=s.serialize(i));var a=r+i;if(t)return t(a,{method:"HEAD",mode:"no-cors"})[e](s.noop);if(c.document&&c.document.createElement){var o="__request_hold_"+n,u=c[o]=new Image;u.onload=u.onerror=function(){c[o]=void 0},u.src=a,u=null}},ir.exports}var rr={exports:{}},Vs;function eo(){if(Vs)return rr.exports;Vs=1;var s=$e(),c=typeof window=="object"?window:{},e=c.__oXMLHttpRequest_||c.XMLHttpRequest;return e=typeof e=="function"?e:void 0,rr.exports=function(t,i){try{var r=new e;r.open("POST",i,!0),r.setRequestHeader("Content-Type","text/plain"),r.send(JSON.stringify(t))}catch(n){s.warn(`[retcode] Failed to log, exception is :
3
3
  `+n)}},rr.exports}var sr,Us;function to(){if(Us)return sr;Us=1;var s=$e();return sr=function(c,e){var t=[],i=null,r=e&&e.location&&e.location.href,n=void 0,a=null,o=function(f,l,p){if(f!==null){var d=f[l];f[l]=p(d)}},u=function(f){var l,p,d,m,b,v=[];if(!f||typeof f.tagName!="string")return"";if(v.push(f.tagName.toLowerCase()),typeof f.id=="string"&&v.push("#".concat(f.id)),typeof(l=f.className)=="string")for(p=l.split(/\s+/),b=0;b<p.length;b++)v.push(".".concat(p[b]));var x=["type","name","title","alt","data-arms-attr"];for(b=0;b<x.length;b++)d=x[b],typeof(m=f.getAttribute(d))=="string"&&v.push("[".concat(d,'="').concat(m,'"]'));return v.join("")},h=function(f,l){return function(p){if(p&&p!==a){a=p;var d;try{d=p.target}catch(b){d="<unknown>"}if(d.length!==0){var m={type:"ui.".concat(f),data:{message:function(b){if(!b||b.nodeType!==1)return"";for(var v=b||null,x=[],A=0,E=0,I=3,C="";v&&A++<5&&!((C=u(v))==="html"||A>1&&E+x.length*I+C.length>=80);)x.push(C),E+=C.length,v=v.parentNode;return x.reverse().join(" > ")}(d)},timestamp:Date.now()};f==="click"?i&&i.addBehavior(m):f==="keypress"&&(n||i&&i.addBehavior(m),clearTimeout(n),n=setTimeout(function(){n=void 0},100))}}}},g=function(){if(function(){var d=e&&e.chrome,m=d&&d.app&&d.app.runtime,b="history"in e&&!!e.history.pushState&&!!e.history.replaceState;return!m&&b}()){var f=function(d,m){var b={type:"navigation",data:{from:d,to:m}};i&&i.addBehavior(b),r=m},l=e.onpopstate;e.onpopstate=function(){for(var d=arguments.length,m=new Array(d),b=0;b<d;b++)m[b]=arguments[b];var v=e.location.href;if(f(r,v),l)return l.apply(this,m)};var p=function(d){return function(){for(var m=arguments.length,b=new Array(m),v=0;v<m;v++)b[v]=arguments[v];var x=b.length>2?b[2]:void 0;return x&&f(r,String(x)),d.apply(this,b)}};o(e.history,"pushState",p),o(e.history,"replaceState",p)}};s.ext(c.prototype,{addBehavior:function(f){if(this.getConfig("behavior")&&f&&typeof f=="object"){var l={},p=f.data||{};if(f.type)l=p;else{if(typeof p.name!="string"||typeof p.message!="string")return;l.name=p.name.substr(0,20),l.message=p.message.substr(0,200)}l.message&&(l.message=s.encode(l.message));var d={type:f.type||"custom",data:l||{},timestamp:f.timestamp||Date.now(),page:f.page||e&&e.location&&e.location.pathname};return t.push(d),t=t.slice(-100)}},getBehavior:function(){return t||[]},setBehavior:function(f){return f&&(t=f),t},reportBehavior:function(f){var l=this;l.getConfig("behavior")&&(l.sendBhTimer&&(clearTimeout(l.sendBhTimer),l.sendBhTimer=void 0),l.sendBhTimer=setTimeout(function(){t&&t.length>0&&(l.behavior(t),t=[],l.sendBhTimer=void 0,f&&typeof f=="function"&&f())},0))},initBehavior:function(){if(!this.hasInitBehavior&&!i){try{(function(){if(document&&document.referrer&&document.location){var l=document.referrer,p=document.location.href;if(l!==""){var d={type:"navigation",data:{from:l,to:p}};r=p,i&&i.addBehavior(d)}}})(),e&&e.document&&e.document.addEventListener&&(e.document.addEventListener("click",h("click"),!1),e.document.addEventListener("keypress",h("keypress"),!1)),g();var f=this.getConfig("enableConsole");f&&function(l){if(e&&e.console){var p=["debug","info","warn","log","error","assert"];s.isArray(l)&&(p=l);for(var d=0;d<p.length;d++){var m=p[d];m&&s.isString(m)&&e.console[m]&&typeof e.console[m]=="function"&&o(e.console,m,function(b){var v=m;return function(){for(var x=arguments.length,A=new Array(x),E=0;E<x;E++)A[E]=arguments[E];var I={type:"console",data:{level:v,message:A}};if(i&&i.addBehavior(I),v==="error")for(var C=0;C<A.length;C++){var R=A[C];R&&R.message&&R.stack&&i&&i.errorHandler(new ErrorEvent("error",{error:R,message:R.message}))}b&&Function.prototype.apply.call(b,e.console,A)}})}}}(f)}catch(l){s.warn("[arms] error in initBehavior",l)}i=this,this.hasInitBehavior=!0}return this}})},sr}var zs={},Hs;function nr(){return Hs||(Hs=1,zs.TIMING_KEYS=["startTime","fetchStart","domainLookupStart","domainLookupEnd","connectStart","connectEnd","requestStart","responseStart","responseEnd","","domInteractive","","domContentLoadedEventEnd","","loadEventStart","","msFirstPaint","secureConnectionStart","redirectStart","redirectEnd"]),zs}var ar,js;function io(){if(js)return ar;js=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return ar=function(){var t=s.win||{},i=t.performance;if(!i||typeof i!="object"||typeof i.getEntriesByType!="function")return null;var r={},n=i.timing||{},a=i.getEntriesByType("resource")||[];if(r.begin=n[e[1]]||Date.now(),typeof t.PerformanceNavigationTiming=="function"){var o=i.getEntriesByType("navigation")[0];o&&(n=o)}return s.each({dom:[10,8],load:[14,1]},function(u,h){var g=n[e[u[1]]],f=n[e[u[0]]];if(g>0&&f>0){var l=Math.round(f-g);l>=0&&l<6e5&&(r[h]=l)}}),r.res=JSON.stringify(a),r},ar}var or,Ws;function ro(){if(Ws)return or;Ws=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return or=function(){var t=s.win||{},i=t.performance;if(!i||typeof i!="object")return null;var r={},n=i.timing||{},a=Date.now(),o=1;if(typeof t.PerformanceNavigationTiming=="function"){var u=i.getEntriesByType("navigation")[0];u&&(n=u,o=2)}s.each({dns:[3,2],tcp:[5,4],ssl:[5,17],ttfb:[7,6],trans:[8,7],dom:[10,8],res:[14,12],firstbyte:[7,2],fpt:[8,1],tti:[10,1],ready:[12,1],load:[14,1]},function(p,d){var m=n[e[p[1]]],b=n[e[p[0]]];if(o===2||m>0&&b>0){var v=Math.round(b-m);v>=0&&v<6e5&&(r[d]=v)}});var h=t.navigator.connection,g=i.navigation||{};r.ct=h?h.effectiveType||h.type:"";var f=h&&(h.downlink||h.downlinkMax||h.bandwidth)||null;if((f=f>999?999:f)&&(r.bandwidth=f),r.navtype=g.type===1?"Reload":"Other",o===1&&n[e[16]]>0&&n[e[1]]>0){var l=n[e[16]]-n[e[1]];l>=0&&l<36e5&&(r.fpt=l)}return o===1&&n[e[1]]>0?r.begin=n[e[1]]:o===2&&r.load>0?r.begin=a-r.load:r.begin=a,r},or}var Ks,$s;function so(){return $s||($s=1,Ks=function(s,c,e){var t=$e(),i=io(),r=ro(),n=null,a=e.documentElement,o=c.innerWidth||a.clientWidth||e.body.clientWidth,u=c.innerHeight||a.clientHeight||e.body.clientHeight,h=c.navigator.connection,g={sr:screen.width+"x"+screen.height,vp:o+"x"+u,ct:h?h.effectiveType||h.type:""},f={},l=function(d,m,b,v,x){if(m===void 0){var A,E;if(!f[d]){A=new RegExp(d+"=([^;]+)");try{E=A.exec(e.cookie)}catch(C){return t.warn("[retcode] can not get cookie:",C),null}E&&(f[d]=E[1])}return f[d]}var I=d+"="+m;I+="; path=/",b&&(I+="; max-age="+b);try{return e.cookie=I,!!e.cookie}catch(C){return t.warn("[retcode] can not set cookie: ",C),!1}},p=function(d){var m=d._conf.uid||l("_nk_")||l("_bl_uid");return!m&&(m=t.uu(),!l("_bl_uid",m,15552e3))?null:m};return t.ext(s.prototype,{activeErrHandler:function(d){return n&&!d?this:(n=this,this)},errorHandler:function(d){if(!d)return this;var m=d.type;if(m==="error"){var b=d.target||d.srcElement;!b||!b.tagName||d.message||d.filename||d.lineno||d.colno?this.error(d.error||{message:d.message},d):this.resourceErrorHandler(d)}else m==="unhandledrejection"&&t.T(d.reason,"Error")&&t.checkAutoError(d.reason)&&this.error(d.reason);try{this.getConfig("behavior")&&this.reportBehavior&&this.reportBehavior()}catch(v){}return this},resourceErrorHandler:function(d){var m=this,b=d.target||d.srcElement;try{var v=m.getSrc(b),x=typeof b.tagName=="string"?b.tagName.toLowerCase():"",A=m.getXPath(b,5),E=t.getURL(v),I={src:v&&v.substring(0,1e3),node_name:x,xpath:A,res_type:t.getResType(x,v),res_name:E.path,domain:E.domain};return m._conf.enableResource&&m.fixResourceStatus&&d.timeStamp&&m.fixResourceStatus({src:v,node_name:x,res_type:t.getResType(x,v),timeStamp:d.timeStamp,domain:E.domain}),m._lg("resourceError",I),m}catch(C){return t.warn("[ARMS] resourceErrorHandler error :",C),m}},getSrc:function(d){var m=d.src||d.href;try{if(!m){var b=(typeof d.tagName=="string"?d.tagName.toLowerCase():"")==="object",v=d.getAttribute("classid")&&d.getAttribute("classid").toLowerCase()==="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"||d.getAttribute("type")==="application/x-shockwave-flash";b&&v&&(m=d.getAttribute("data")||d.getAttribute("codebase")),m||(m=d.outerHTML||d.innerHTML)}}catch(x){m=""}return m},getXPath:function(d,m){var b=d.id?"#"+d.id:"",v=typeof d.className=="string"?"."+d.className.split(" ").join("."):"",x=(typeof d.tagName=="string"?d.tagName.toLowerCase():"")+b+v;return d.parentNode&&d.parentNode.tagName&&m-1!=0?this.getXPath(d.parentNode,m-1)+" > "+x:x},sendPerformance:function(d){var m=this;m.onReady(function(){var b=r();b&&b.load&&b.load>0&&(b.page=m.getPage(!0),d&&(b=t.ext(b,d)),b.autoSend=!0,m.performance(b))})},sendResources:function(d){var m=this;m.onReady(function(){var b=i();b&&b.load&&b.load>0&&(b.load&&b.load<=2e3||b.load&&b.load<=8e3&&Math.random()>.05||(b.page=m.getPage(!0),b.dl=location.href,d&&(b=t.ext(b,d)),m._lg("res",b,m.getConfig("sample"))))})},sendPV:function(){var d=this;d.onReady(function(){var m=function(b){var v=p(b),x=c.devicePixelRatio||1;return{uid:v,dt:e.title,dl:location.href,dr:e.referrer,dpr:x.toFixed(2),de:(e.characterSet||e.defaultCharset||"").toLowerCase(),ul:a.lang,begin:Date.now()}}(d);m&&m.uid&&d._lg("pv",m,d.getConfig("pvSample"))})},commonInfo:function(){return g.uid=p(this),g.sid=function(d){if(d.session)return d.session;var m;try{if(typeof window=="object"&&typeof sessionStorage=="object"&&typeof sessionStorage.getItem=="function")return typeof(m=sessionStorage.getItem("_bl_sid"))=="string"?(d.session=m,m):(m=t.uu(),d.session=m,typeof sessionStorage.setItem=="function"&&sessionStorage.setItem("_bl_sid",m),m)}catch(b){t.warn("[ARMS] getSid error :",b)}return d.session=m=t.uu(),m}(this),g},handleUnload:function(d){var m=Date.now();if(m-this._lastUnload<200)return this;this._lastUnload=m,this.sendHealth(d),this.speedCache&&(this._lg("speed",this.speedCache),this.speedCache=null,clearTimeout(this.speedTimmer)),this._conf&&this._conf.enableResource&&this.resourceComboReport(),this.clear(!0)},bindHashChange:function(d){var m=this;if(!d^m.hashChangeHandler)return m;d?(m.hackHistoryState(),m.hashChangeHandler=function(b){var v=m._conf.parseHash(location.hash);v&&m.setPage(v,b!==!1)},m.stateChangeHandler=function(b){var v=m._conf.parseHash(b.detail);v&&m.setPage(v)},t.on(c,"hashchange",m.hashChangeHandler),t.on(c,"historystatechange",m.stateChangeHandler),m.hashChangeHandler(!1)):(t.off(c,"hashchange",m.hashChangeHandler),t.off(c,"historystatechange",m.stateChangeHandler),m.hashChangeHandler=null,m.stateChangeHandler=null)},initHandler:function(){var d=this;if(d.hasInitHandler)return d;var m=d._conf;return t.on(c,"beforeunload",function(){d.handleUnload(0)}),d.bindHashChange(m.enableSPA),d.activeErrHandler(!1),d.hasInitHandler=!0,d}}),t.on(c,"error",function(d){n&&n.errorHandler(d)},!1,!0).on(c,"unhandledrejection",function(d){n&&n.errorHandler(d)}),s}),Ks}var cr,qs;function no(){if(qs)return cr;qs=1;var s=$e(),c=500;return cr=function(e,t,i){function r(g,f,l){var p=0,d=g.tagName;if(d!=="SCRIPT"&&d!=="STYLE"&&d!=="META"&&d!=="HEAD"){var m=g.children?g.children.length:0;if(m>0)for(var b=g.children,v=m-1;v>=0;v--)p+=r(b[v],f+1,p>0);if(p<=0&&!l&&!(g.getBoundingClientRect&&g.getBoundingClientRect().top<a))return 0;p+=1+.5*f}return p}function n(g){for(var f=1;f<g.length;f++)if(g[f].score<g[f-1].score)return g.splice(f,1),n(g);return g}var a=t.innerHeight||0,o=[],u=null,h=0;s.ext(e.prototype,{initFmpObserver:function(g){var f=this;if(!f._conf||!f._conf.useFmp)return null;if(!t.MutationObserver)return s.warn("[retcode] first meaningful paint can not be retrieved"),f.sendPerformance(),null;s.on(t,"beforeunload",function(){f.endObserving(0,!0)});var l=t.MutationObserver;return(u=new l(function(){(function(p){var d=Date.now()-p,m=i.querySelector("body");if(m){var b=0;b+=r(m,1,!1),o.push({score:b,t:d})}else o.push({score:0,t:d})})(f._startTime)})).observe(document,{childList:!0,subtree:!0}),h=1,f.onReady(function(){f.endObserving(g)}),u},endObserving:function(g,f){var l=this;if(u&&h)if(l.fmpTimmer&&(clearTimeout(l.fmpTimmer),l.fmpTimmer=null),f||!function(b,v){var x=Date.now()-b;return!(x>v||x-(o&&o.length&&o[o.length-1].t||0)>2*c)}(l._startTime,g)){u.disconnect(),h=0,o=n(o);for(var p=null,d=1;d<o.length;d++)if(o[d].t>=o[d-1].t){var m=o[d].score-o[d-1].score;(!p||p.rate<=m)&&(p={t:o[d].t,rate:m})}p&&p.t>0&&p.t<36e5?l.sendPerformance({fmp:p.t}):l.sendPerformance()}else l.fmpTimmer=s.delay(function(){l.endObserving(g)},c)}})},cr}var Gs,Js;function ao(){return Js||(Js=1,Gs=function(s,c){var e=$e(),t=null,i=e.getCurDomain(),r=function(h,g,f,l,p,d,m,b,v,x,A,E,I){var C=e.J(p)||null,R=e.safetyCall(g,[C,l],null);if(!R)return!1;var L=R.code||d,T=!("success"in R)||R.success;h.api(f,T,m,L,R.msg,b,v,x,T?{}:A,i,E,I)},n="fetch",a="__oFetch_",o="__oXMLHttpRequest_",u="XMLHttpRequest";return e.ext(s.prototype,{removeHook:function(h,g){return t&&(g||this===t)?(c[a]&&(c[n]=c[a],delete c[a]),c[o]&&(c[u]=c[o],delete c[o]),t=null,this):this},addHook:function(h){return!h&&t?this:(t||(function(){if(typeof c[n]=="function"){var g=c[n];c[a]=g,c[n]=function(f,l){var p=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),d=t;if(!d||!d.api||l&&(l.method==="HEAD"||l.mode==="no-cors"))return g.apply(c,p);l||(l={});var m=Date.now(),b=d._conf,v=e.duration(),x=(f&&typeof f!="string"?f.url:f)||"",A=x;x=e.cutUrlSearch(x);var E=(b.ignore||{}).ignoreApis,I=b.parseTraceId;if(!e.checkAPI(x,!0)||e.ignoreByRule(x,E))return g.apply(c,p);x=e.filterByRule(x,A,b.ignoreApiPath?b.ignoreApiPath:b.apiHelper);var C=b.enableLinkTrace,R="",L="",T=d.getConfig("pid"),M=null,w=d.getConfig("sample"),N=d.getConfig("linkType"),y=1;if(w&&!d.sampling(w)&&(y=0),C){var U="";try{U=location.origin?location.origin:location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}catch(K){U=""}var te=e.checkSameOrigin(A,U);if(d.getConfig("enableApiCors")||te)if(f&&typeof f!="string")try{if(p[0].headers&&typeof p[0].headers.get=="function"&&typeof p[0].headers.append=="function")switch(N){case"arms":var q=p[0].headers.get("EagleEye-TraceID"),ae=p[0].headers.get("EagleEye-SessionID"),$=p[0].headers.get("EagleEye-pAppName");q?R=q:(R=d.getTraceId()["EagleEye-TraceID"],p[0].headers.append("EagleEye-TraceID",R)),ae?L=ae:(L=d.getPageviewId()["EagleEye-SessionID"],p[0].headers.append("EagleEye-SessionID",L)),$||p[0].headers.append("EagleEye-pAppName",T);break;case"b3":var re=p[0].headers.get("X-B3-TraceId");if(re)R=re;else{var k=d.getB3TraceId(y);p[0].headers.append("X-B3-TraceId",k["X-B3-TraceId"]),p[0].headers.append("X-B3-ParentSpanId",k["X-B3-ParentSpanId"]),p[0].headers.append("X-B3-SpanId",k["X-B3-SpanId"]),p[0].headers.append("X-B3-Sampled",k["X-B3-Sampled"]),p[0].headers.append("X-Request-ID",e.guid()),R=k["X-B3-TraceId"]}L=d.pageview;break;case"tracing":default:var P=p[0].headers.get("uber-trace-id");P?R=P.split(":")[0]:(P=d.getUberTraceId(y),p[0].headers.append("uber-trace-id",P["uber-trace-id"]),R=P.traceId),L=d.pageview}}catch(K){e.warn(`[retcode] fetch failed to set header, exception is :
4
- `+K)}else switch(l.headers=l.headers?l.headers:{},N){case"arms":l.headers["EagleEye-TraceID"]?R=l.headers["EagleEye-TraceID"]:(R=d.getTraceId()["EagleEye-TraceID"],l.headers["EagleEye-TraceID"]=R),l.headers["EagleEye-SessionID"]?L=l.headers["EagleEye-SessionID"]:(L=d.getPageviewId()["EagleEye-SessionID"],l.headers["EagleEye-SessionID"]=L),l.headers["EagleEye-pAppName"]||(l.headers["EagleEye-pAppName"]=T);break;case"b3":if(l.headers["X-B3-TraceId"])R=l.headers["X-B3-TraceId"];else{var H=d.getB3TraceId(y);l.headers["X-B3-TraceId"]=H["X-B3-TraceId"],l.headers["X-B3-ParentSpanId"]=H["X-B3-ParentSpanId"],l.headers["X-B3-SpanId"]=H["X-B3-SpanId"],l.headers["X-B3-Sampled"]=H["X-B3-Sampled"],l.headers["X-Request-ID"]=e.guid(),R=H["X-B3-TraceId"]}L=d.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:if(l.headers["uber-trace-id"])R=l.headers["uber-trace-id"].split(":")[0];else{var F=d.getUberTraceId(y);l.headers["uber-trace-id"]=F["uber-trace-id"],R=F.traceId}L=d.getPageviewId()["EagleEye-SessionID"]}}return g.apply(c,p).then(function(K){if(!d||!d.api)return K;try{if(!K||typeof K.clone!="function")return K;var Y=K.clone(),ge=Y.headers;if(ge&&typeof ge.get=="function"){var ce=ge.get("content-type");if(ce&&!/(text)|(json)/.test(ce))return K;if(!R){var Se=e.parseFetchHeaders(ge);typeof Se=="object"&&Se["eagleeye-traceid"]&&(R=Se["eagleeye-traceid"],M="response")}}var De=v();return Y.text().then(function(Ie){if(!R&&e.isFunction(I)){var Fe=I(Y,Ie);Fe&&e.isString(Fe)&&(R=Fe)}var Te=e.getFetchSnapshot(p,Ie,ge);Y.ok?r(d,b.parseResponse,x,A,Ie,Y.status||200,De,m,R,L,Te,M,y):(d.api(x,!1,De,Y.status||404,Y.statusText,m,R,L,Te,i,M,y),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:Y.url,res_type:"api"}))}),K}catch(Ie){return e.warn("[ARMS] fetch response error :",Ie),K}}).catch(function(K){if(!d||!d.api)throw K;var Y=v();throw d.api(x,!1,Y,K.name||"Error",K.message,m,R,L,{},i),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:A,res_type:"api"}),K})},c[n].toString=e.createFakeToString(n)}}(),function(){if(typeof c[u]=="function"){var g,f=c[u];c[o]=f;var l=function(p){var d=new f(p),m=t;if(!m||!m.api||!d.addEventListener)return d;var b,v,x,A,E=d.send,I=d.open,C=d.setRequestHeader,R=m._conf,L=(R.ignore||{}).ignoreApis,T=R.parseTraceId,M=m.getConfig("enableLinkTrace"),w="",N="",y="",U=null,te=m.getConfig("sample"),q=m.getConfig("linkType"),ae=1;return te&&!m.sampling(te)&&(ae=0),d.open=function($,re){g=$;var k=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);I.apply(d,k),A=re||"",x=e.cutUrlSearch(A);var P=!e.checkAPI(x,!0)||e.ignoreByRule(x,L);if(x=x?e.filterByRule(x,A,R.ignoreApiPath?R.ignoreApiPath:R.apiHelper):"",!P&&M){var H="";try{H=location.origin?location.origin:location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}catch(ge){H=""}var F=e.checkSameOrigin(A,H);if((m.getConfig("enableApiCors")||F)&&C&&typeof C=="function")switch(q){case"arms":w=m.getTraceId()["EagleEye-TraceID"],C.apply(d,["EagleEye-TraceID",w]),N=m.getPageviewId()["EagleEye-SessionID"],C.apply(d,["EagleEye-SessionID",N]),y=m.getConfig("pid"),C.apply(d,["EagleEye-pAppName",y]);break;case"b3":var K=m.getB3TraceId(ae);C.apply(d,["X-B3-TraceId",K["X-B3-TraceId"]]),C.apply(d,["X-B3-ParentSpanId",K["X-B3-ParentSpanId"]]),C.apply(d,["X-B3-SpanId",K["X-B3-SpanId"]]),C.apply(d,["X-B3-Sampled",K["X-B3-Sampled"]]),C.apply(d,["X-Request-ID",e.guid()]),w=K["X-B3-TraceId"],N=m.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:var Y=m.getUberTraceId(ae);C.apply(d,["uber-trace-id",Y["uber-trace-id"]]),w=Y.traceId,N=m.getPageviewId()["EagleEye-SessionID"]}}},d.send=function(){b=Date.now(),v=e.duration();var $=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);E.apply(d,$)},e.on(d,"readystatechange",function(){if(x&&d.readyState===4){var $=v(),re=e.getXhrSnapshot(A,g,d);if(!w){var k=e.parseXhrHeaders(typeof d.getAllResponseHeaders=="function"&&d.getAllResponseHeaders()||"");typeof k=="object"&&k["eagleeye-traceid"]&&(w=k["eagleeye-traceid"],U="response")}if(!w&&e.isFunction(T)){var P=T(d);P&&e.isString(P)&&(w=P)}if(d.status>=200&&d.status<=299){var H=d.status||200;if(typeof d.getResponseHeader=="function"){var F=d.getResponseHeader("Content-Type");if(F&&!/(text)|(json)/.test(F))return}d.responseType&&d.responseType!=="text"?m.api(x,!0,$,H,"",b,w,N,{},i,U,ae):r(m,R.parseResponse,x,A,d.responseText,H,$,b,w,N,re,U,ae)}else m.api(x,!1,$,d.status||"FAILED",d.statusText,b,w,N,re,i,U,ae),R.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:d.responseURL||A,res_type:"api"})}}),d};l.prototype=f.prototype,e.each(Object.keys(f),function(p){l[p]=f[p]}),c[u]=l,c[u].toString=e.createFakeToString(u)}}()),t=this,this)},initHook:function(){return this.hasInitHook?this:(this.getConfig("disableHook")||this.addHook(),this.hasInitHook=!0,this)}}),s}),Gs}var Xs,Zs;function oo(){return Zs||(Zs=1,Xs=function(s,c){var e=$e(),t=c.history||{},i=c.document,r=function(a,o){var u;c.CustomEvent?u=new CustomEvent(a,{detail:o}):((u=i.createEvent("HTMLEvents")).initEvent(a,!1,!0),u.detail=o),c.dispatchEvent(u)},n=function(a){var o=t[a];typeof o=="function"&&(t[a]=function(u,h,g){var f=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),l=location.href,p=o.apply(t,f);if(!g||typeof g!="string"||g===l)return p;try{var d=l.split("#"),m=g.split("#"),b=e.cutUrlSearch(d[0]),v=e.cutUrlSearch(m[0]),x=d[1]&&d[1].replace(/^\/?(.*)/,"$1"),A=m[1]&&m[1].replace(/^\/?(.*)/,"$1");x!==A?r("historystatechange",A):b!==v&&r("historystatechange",v)}catch(E){e.warn("[retcode] error in "+a+": "+E)}return p},t[a].toString=e.createFakeToString(a))};e.ext(s.prototype,{hackHistoryState:function(){return this.hasHackedHistoryState?this:(n("pushState"),n("replaceState"),this.hasHackedHistoryState=!0,this)}})}),Xs}var ur,Ys;function co(){if(Ys)return ur;Ys=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return ur=function(t,i){function r(o,u,h){if(o instanceof i.PerformanceResourceTiming&&o.initiatorType){var g=s.getResType(o.initiatorType,o.name),f=u.resourceTypes||[],l=(u.ignore||{}).ignoreResources;if(g&&f.includes(g)&&!s.ignoreByRule(o.name,l)&&!s.ignoreByRule(s.decode(o.name),l)){var p=o[e[0]],d=o[e[1]],m=o[e[2]],b=o[e[3]],v=o[e[4]],x=o[e[5]],A=o[e[6]],E=o[e[7]],I=o[e[8]],C=o[e[18]],R=o[e[19]];if(!h.has(o)&&(!s.areInOrder(p,d,m,b,v,x,A,E,I)||p>E))return;if(C<p&&(C=p),R<p&&(R=d),s.areInOrder(p,C,R,d))return{domain:s.getURL(o.name).domain,res_type:g,src_type:s.getSrcType(o.name,u.cdnHostList),success:1,size:Math.round(o.decodedBodySize),duration:Math.round(o.duration),timeStamp:o.responseEnd,timing:o}}}}var n="_resource-"+Date.now(),a="_resource_error-"+Date.now();s.ext(t.prototype,{initResource:function(){var o=this,u=i.performance,h=i.PerformanceObserver;if(o[a]||(o[a]=new WeakMap),!u||!h||typeof u!="object"||typeof u.getEntriesByType!="function")return null;var g=u.getEntriesByType("resource")||[];return setTimeout(function(){o.setResource(g)},10),new h(function(f){setTimeout(function(){o.setResource(f.getEntries())},10)}).observe({entryTypes:["resource"]}),this.onReady(function(){setTimeout(o.resourceComboReport.bind(o),5e3)}),o},setResource:function(o){var u=this._conf,h=this[a];if(s.isArray(o)&&o.length){this[n]||(this[n]={});for(var g=this[n],f=0,l=o.length;f<l;f+=1){var p=o[f];if(s.checkAPI(p.name,!1)){var d=r(p,u,h);if(d){var m=d.res_type+"-"+d.domain;m in g||(g[m]=[]),g[m].push(d)}}}return this}},fixResourceStatus:function(o){var u=i.performance;if(!u||typeof u.getEntriesByName!="function")return null;var h=this[a];if(!o.src||!s.checkAPI(o.src,!1))return this;var g=o.timeStamp||u.now(),f=u.getEntriesByName(o.src,"resource");return s.each(f,function(l){h.has(l)||g-l.responseEnd<100&&h.set(l,{success:0})}),this},resourceComboReport:function(){var o=this[n]||{},u=this._conf.resourceSlow||2e3,h=this[a];this[n]={};var g=Object.keys(o);if(g.length!==0){var f=[];s.each(g,function(m){var b=o[m],v={domain:"",res_type:"",src_type:"",size:0,duration:0,count:0,err_count:0,err_duration:0,slow_count:0,slow_duration:0,timings:[]};s.each(b,function(x){var A=x.timing||{},E=h.get(x.timing),I=E?E.success:1,C=x.duration>u?1:0;v.domain=x.domain,v.res_type=x.res_type,v.src_type=x.src_type,v.count+=1,v.duration+=x.duration,v.size+=x.size,I||(v.err_count+=1,v.err_duration+=x.duration),C&&(v.slow_count+=1,v.slow_duration+=x.duration);try{var R=JSON.parse(JSON.stringify(A));R.success=I,R.resourceSlow=u,R.isSlow=C,v.timings.push(R)}catch(L){}}),v.count&&(v.size=Math.round(v.size/v.count),v.duration=Math.round(v.duration/v.count)),v.slow_count&&(v.slow_duration=Math.round(v.slow_duration/v.slow_count)),v.err_count&&(v.err_duration=Math.round(v.err_duration/v.err_count)),v.timings.length>20&&(v.timings.sort(function(x,A){return A.duration-x.duration}),v.timings.length=20),v.timings=encodeURIComponent(JSON.stringify(v.timings)),f.push(v)});var l={_combo:1,resource:JSON.stringify(f)},p=i.navigator.connection;l.ct=p?p.effectiveType||p.type:"";var d=p&&(p.downlink||p.downlinkMax||p.bandwidth)||null;(d=d>999?999:d)&&(l.bandwidth=d),this._lg("resource",l,this.getConfig("sample"))}}})},ur}var Qs;function uo(){if(Qs)return tt.exports;Qs=1;var s=$e(),c=Ya(),e=Qa(),t=eo(),i=s.win,r=i.document,n=/^(error|api|speed|sum|avg|percent|custom|msg|setPage|setConfig|behavior|performance)$/,a=function(o){var u=this;return c.call(u,o),u._initialPage=o.page&&s.safetyCall(o.page,[],o.page+"")||null,u._isRobot=s.isRobot(),u._health={errcount:0,apisucc:0,apifail:0},u.beforeSend=function(h,g){h==="error"?u._health.errcount++:h==="api"&&u._health[g.success?"apisucc":"apifail"]++},o.enableInstanceAutoSend!==!1&&(u.initHandler(),u.initHook(),u.initFmpObserver(1e4),u._conf&&u._conf.behavior&&typeof u.initBehavior=="function"&&u.initBehavior(),u._conf&&u._conf.enableResource&&typeof u.initResource=="function"&&u.initResource()),Object.defineProperty&&i.addEventListener&&Object.defineProperty(u,"pipe",{set:u.sendPipe}),u};return a.prototype=s.createObject(c.prototype),s.ext(c._root.dftCon,{uid:null,setUsername:null,ignoreUrlPath:null,ignoreApiPath:null,urlHelper:[{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},/\/$/],resourceHelper:[],apiHelper:{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},ignoreUrlCase:!0,imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",cdnHostList:[],resourceTypes:["css","script","img","font"],resourceSlow:2e3,disableHook:!1,autoSendPv:!0,autoSendPerf:!0,enableSPA:!1,enableLinkTrace:!1,linkType:"arms",enableApiCors:!1,sendResource:!0,behavior:!0,enableConsole:!1,parseHash:function(o){return(o?s.cutUrlSearch(o.replace(/^#\/?/,"")):"")||"[index]"},parseResponse:function(o){if(!o||typeof o!="object")return{};var u=o.code,h=o.msg||o.message||o.subMsg||o.errorMsg||o.ret||o.errorResponse||"";return typeof h=="object"&&(u=u||h.code,h=h.msg||h.message||h.info||h.ret||JSON.stringify(h)),{msg:h,code:u,success:!0}}}),s.ext(a.prototype,{constructor:a,_super:c,onReady:function(o){var u=this;if(u.hasReady)return o();r.readyState==="complete"?(u.hasReady=!0,o()):s.on(i,"load",function(){u.hasReady=!0,o()},!0)},getPage:function(o){var u=this._conf,h=u.page,g=location,f=g.host+g.pathname;return h&&!o?s.safetyCall(h,[],h+""):this._initialPage||s.filterByRule(u.ignoreUrlCase?f.toLowerCase():f,g.href,u.ignoreUrlPath?u.ignoreUrlPath:u.urlHelper)},setPage:function(o,u){var h=this,g=h.prevPage;if(u!==!1){if(!o||o===g)return h;h.prevPage=o,clearTimeout(h.sendPVTimmer),h.handleUnload(1),h.resetPageview(),h.sendPVTimmer=setTimeout(function(){h.sendPV()},10)}else h.prevPage=o;return h._conf.page=o,h},setConfig:function(o,u){if(o&&typeof o=="object"){s.verifyConfig(o),o=this.setImgUrl(o);var h=this._conf;if(this._conf=s.ext({},h,o),!u){var g="disableHook";g in o&&h[g]!==o[g]&&(o[g]?this.removeHook():this.addHook()),(g="enableSPA")in o&&h[g]!==o[g]&&this.bindHashChange(o[g])}}},sendRequest:function(o){e(o,this.getConfig("imgUrl"))},postData:function(o,u){var h={};h[u]=o[u],delete o[u];var g="";typeof o=="object"&&(g=s.serialize(o)),t(h,this.getConfig("imgUrl")+g+"&post_res=")},sendPipe:function(o){var u=this;if(!o||!o.length)return u;try{if(s.T(o[0])==="Array")return s.each(o,function(g){return u.sendPipe(g)});if(s.T(o)!=="Array")return u;var h=o.shift();if(!n.test(h))return u;u[h].apply(u,o)}catch(g){return s.warn("[retcode] error in sendPipe",g),u}},sendHealth:function(){var o=s.ext({},this._health);o.healthy=o.errcount>0?0:1,o.begin=Date.now();var u=o.begin-this.sBegin;o.stay=u,this._lg("health",o,1),this._health={errcount:0,apisucc:0,apifail:0}},createInstance:function(o){o=s.ext({pid:this._conf.pid},o);var u=this.__proto__.constructor(o);return o.page&&u.sendPV(),u}}),to()(a,i),so()(a,i,r),no()(a,i,r),ao()(a,i),oo()(a,i),co()(a,i),a._super=c,a._root=c._root,c.Browser=a,tt.exports=a,tt.exports}var en;function ho(){if(en)return ft.exports;en=1;function s(a,o){var u=e[i]=new t(a);u.sendPipe(o);var h=u._conf;return h.autoSendPv!==!1&&u.sendPV(),h&&h.useFmp||u.sendPerformance(),h&&h.sendResource&&u.sendResources(),e[r]=!0,u}function c(){if(e[r])return e[i];var a={},o=[];return i in e&&(a=e[i].config||{},o=e[i].pipe||[]),s(a,o)}var e=window,t=e.BrowserLogger=uo(),i=$e().key,r="__hasInitBlSdk";t.singleton=function(a,o){return e[r]?e[i]:s(a,o)},t.createExtraInstance=function(a){a&&typeof a=="object"&&a.enableInstanceAutoSend!==!0&&(a.enableInstanceAutoSend=!1);var o=new t(a),u=o._conf;return u.enableInstanceAutoSend&&(u.autoSendPv!==!1&&o.sendPV(),u&&u.useFmp||o.sendPerformance(),u&&u.sendResource&&o.sendResources()),o};var n=typeof window=="object"&&!!window.navigator;return n&&e[i]&&(t.bl=c()),ft.exports=t,ft.exports}function lo(){return ho()}var fo={getArmsLogger:lo};function po(s,c,e){const t=[],i=typeof Object.getOwnPropertyDescriptors=="function"?Object.getOwnPropertyDescriptors(Object.getPrototypeOf(s)):{};for(const n of Object.keys(i))i[n].get&&t.push(n);const r={MediaboxWrapperObjectGetter(n,a){if(typeof a=="string"&&t.indexOf(a)>-1)return St(n[a],c+1,e);const o={MediaboxWrapperObjectMethod(...u){return St(n[a](...u),c+1,e)}};return typeof n[a]=="function"?o.MediaboxWrapperObjectMethod:c>10?n[a]:St(n[a],c+1,e)},MediaboxWrapperObjectSetter(n,a,o){return n[a]=St(o,c+1,e),!0}};return new Proxy(s,{get:r.MediaboxWrapperObjectGetter,set:r.MediaboxWrapperObjectSetter})}function mo(s,c,e){const t={MediaboxWrapperFunctionApply(i,r,n){const a=i.apply(r,n);return St(a,c+1,e)},MediaboxWrapperFunctionGet(i,r){const n=Object.getOwnPropertyDescriptor(i,r);if(n&&!n.writable&&!n.configurable)return i[r];const a={MediaboxWrapperFunctionGet(...o){const u=i[r](...o);return St(u,c+1,e)}};return typeof i[r]=="function"?a.MediaboxWrapperFunctionGet:St(i[r],c+1,e)},MediaboxWrapperClassConstructor(i,r){const n=new i(...r);return St(n,c+1,e)}};return new Proxy(s,{apply:t.MediaboxWrapperFunctionApply,get:t.MediaboxWrapperFunctionGet,construct:t.MediaboxWrapperClassConstructor})}const go=s=>s!==null&&typeof s=="object",vo=s=>Object.prototype.toString.call(s).slice(8,-1),bo=s=>Object.isExtensible(s)?vo(s)==="Object":!1;function St(s,c,e){return typeof s=="function"?mo(s,c+1,e):s instanceof Promise?s.then(t=>St(t,c+1,e)).catch(t=>(t instanceof Error&&typeof t.stack=="string"&&t.stack.indexOf("MediaboxWrapper")>-1&&e(t),Promise.reject(t))):Array.isArray(s)?s.map(t=>St(t,c+1,e)):go(s)&&bo(s)?po(s,c+1,e):s}const xo="https://arms-retcode-sg.aliyuncs.com/r.png?",So="https://arms-retcode.aliyuncs.com/r.png?",_o="https://retcode-us-west-1.arms.aliyuncs.com/r.png?",yo={cn:So,sg:xo,usw:_o};class hr{constructor(c){ot(this,"armsLogger"),ot(this,"isReady",!1),ot(this,"isDestroyed",!1),ot(this,"options"),ot(this,"queue",[]),ot(this,"helper",{MediaboxWrapperQueue(n){return new Error(n)},MediaboxWrapperInitiative(n){return new Error(n)}}),this.options=c;const{region:e="cn",env:t="prod"}=c,i=n=>{var a;if(this.isDestroyed)return!1;if(n.c1=(a=this.options.cid)!=null?a:window.location.host,n.c2=hr.version,this.options.customData&&(n.c3=new URLSearchParams(this.options.customData).toString()),n.t==="error"){if(n.file.indexOf("g.alicdn.com/apsara-media-")>-1||n.file.indexOf("g.alicdn.com/thor-server")>-1||n.stack.indexOf("MediaboxWrapper")>-1){let o=n;return this.options.beforeSend&&(o=this.options.beforeSend(n)),this.isReady?o:(o&&this.queue.push(o),!1)}return!1}return n},r=fo.getArmsLogger();this.armsLogger=r.singleton({pid:"e1iftji1w7@7ec1cef2cc88733",tag:c.businessName,release:`${c.businessName}_${c.version}`,imgUrl:yo[e],behavior:!0,sample:1,disableHook:!0,environment:t,beforeReport:i})}static get version(){return"0.10.0"}wrap(c){return this.options.disabled||typeof Proxy>"u"?c:St(c,0,e=>this.armsLogger.error(e))}updateOptions(c){this.options=be(be({},this.options),c)}setReady(){this.isReady=!0,this.queue.length&&this.queue.forEach(c=>{this.armsLogger.error(this.helper.MediaboxWrapperQueue(c.msg),{filename:c.file,lineno:c.line,colno:c.col})})}report(c,e){this.armsLogger.error(this.helper.MediaboxWrapperInitiative(c),e)}destroy(){this.isDestroyed=!0}}for(var Re=(s=>(s.PullStreamStats="remoteStat",s.RtsSubscribeExceeds="rtsSubscribeExceeds",s.UserJoined="userJoined",s.UserLeft="userLeft",s.Bye="bye",s.MuteAudio="muteAudio",s.UnmuteAudio="unmuteAudio",s.MuteVideo="muteVideo",s.UnmuteVideo="unmuteVideo",s.MuteScreen="muteScreen",s.UnmuteScreen="unmuteScreen",s.Error="error",s))(Re||{}),it=(s=>(s.Local="local-device-status-change",s.Remote="remote-device-status-change",s))(it||{}),Z=(s=>(s.Audio="sophon_audio",s.VideoLarge="sophon_video_camera_large",s.VideoSmall="sophon_video_camera_small",s.Screen="sophon_video_screen_share",s.Data="sophon_data",s))(Z||{}),dr=(s=>(s.Audio="rts audio",s.VideoLarge="rts video",s))(dr||{}),Ut=(s=>(s.Add="add",s.Delete="delete",s.Replace="replace",s.Stop="stop",s.UnPublish="unpublish",s))(Ut||{}),si=(s=>(s[s.Camera=0]="Camera",s[s.Screen=1]="Screen",s[s.Image=2]="Image",s))(si||{}),ki=(s=>(s[s.Microphone=0]="Microphone",s[s.Screen=1]="Screen",s[s.Mixed=2]="Mixed",s))(ki||{}),Le=(s=>(s.InRoom="inRoom",s.Join="join",s.Publish="publish",s.User="user",s.Resume="resume",s))(Le||{}),zt=(s=>(s[s.MANUAL=0]="MANUAL",s[s.JOINCHANNEL=1]="JOINCHANNEL",s))(zt||{}),Ze=[],lr=0;lr<256;++lr)Ze.push((lr+256).toString(16).slice(1));function Ao(s,c=0){return(Ze[s[c+0]]+Ze[s[c+1]]+Ze[s[c+2]]+Ze[s[c+3]]+"-"+Ze[s[c+4]]+Ze[s[c+5]]+"-"+Ze[s[c+6]]+Ze[s[c+7]]+"-"+Ze[s[c+8]]+Ze[s[c+9]]+"-"+Ze[s[c+10]]+Ze[s[c+11]]+Ze[s[c+12]]+Ze[s[c+13]]+Ze[s[c+14]]+Ze[s[c+15]]).toLowerCase()}var Pi,Eo=new Uint8Array(16);function wo(){if(!Pi&&(Pi=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Pi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pi(Eo)}var Co=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const tn={randomUUID:Co};function Ht(s,c,e){if(tn.randomUUID&&!c&&!s)return tn.randomUUID();s=s||{};var t=s.random||(s.rng||wo)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,c){e=e||0;for(var i=0;i<16;++i)c[e+i]=t[i];return c}return Ao(t)}var Bi=(s=>(s.prod="rs.rtn.aliyuncs.com",s.pre="prs.rtn.aliyuncs.com",s))(Bi||{});const fr="6.12.0-beta.2",rn="web";class _t{static getVersionNumber(){let c=fr.split("."),e="";return c.forEach(t=>{t.length===1?e+="0"+t:e+=t}),parseInt(e)}static queryingParam(c){let e=[];if(c)for(let t in c)e.push(t+"="+c[t]);return e.join("&")}static getQueryParams(c){const t=window.location.search.substring(1).split("&");for(let i=0;i<t.length;i++){const r=t[i].split("=");if(decodeURIComponent(r[0])===c)return decodeURIComponent(r[1])}}static createCallid(c=""){const e=Ht();return c&&e&&e.length>c.length?`${c}${e.substring(c.length)}`:e}static checkSubOptionsValid(c){if(c){const{audio:e,video:t,screen:i}=c;if(e===!1&&t===!1&&i===!1)return!1}return!0}static isNetworkAvailable(){return V(this,null,function*(){const c=Bi.prod,{onLine:e}=navigator;if(!e)return!1;try{return yield fetch(`https://${c}/roomserver/v1/ws/version`),!0}catch(t){return!1}})}}var _e=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function sn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Io(s){if(s.__esModule)return s;var c=s.default;if(typeof c=="function"){var e=function t(){return this instanceof t?Reflect.construct(c,arguments,this.constructor):c.apply(this,arguments)};e.prototype=c.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(s).forEach(function(t){var i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return s[t]}})}),e}function pi(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nn={exports:{}};/*!
4
+ `+K)}else switch(l.headers=l.headers?l.headers:{},N){case"arms":l.headers["EagleEye-TraceID"]?R=l.headers["EagleEye-TraceID"]:(R=d.getTraceId()["EagleEye-TraceID"],l.headers["EagleEye-TraceID"]=R),l.headers["EagleEye-SessionID"]?L=l.headers["EagleEye-SessionID"]:(L=d.getPageviewId()["EagleEye-SessionID"],l.headers["EagleEye-SessionID"]=L),l.headers["EagleEye-pAppName"]||(l.headers["EagleEye-pAppName"]=T);break;case"b3":if(l.headers["X-B3-TraceId"])R=l.headers["X-B3-TraceId"];else{var H=d.getB3TraceId(y);l.headers["X-B3-TraceId"]=H["X-B3-TraceId"],l.headers["X-B3-ParentSpanId"]=H["X-B3-ParentSpanId"],l.headers["X-B3-SpanId"]=H["X-B3-SpanId"],l.headers["X-B3-Sampled"]=H["X-B3-Sampled"],l.headers["X-Request-ID"]=e.guid(),R=H["X-B3-TraceId"]}L=d.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:if(l.headers["uber-trace-id"])R=l.headers["uber-trace-id"].split(":")[0];else{var F=d.getUberTraceId(y);l.headers["uber-trace-id"]=F["uber-trace-id"],R=F.traceId}L=d.getPageviewId()["EagleEye-SessionID"]}}return g.apply(c,p).then(function(K){if(!d||!d.api)return K;try{if(!K||typeof K.clone!="function")return K;var Y=K.clone(),ge=Y.headers;if(ge&&typeof ge.get=="function"){var ce=ge.get("content-type");if(ce&&!/(text)|(json)/.test(ce))return K;if(!R){var Se=e.parseFetchHeaders(ge);typeof Se=="object"&&Se["eagleeye-traceid"]&&(R=Se["eagleeye-traceid"],M="response")}}var De=v();return Y.text().then(function(Ie){if(!R&&e.isFunction(I)){var Fe=I(Y,Ie);Fe&&e.isString(Fe)&&(R=Fe)}var Te=e.getFetchSnapshot(p,Ie,ge);Y.ok?r(d,b.parseResponse,x,A,Ie,Y.status||200,De,m,R,L,Te,M,y):(d.api(x,!1,De,Y.status||404,Y.statusText,m,R,L,Te,i,M,y),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:Y.url,res_type:"api"}))}),K}catch(Ie){return e.warn("[ARMS] fetch response error :",Ie),K}}).catch(function(K){if(!d||!d.api)throw K;var Y=v();throw d.api(x,!1,Y,K.name||"Error",K.message,m,R,L,{},i),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:A,res_type:"api"}),K})},c[n].toString=e.createFakeToString(n)}}(),function(){if(typeof c[u]=="function"){var g,f=c[u];c[o]=f;var l=function(p){var d=new f(p),m=t;if(!m||!m.api||!d.addEventListener)return d;var b,v,x,A,E=d.send,I=d.open,C=d.setRequestHeader,R=m._conf,L=(R.ignore||{}).ignoreApis,T=R.parseTraceId,M=m.getConfig("enableLinkTrace"),w="",N="",y="",U=null,te=m.getConfig("sample"),q=m.getConfig("linkType"),ae=1;return te&&!m.sampling(te)&&(ae=0),d.open=function($,re){g=$;var k=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);I.apply(d,k),A=re||"",x=e.cutUrlSearch(A);var P=!e.checkAPI(x,!0)||e.ignoreByRule(x,L);if(x=x?e.filterByRule(x,A,R.ignoreApiPath?R.ignoreApiPath:R.apiHelper):"",!P&&M){var H="";try{H=location.origin?location.origin:location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}catch(ge){H=""}var F=e.checkSameOrigin(A,H);if((m.getConfig("enableApiCors")||F)&&C&&typeof C=="function")switch(q){case"arms":w=m.getTraceId()["EagleEye-TraceID"],C.apply(d,["EagleEye-TraceID",w]),N=m.getPageviewId()["EagleEye-SessionID"],C.apply(d,["EagleEye-SessionID",N]),y=m.getConfig("pid"),C.apply(d,["EagleEye-pAppName",y]);break;case"b3":var K=m.getB3TraceId(ae);C.apply(d,["X-B3-TraceId",K["X-B3-TraceId"]]),C.apply(d,["X-B3-ParentSpanId",K["X-B3-ParentSpanId"]]),C.apply(d,["X-B3-SpanId",K["X-B3-SpanId"]]),C.apply(d,["X-B3-Sampled",K["X-B3-Sampled"]]),C.apply(d,["X-Request-ID",e.guid()]),w=K["X-B3-TraceId"],N=m.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:var Y=m.getUberTraceId(ae);C.apply(d,["uber-trace-id",Y["uber-trace-id"]]),w=Y.traceId,N=m.getPageviewId()["EagleEye-SessionID"]}}},d.send=function(){b=Date.now(),v=e.duration();var $=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);E.apply(d,$)},e.on(d,"readystatechange",function(){if(x&&d.readyState===4){var $=v(),re=e.getXhrSnapshot(A,g,d);if(!w){var k=e.parseXhrHeaders(typeof d.getAllResponseHeaders=="function"&&d.getAllResponseHeaders()||"");typeof k=="object"&&k["eagleeye-traceid"]&&(w=k["eagleeye-traceid"],U="response")}if(!w&&e.isFunction(T)){var P=T(d);P&&e.isString(P)&&(w=P)}if(d.status>=200&&d.status<=299){var H=d.status||200;if(typeof d.getResponseHeader=="function"){var F=d.getResponseHeader("Content-Type");if(F&&!/(text)|(json)/.test(F))return}d.responseType&&d.responseType!=="text"?m.api(x,!0,$,H,"",b,w,N,{},i,U,ae):r(m,R.parseResponse,x,A,d.responseText,H,$,b,w,N,re,U,ae)}else m.api(x,!1,$,d.status||"FAILED",d.statusText,b,w,N,re,i,U,ae),R.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:d.responseURL||A,res_type:"api"})}}),d};l.prototype=f.prototype,e.each(Object.keys(f),function(p){l[p]=f[p]}),c[u]=l,c[u].toString=e.createFakeToString(u)}}()),t=this,this)},initHook:function(){return this.hasInitHook?this:(this.getConfig("disableHook")||this.addHook(),this.hasInitHook=!0,this)}}),s}),Gs}var Xs,Zs;function oo(){return Zs||(Zs=1,Xs=function(s,c){var e=$e(),t=c.history||{},i=c.document,r=function(a,o){var u;c.CustomEvent?u=new CustomEvent(a,{detail:o}):((u=i.createEvent("HTMLEvents")).initEvent(a,!1,!0),u.detail=o),c.dispatchEvent(u)},n=function(a){var o=t[a];typeof o=="function"&&(t[a]=function(u,h,g){var f=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),l=location.href,p=o.apply(t,f);if(!g||typeof g!="string"||g===l)return p;try{var d=l.split("#"),m=g.split("#"),b=e.cutUrlSearch(d[0]),v=e.cutUrlSearch(m[0]),x=d[1]&&d[1].replace(/^\/?(.*)/,"$1"),A=m[1]&&m[1].replace(/^\/?(.*)/,"$1");x!==A?r("historystatechange",A):b!==v&&r("historystatechange",v)}catch(E){e.warn("[retcode] error in "+a+": "+E)}return p},t[a].toString=e.createFakeToString(a))};e.ext(s.prototype,{hackHistoryState:function(){return this.hasHackedHistoryState?this:(n("pushState"),n("replaceState"),this.hasHackedHistoryState=!0,this)}})}),Xs}var ur,Ys;function co(){if(Ys)return ur;Ys=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return ur=function(t,i){function r(o,u,h){if(o instanceof i.PerformanceResourceTiming&&o.initiatorType){var g=s.getResType(o.initiatorType,o.name),f=u.resourceTypes||[],l=(u.ignore||{}).ignoreResources;if(g&&f.includes(g)&&!s.ignoreByRule(o.name,l)&&!s.ignoreByRule(s.decode(o.name),l)){var p=o[e[0]],d=o[e[1]],m=o[e[2]],b=o[e[3]],v=o[e[4]],x=o[e[5]],A=o[e[6]],E=o[e[7]],I=o[e[8]],C=o[e[18]],R=o[e[19]];if(!h.has(o)&&(!s.areInOrder(p,d,m,b,v,x,A,E,I)||p>E))return;if(C<p&&(C=p),R<p&&(R=d),s.areInOrder(p,C,R,d))return{domain:s.getURL(o.name).domain,res_type:g,src_type:s.getSrcType(o.name,u.cdnHostList),success:1,size:Math.round(o.decodedBodySize),duration:Math.round(o.duration),timeStamp:o.responseEnd,timing:o}}}}var n="_resource-"+Date.now(),a="_resource_error-"+Date.now();s.ext(t.prototype,{initResource:function(){var o=this,u=i.performance,h=i.PerformanceObserver;if(o[a]||(o[a]=new WeakMap),!u||!h||typeof u!="object"||typeof u.getEntriesByType!="function")return null;var g=u.getEntriesByType("resource")||[];return setTimeout(function(){o.setResource(g)},10),new h(function(f){setTimeout(function(){o.setResource(f.getEntries())},10)}).observe({entryTypes:["resource"]}),this.onReady(function(){setTimeout(o.resourceComboReport.bind(o),5e3)}),o},setResource:function(o){var u=this._conf,h=this[a];if(s.isArray(o)&&o.length){this[n]||(this[n]={});for(var g=this[n],f=0,l=o.length;f<l;f+=1){var p=o[f];if(s.checkAPI(p.name,!1)){var d=r(p,u,h);if(d){var m=d.res_type+"-"+d.domain;m in g||(g[m]=[]),g[m].push(d)}}}return this}},fixResourceStatus:function(o){var u=i.performance;if(!u||typeof u.getEntriesByName!="function")return null;var h=this[a];if(!o.src||!s.checkAPI(o.src,!1))return this;var g=o.timeStamp||u.now(),f=u.getEntriesByName(o.src,"resource");return s.each(f,function(l){h.has(l)||g-l.responseEnd<100&&h.set(l,{success:0})}),this},resourceComboReport:function(){var o=this[n]||{},u=this._conf.resourceSlow||2e3,h=this[a];this[n]={};var g=Object.keys(o);if(g.length!==0){var f=[];s.each(g,function(m){var b=o[m],v={domain:"",res_type:"",src_type:"",size:0,duration:0,count:0,err_count:0,err_duration:0,slow_count:0,slow_duration:0,timings:[]};s.each(b,function(x){var A=x.timing||{},E=h.get(x.timing),I=E?E.success:1,C=x.duration>u?1:0;v.domain=x.domain,v.res_type=x.res_type,v.src_type=x.src_type,v.count+=1,v.duration+=x.duration,v.size+=x.size,I||(v.err_count+=1,v.err_duration+=x.duration),C&&(v.slow_count+=1,v.slow_duration+=x.duration);try{var R=JSON.parse(JSON.stringify(A));R.success=I,R.resourceSlow=u,R.isSlow=C,v.timings.push(R)}catch(L){}}),v.count&&(v.size=Math.round(v.size/v.count),v.duration=Math.round(v.duration/v.count)),v.slow_count&&(v.slow_duration=Math.round(v.slow_duration/v.slow_count)),v.err_count&&(v.err_duration=Math.round(v.err_duration/v.err_count)),v.timings.length>20&&(v.timings.sort(function(x,A){return A.duration-x.duration}),v.timings.length=20),v.timings=encodeURIComponent(JSON.stringify(v.timings)),f.push(v)});var l={_combo:1,resource:JSON.stringify(f)},p=i.navigator.connection;l.ct=p?p.effectiveType||p.type:"";var d=p&&(p.downlink||p.downlinkMax||p.bandwidth)||null;(d=d>999?999:d)&&(l.bandwidth=d),this._lg("resource",l,this.getConfig("sample"))}}})},ur}var Qs;function uo(){if(Qs)return tt.exports;Qs=1;var s=$e(),c=Ya(),e=Qa(),t=eo(),i=s.win,r=i.document,n=/^(error|api|speed|sum|avg|percent|custom|msg|setPage|setConfig|behavior|performance)$/,a=function(o){var u=this;return c.call(u,o),u._initialPage=o.page&&s.safetyCall(o.page,[],o.page+"")||null,u._isRobot=s.isRobot(),u._health={errcount:0,apisucc:0,apifail:0},u.beforeSend=function(h,g){h==="error"?u._health.errcount++:h==="api"&&u._health[g.success?"apisucc":"apifail"]++},o.enableInstanceAutoSend!==!1&&(u.initHandler(),u.initHook(),u.initFmpObserver(1e4),u._conf&&u._conf.behavior&&typeof u.initBehavior=="function"&&u.initBehavior(),u._conf&&u._conf.enableResource&&typeof u.initResource=="function"&&u.initResource()),Object.defineProperty&&i.addEventListener&&Object.defineProperty(u,"pipe",{set:u.sendPipe}),u};return a.prototype=s.createObject(c.prototype),s.ext(c._root.dftCon,{uid:null,setUsername:null,ignoreUrlPath:null,ignoreApiPath:null,urlHelper:[{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},/\/$/],resourceHelper:[],apiHelper:{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},ignoreUrlCase:!0,imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",cdnHostList:[],resourceTypes:["css","script","img","font"],resourceSlow:2e3,disableHook:!1,autoSendPv:!0,autoSendPerf:!0,enableSPA:!1,enableLinkTrace:!1,linkType:"arms",enableApiCors:!1,sendResource:!0,behavior:!0,enableConsole:!1,parseHash:function(o){return(o?s.cutUrlSearch(o.replace(/^#\/?/,"")):"")||"[index]"},parseResponse:function(o){if(!o||typeof o!="object")return{};var u=o.code,h=o.msg||o.message||o.subMsg||o.errorMsg||o.ret||o.errorResponse||"";return typeof h=="object"&&(u=u||h.code,h=h.msg||h.message||h.info||h.ret||JSON.stringify(h)),{msg:h,code:u,success:!0}}}),s.ext(a.prototype,{constructor:a,_super:c,onReady:function(o){var u=this;if(u.hasReady)return o();r.readyState==="complete"?(u.hasReady=!0,o()):s.on(i,"load",function(){u.hasReady=!0,o()},!0)},getPage:function(o){var u=this._conf,h=u.page,g=location,f=g.host+g.pathname;return h&&!o?s.safetyCall(h,[],h+""):this._initialPage||s.filterByRule(u.ignoreUrlCase?f.toLowerCase():f,g.href,u.ignoreUrlPath?u.ignoreUrlPath:u.urlHelper)},setPage:function(o,u){var h=this,g=h.prevPage;if(u!==!1){if(!o||o===g)return h;h.prevPage=o,clearTimeout(h.sendPVTimmer),h.handleUnload(1),h.resetPageview(),h.sendPVTimmer=setTimeout(function(){h.sendPV()},10)}else h.prevPage=o;return h._conf.page=o,h},setConfig:function(o,u){if(o&&typeof o=="object"){s.verifyConfig(o),o=this.setImgUrl(o);var h=this._conf;if(this._conf=s.ext({},h,o),!u){var g="disableHook";g in o&&h[g]!==o[g]&&(o[g]?this.removeHook():this.addHook()),(g="enableSPA")in o&&h[g]!==o[g]&&this.bindHashChange(o[g])}}},sendRequest:function(o){e(o,this.getConfig("imgUrl"))},postData:function(o,u){var h={};h[u]=o[u],delete o[u];var g="";typeof o=="object"&&(g=s.serialize(o)),t(h,this.getConfig("imgUrl")+g+"&post_res=")},sendPipe:function(o){var u=this;if(!o||!o.length)return u;try{if(s.T(o[0])==="Array")return s.each(o,function(g){return u.sendPipe(g)});if(s.T(o)!=="Array")return u;var h=o.shift();if(!n.test(h))return u;u[h].apply(u,o)}catch(g){return s.warn("[retcode] error in sendPipe",g),u}},sendHealth:function(){var o=s.ext({},this._health);o.healthy=o.errcount>0?0:1,o.begin=Date.now();var u=o.begin-this.sBegin;o.stay=u,this._lg("health",o,1),this._health={errcount:0,apisucc:0,apifail:0}},createInstance:function(o){o=s.ext({pid:this._conf.pid},o);var u=this.__proto__.constructor(o);return o.page&&u.sendPV(),u}}),to()(a,i),so()(a,i,r),no()(a,i,r),ao()(a,i),oo()(a,i),co()(a,i),a._super=c,a._root=c._root,c.Browser=a,tt.exports=a,tt.exports}var en;function ho(){if(en)return ft.exports;en=1;function s(a,o){var u=e[i]=new t(a);u.sendPipe(o);var h=u._conf;return h.autoSendPv!==!1&&u.sendPV(),h&&h.useFmp||u.sendPerformance(),h&&h.sendResource&&u.sendResources(),e[r]=!0,u}function c(){if(e[r])return e[i];var a={},o=[];return i in e&&(a=e[i].config||{},o=e[i].pipe||[]),s(a,o)}var e=window,t=e.BrowserLogger=uo(),i=$e().key,r="__hasInitBlSdk";t.singleton=function(a,o){return e[r]?e[i]:s(a,o)},t.createExtraInstance=function(a){a&&typeof a=="object"&&a.enableInstanceAutoSend!==!0&&(a.enableInstanceAutoSend=!1);var o=new t(a),u=o._conf;return u.enableInstanceAutoSend&&(u.autoSendPv!==!1&&o.sendPV(),u&&u.useFmp||o.sendPerformance(),u&&u.sendResource&&o.sendResources()),o};var n=typeof window=="object"&&!!window.navigator;return n&&e[i]&&(t.bl=c()),ft.exports=t,ft.exports}function lo(){return ho()}var fo={getArmsLogger:lo};function po(s,c,e){const t=[],i=typeof Object.getOwnPropertyDescriptors=="function"?Object.getOwnPropertyDescriptors(Object.getPrototypeOf(s)):{};for(const n of Object.keys(i))i[n].get&&t.push(n);const r={MediaboxWrapperObjectGetter(n,a){if(typeof a=="string"&&t.indexOf(a)>-1)return St(n[a],c+1,e);const o={MediaboxWrapperObjectMethod(...u){return St(n[a](...u),c+1,e)}};return typeof n[a]=="function"?o.MediaboxWrapperObjectMethod:c>10?n[a]:St(n[a],c+1,e)},MediaboxWrapperObjectSetter(n,a,o){return n[a]=St(o,c+1,e),!0}};return new Proxy(s,{get:r.MediaboxWrapperObjectGetter,set:r.MediaboxWrapperObjectSetter})}function mo(s,c,e){const t={MediaboxWrapperFunctionApply(i,r,n){const a=i.apply(r,n);return St(a,c+1,e)},MediaboxWrapperFunctionGet(i,r){const n=Object.getOwnPropertyDescriptor(i,r);if(n&&!n.writable&&!n.configurable)return i[r];const a={MediaboxWrapperFunctionGet(...o){const u=i[r](...o);return St(u,c+1,e)}};return typeof i[r]=="function"?a.MediaboxWrapperFunctionGet:St(i[r],c+1,e)},MediaboxWrapperClassConstructor(i,r){const n=new i(...r);return St(n,c+1,e)}};return new Proxy(s,{apply:t.MediaboxWrapperFunctionApply,get:t.MediaboxWrapperFunctionGet,construct:t.MediaboxWrapperClassConstructor})}const go=s=>s!==null&&typeof s=="object",vo=s=>Object.prototype.toString.call(s).slice(8,-1),bo=s=>Object.isExtensible(s)?vo(s)==="Object":!1;function St(s,c,e){return typeof s=="function"?mo(s,c+1,e):s instanceof Promise?s.then(t=>St(t,c+1,e)).catch(t=>(t instanceof Error&&typeof t.stack=="string"&&t.stack.indexOf("MediaboxWrapper")>-1&&e(t),Promise.reject(t))):Array.isArray(s)?s.map(t=>St(t,c+1,e)):go(s)&&bo(s)?po(s,c+1,e):s}const xo="https://arms-retcode-sg.aliyuncs.com/r.png?",So="https://arms-retcode.aliyuncs.com/r.png?",_o="https://retcode-us-west-1.arms.aliyuncs.com/r.png?",yo={cn:So,sg:xo,usw:_o};class hr{constructor(c){ot(this,"armsLogger"),ot(this,"isReady",!1),ot(this,"isDestroyed",!1),ot(this,"options"),ot(this,"queue",[]),ot(this,"helper",{MediaboxWrapperQueue(n){return new Error(n)},MediaboxWrapperInitiative(n){return new Error(n)}}),this.options=c;const{region:e="cn",env:t="prod"}=c,i=n=>{var a;if(this.isDestroyed)return!1;if(n.c1=(a=this.options.cid)!=null?a:window.location.host,n.c2=hr.version,this.options.customData&&(n.c3=new URLSearchParams(this.options.customData).toString()),n.t==="error"){if(n.file.indexOf("g.alicdn.com/apsara-media-")>-1||n.file.indexOf("g.alicdn.com/thor-server")>-1||n.stack.indexOf("MediaboxWrapper")>-1){let o=n;return this.options.beforeSend&&(o=this.options.beforeSend(n)),this.isReady?o:(o&&this.queue.push(o),!1)}return!1}return n},r=fo.getArmsLogger();this.armsLogger=r.singleton({pid:"e1iftji1w7@7ec1cef2cc88733",tag:c.businessName,release:`${c.businessName}_${c.version}`,imgUrl:yo[e],behavior:!0,sample:1,disableHook:!0,environment:t,beforeReport:i})}static get version(){return"0.10.0"}wrap(c){return this.options.disabled||typeof Proxy>"u"?c:St(c,0,e=>this.armsLogger.error(e))}updateOptions(c){this.options=be(be({},this.options),c)}setReady(){this.isReady=!0,this.queue.length&&this.queue.forEach(c=>{this.armsLogger.error(this.helper.MediaboxWrapperQueue(c.msg),{filename:c.file,lineno:c.line,colno:c.col})})}report(c,e){this.armsLogger.error(this.helper.MediaboxWrapperInitiative(c),e)}destroy(){this.isDestroyed=!0}}for(var Re=(s=>(s.PullStreamStats="remoteStat",s.RtsSubscribeExceeds="rtsSubscribeExceeds",s.UserJoined="userJoined",s.UserLeft="userLeft",s.Bye="bye",s.MuteAudio="muteAudio",s.UnmuteAudio="unmuteAudio",s.MuteVideo="muteVideo",s.UnmuteVideo="unmuteVideo",s.MuteScreen="muteScreen",s.UnmuteScreen="unmuteScreen",s.Error="error",s))(Re||{}),it=(s=>(s.Local="local-device-status-change",s.Remote="remote-device-status-change",s))(it||{}),Z=(s=>(s.Audio="sophon_audio",s.VideoLarge="sophon_video_camera_large",s.VideoSmall="sophon_video_camera_small",s.Screen="sophon_video_screen_share",s.Data="sophon_data",s))(Z||{}),dr=(s=>(s.Audio="rts audio",s.VideoLarge="rts video",s))(dr||{}),Ut=(s=>(s.Add="add",s.Delete="delete",s.Replace="replace",s.Stop="stop",s.UnPublish="unpublish",s))(Ut||{}),si=(s=>(s[s.Camera=0]="Camera",s[s.Screen=1]="Screen",s[s.Image=2]="Image",s))(si||{}),ki=(s=>(s[s.Microphone=0]="Microphone",s[s.Screen=1]="Screen",s[s.Mixed=2]="Mixed",s))(ki||{}),Le=(s=>(s.InRoom="inRoom",s.Join="join",s.Publish="publish",s.User="user",s.Resume="resume",s))(Le||{}),zt=(s=>(s[s.MANUAL=0]="MANUAL",s[s.JOINCHANNEL=1]="JOINCHANNEL",s))(zt||{}),Ze=[],lr=0;lr<256;++lr)Ze.push((lr+256).toString(16).slice(1));function Ao(s,c=0){return(Ze[s[c+0]]+Ze[s[c+1]]+Ze[s[c+2]]+Ze[s[c+3]]+"-"+Ze[s[c+4]]+Ze[s[c+5]]+"-"+Ze[s[c+6]]+Ze[s[c+7]]+"-"+Ze[s[c+8]]+Ze[s[c+9]]+"-"+Ze[s[c+10]]+Ze[s[c+11]]+Ze[s[c+12]]+Ze[s[c+13]]+Ze[s[c+14]]+Ze[s[c+15]]).toLowerCase()}var Pi,Eo=new Uint8Array(16);function wo(){if(!Pi&&(Pi=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Pi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pi(Eo)}var Co=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const tn={randomUUID:Co};function Ht(s,c,e){if(tn.randomUUID&&!c&&!s)return tn.randomUUID();s=s||{};var t=s.random||(s.rng||wo)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,c){e=e||0;for(var i=0;i<16;++i)c[e+i]=t[i];return c}return Ao(t)}var Bi=(s=>(s.prod="rs.rtn.aliyuncs.com",s.pre="prs.rtn.aliyuncs.com",s))(Bi||{});const fr="6.12.0-beta.3",rn="web";class _t{static getVersionNumber(){let c=fr.split("."),e="";return c.forEach(t=>{t.length===1?e+="0"+t:e+=t}),parseInt(e)}static queryingParam(c){let e=[];if(c)for(let t in c)e.push(t+"="+c[t]);return e.join("&")}static getQueryParams(c){const t=window.location.search.substring(1).split("&");for(let i=0;i<t.length;i++){const r=t[i].split("=");if(decodeURIComponent(r[0])===c)return decodeURIComponent(r[1])}}static createCallid(c=""){const e=Ht();return c&&e&&e.length>c.length?`${c}${e.substring(c.length)}`:e}static checkSubOptionsValid(c){if(c){const{audio:e,video:t,screen:i}=c;if(e===!1&&t===!1&&i===!1)return!1}return!0}static isNetworkAvailable(){return V(this,null,function*(){const c=Bi.prod,{onLine:e}=navigator;if(!e)return!1;try{return yield fetch(`https://${c}/roomserver/v1/ws/version`),!0}catch(t){return!1}})}}var _e=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function sn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Io(s){if(s.__esModule)return s;var c=s.default;if(typeof c=="function"){var e=function t(){return this instanceof t?Reflect.construct(c,arguments,this.constructor):c.apply(this,arguments)};e.prototype=c.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(s).forEach(function(t){var i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return s[t]}})}),e}function pi(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nn={exports:{}};/*!
5
5
 
6
6
  JSZip v3.10.1 - A JavaScript class for generating and reading zip files
7
7
  <http://stuartk.com/jszip>
@@ -36,7 +36,7 @@ var cu=Object.defineProperty,uu=Object.defineProperties;var hu=Object.getOwnProp
36
36
  `;const h=(p,d)=>p[0].localeCompare(d[0]),g=p=>p[0].startsWith("x-log-")||p[0].startsWith("x-acs-");try{const p=[...r.entries()].filter(g).sort(h).map(d=>d[0]+":"+d[1]+`
37
37
  `).join("");u+=p}catch(p){}u+=c,i.size>0&&(u+="?");try{u+=[...i.entries()].sort(h).map(p=>p[0]+"="+p[1]).join("&")}catch(p){}const f=mi.HmacSHA1(u,t).toString(mi.enc.Base64),l="LOG "+e+":"+f;return r.set("Authorization",l),r.set("x-log-date",a),l}var Mc=(s,c,e)=>new Promise((t,i)=>{var r=o=>{try{a(e.next(o))}catch(u){i(u)}},n=o=>{try{a(e.throw(o))}catch(u){i(u)}},a=o=>o.done?t(o.value):Promise.resolve(o.value).then(r,n);a((e=e.apply(s,c)).next())});function Fc(s){return Mc(this,null,function*(){const c=new Date;if(s.refreshSTSTokenInterval||(s.refreshSTSTokenInterval=3e5),!s.stsTokenFreshTime||+c-s.stsTokenFreshTime>=s.refreshSTSTokenInterval){s.stsTokenFreshTime=c;try{yield s.refreshSTSToken()}catch(e){typeof console.error=="function"&&console.error(`Some error occured during excuting refreshSTSToken, see:
38
38
  `+e)}}return null})}var Oc=(s,c,e)=>new Promise((t,i)=>{var r=o=>{try{a(e.next(o))}catch(u){i(u)}},n=o=>{try{a(e.throw(o))}catch(u){i(u)}},a=o=>o.done?t(o.value):Promise.resolve(o.value).then(r,n);a((e=e.apply(s,c)).next())});function oa(s){return{transString:function(c){let e={},t=0,i=!1;for(let r in c){if((r==="time"||r==="__time__")&&typeof c[r]=="number"){t=c[r],i=!0;continue}typeof c[r]=="object"?e[r]=JSON.stringify(c[r]):e[r]=String(c[r])}return e.__time__=i?t:Math.floor(new Date().getTime()/1e3),e},process:function(c,e,t){return Oc(this,null,function*(){yield Fc(s);let i=c.slice(c.indexOf("/logstores")),r=e.length,n=Lc(e),a="",o=new Date().getTime()/1e3;s.latestTime=o;let u=s.latestInvalidTime?o-s.latestInvalidTime:0;if(t&&(s.latestInvalidTime=s.latestTime,s.latestValidTime=t),t)a=new Date(t*1e3).toUTCString();else if(s.latestValidTime){const l=s.latestValidTime+u;a=new Date(l*1e3).toUTCString()}else a=new Date(o*1e3).toUTCString();let h=new Map,g=new Map([["Content-Type","application/json"],["Content-MD5",n],["x-log-bodyrawsize",r.toString()]]);s.securityToken&&g.set("x-acs-security-token",s.securityToken),Nc("POST",i,s.accessKeyId,s.accessKeySecret,h,g,n,a);let f=Object.fromEntries(g);return{data:e,header:f}})}}}typeof window!="undefined"&&sa(window,"stsPlugin",oa);const{BrowserUtil:Vc}=me.AliRTS,ni={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Gecko:"Gecko",WebKit:"WebKit"},Vi=(s,c)=>{const e=c.match(s);return e&&e.length>0&&e[1]||""},Uc=[{test:[/\sedg\//i,[/edg([ea]|ios)/i]],describe(s){if(/\sedg\//i.test(s))return{name:ni.Blink};const e=Vi(/edge\/(\d+(\.?_?\d+)+)/i,s);return{name:ni.EdgeHTML,version:e}}},{test:[/trident/i],describe(s){const c={name:ni.Trident},e=Vi(/trident\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test(s){const c=/gecko/i.test(s),e=/like gecko/i.test(s);return c&&!e},describe(s){const c={name:ni.Gecko},e=Vi(/gecko\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:ni.Blink}}},{test:[/(apple)?webkit/i],describe(s){const c={name:ni.WebKit},e=Vi(/webkit\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}}],as=(s,c)=>s.find(e=>{if(typeof e.test=="function")return e.test(c);if(Array.isArray(e.test))return e.test.some(t=>typeof t=="string"?c.indexOf(t)>-1:t instanceof RegExp?t.test(c):!1)}),zc=()=>{try{const s=navigator.userAgent||"",c=as(Uc,s);if(c){const e=c.describe(s);return`${e.name}/${e.version||Vc.browserVersion}`}}catch(s){}return navigator.userAgent},Hc=[{test:["wow64","win64","x64"],describe(){return"amd64"}},{test:["i686","x86"],describe(){return"x86"}},{test:["aarch64","arm64"],describe(){return"arm64"}},{test:["arm"],describe(){return"arm"}}],jc=()=>{let s="unknown";try{const c=navigator.userAgent||"",e=as(Hc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},Wc=[{test:[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],describe(){return"Samsung"}},{test:[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i,/\((ipad);[-\w\),; ]+apple/i,/(macintosh);/i],describe(){return"Apple"}},{test:[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],describe(){return"Huawei"}},{test:[/(?:honor)([-\w ]+)[;\)]/i],describe(){return"Honor"}},{test:[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],describe(){return"Xiaomi"}},{test:[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],describe(){return"Oppo"}},{test:[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],describe(){return"Vivo"}},{test:[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],describe(){return"Realme"}},{test:[/(pixel c)\b/i,/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],describe(){return"Google"}},{test:[/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],describe(){return"ZTE"}},{test:[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],describe(){return"Meizu"}}],Kc=()=>{let s="Unknown";try{const c=navigator.userAgent||"",e=as(Wc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},{BrowserUtil:os,SystenUtil:ca}=me.AliRTS;class ua{constructor(){_(this,"tracker");_(this,"param");_(this,"msgCacheArr",[]);_(this,"index",0);_(this,"stsOpt");_(this,"slsToken");_(this,"ossToken")}createTracker(){if(!this.tracker&&this.slsToken&&this.param){const c=this.slsToken;this.ossToken&&(this.param.ossbn=this.ossToken.bucket_name,this.param.ossep=this.ossToken.region_endpoint);const e=new aa({host:c.region_endpoint,project:c.project,logstore:c.log_store_stats}),t={accessKeyId:c.access_key_id,accessKeySecret:c.access_key_secret,securityToken:c.security_token,refreshSTSToken:()=>{this.slsToken&&(t.accessKeyId=this.slsToken.access_key_id,t.accessKeySecret=this.slsToken.access_key_secret,t.securityToken=this.slsToken.security_token)}};this.stsOpt=t;const i=oa(t);e.useStsPlugin(i),this.tracker=e,this.msgCacheArr.forEach((r,n)=>{var a,o;(o=this.tracker)==null||o.send(be(It(be({},this.param),{stat_log_id:`${((a=this.param)==null?void 0:a.sesid)||"nosession"}-${n}`}),r))}),this.index=this.index+this.msgCacheArr.length,this.msgCacheArr=[]}}start(c){this.initParam(c),this.createTracker()}updateToken(c,e){this.slsToken=c,this.ossToken=e,this.createTracker()}stop(){this.tracker=void 0}sendReport(c){var e,t;if(c.tm=Date.now(),!this.tracker){this.msgCacheArr.push(c);return}(t=this.tracker)==null||t.send(be(It(be({bt:os.browserName||"unknown"},this.param),{stat_log_id:`${((e=this.param)==null?void 0:e.sesid)||"nosession"}-${this.index}`}),c)),this.index++}initParam(c){let e=localStorage.getItem("AliRtcUUID");e||(e=Ht(),localStorage.setItem("AliRtcUUID",e)),this.param||(this.param={apid:c.appId,usrid:c.userId,statsvrs:"0.6.1",evetid:0,sesid:c.sessionId,sessionId:c.sessionId,channelid:c.channelId,usrn:c.userId,osn:ca.systemName,osv:ca.systemVersion,deb:Kc(),den:zc(),udid:e,sdkvrs:fr,acs:"Unknown",cput:jc(),dm:`${window.location.protocol}//${window.location.host}`,bt:os.browserName,bv:os.browserVersion,envir:"PRODUCT",args:""})}}const Be=(s,c=1,e=6e4,t=0)=>{let i=s;return i||(i=0),Math.min(e,Math.max(t,Math.round(i*c)))},gt=(s,c,e=2e7,t=0)=>{let i=c;(!c||c<0||c>1e4)&&(i=1e3);let r=s;return r||(r=0),Math.min(e,Math.max(t,Math.round(r/(i/1e3))))},$t=(s,c)=>{if(c===0)return 0;let e=s;return(!e||e<0)&&(e=0),+((e||0)/c*100).toFixed(2)},ha=s=>s>=0&&s<=1?Be(Math.floor(32767*s),1,32767):0,Me=(s,c)=>{var t,i,r;let e=((t=s._last)==null?void 0:t[c])||0;return s.ssrc&&((i=s._last)!=null&&i.ssrc)&&s.ssrc!==((r=s._last)==null?void 0:r.ssrc)&&(e=0),((s==null?void 0:s[c])||0)-e},$c=(s,c)=>{var e,t,i;return(((e=s==null?void 0:s._source)==null?void 0:e[c])||0)-(((i=(t=s==null?void 0:s._last)==null?void 0:t._source)==null?void 0:i[c])||0)},da=(s,c)=>Be(Me(s,c),1e3,1e4),qt=(s,c=2e7)=>Be(s,1,c),Ri=class Ri{constructor(c){_(this,"engine");_(this,"logClient");_(this,"authInfo");this.logClient=new ua,this.engine=c}static getLogClient(){return this.staticClient||(this.staticClient=new ua),this.staticClient}static reportOSSUpload(c,e,t=0){Ri.getLogClient().sendReport({errmsg:`${e}/${c}.log`,errtype:t,evetid:70017,sesid:c,sessionId:c,stat_log_id:`${c}-70017`})}start(c){this.authInfo=c,this.logClient.start(c)}updateToken(c,e){this.logClient.updateToken(c,e),Ri.getLogClient().updateToken(c,e)}stop(){this.logClient.stop()}reportPublishMonitor(c,e,t,i,r){if(!t||r.length<=0)return;const n=t===Z.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],A=[],E=[],I=[],C=[],R=[],L=[],T=[];try{if(r.forEach(M=>{var H,F,K,Y,ge,ce;if(!M||!M.timestamp)return;const w=(H=M._last)!=null&&H.timestamp?M.timestamp-M._last.timestamp:1e3,N=Me(M,"bytesSent"),y=Me(M,"headerBytesSent"),U=gt(Be(N+y,8,2e7),w);o.push(U);const te=gt(Be(N,8,2e7),w);u.push(te);const q=gt(Be(y,8,2e7),w);h.push(q);const ae=Me(M,"packetsSent"),$=gt(ae,w);g.push($);const re=Me(M,"packetsLost"),k=gt(re,w);f.push(k);const P=$t(re,ae);if(l.push(P),n)(F=M._source)!=null&&F.audioLevel&&p.push(ha(M._source.audioLevel)),d.push(0);else{m.push(da(M,"totalEncodeTime")),b.push(qt((K=M._source)==null?void 0:K.framesPerSecond,100)),v.push(qt((Y=M._source)==null?void 0:Y.framesPerSecond,100)),x.push(qt(M.framesPerSecond,100)),A.push(qt((ge=M._source)==null?void 0:ge.height,4400)),E.push(qt((ce=M._source)==null?void 0:ce.width,7700)),I.push(qt(M.frameHeight,4400)),C.push(qt(M.frameWidth,7700));const Se=Me(M,"totalPacketSendDelay");R.push(Be(Se,1/(re||1),2e3));const De=Me(M,"qpSum");L.push(Be(De,1/(M.framesPerSecond||1),51)),T.push(0)}}),a.sbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.ps=g.join(","),a.pl=f.join(","),a.plr=l.join(","),n){const M=(i==null?void 0:i.getSettings().sampleRate)||0;a.ailevel=p.join(","),a.arpc=d.join(","),a.arsr=M,a.aesr=M,a.publevel=-90,a.rawlevel=-90}else a.em=m.join(","),a.cfps=b.join(","),a.ifps=v.join(","),a.sfps=x.join(","),a.ih=A.join(","),a.iw=E.join(","),a.sh=I.join(","),a.sw=C.join(","),a.sd=R.join(","),a.aqp=L.join(","),a.caf=T.join(","),a.can=T.join(","),a.cav=u.join(","),a.ifimax=T.join(","),a.ifimin=T.join(","),a.efimax=T.join(","),a.efimin=T.join(","),a.sfimax=T.join(","),a.sfimin=T.join(","),a.apsnr=T.join(",")}catch(M){}this.log({evetid:10070,traceid:e,calid:c,args:this.data2String(be({calid:c,tckid:t,traceid:e},a))})}reportSubscribeMonitor(c,e,t,i,r){if(!i||!r||r.length<=0)return;const n=i===Z.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],A=[],E=[],I=[],C=[],R=[],L=[],T=[],M=[],w=[],N=[],y=[],U=[],te=[],q=[],ae=[],$=[],re=[],k=[],P=[],H=[],F=[],K=[];try{r.forEach(Y=>{var z,Q;if(!Y||!Y.timestamp)return;const ge=(z=Y._last)!=null&&z.timestamp?Y.timestamp-Y._last.timestamp:1e3,ce=Me(Y,"bytesReceived"),Se=Me(Y,"headerBytesReceived"),De=gt(Be(ce+Se,8,2e7),ge);o.push(De);const Ie=gt(Be(ce,8,2e7),ge);u.push(Ie);const Fe=gt(Be(Se,8,2e7),ge);h.push(Fe);const Te=Me(Y,"packetsReceived"),S=gt(Te,ge);g.push(S);const G=Me(Y,"packetsLost"),W=gt(G,ge);f.push(W);const B=$t(G,Te);l.push(B);const D=Be(Y.jitterBufferDelay,1e3/Y.jitterBufferEmittedCount,3e4);p.push(D);const O=Me(Y,"fecPacketsReceived");x.push($t(O,Te));const X=Me(Y,"retransmittedPacketsReceived"),J=Te+G-X;if(m.push($t(Te-X,J)),b.push($t(G,J)),d.push($t(X,J)),v.push(J),F.push(0),K.push(""),n){E.push(ha(Y.audioLevel));const le=$c(Y,"synthesizedSamplesEvents");I.push(le);const ie=da(Y,"synthesizedSamplesDuration");C.push(ie);const pe=$t(ie,ge);A.push(pe),R.push(0)}else{const le=(Q=Y._last)!=null&&Q.totalInterFrameDelay?Y.totalInterFrameDelay-Y._last.totalInterFrameDelay:0;L.push(Be(le,1e3/(Y.framesDecoded||30),500)),T.push(Be(Y.framesPerSecond,1,100)),M.push(Be(Y.framesPerSecond,1,100)),w.push(Be(Y.frameHeight,1,4400)),N.push(Be(Y.frameWidth,1,7700));const ie=Me(Y,"totalProcessingDelay");y.push(Be(ie,1e3/(Y.framesDecoded||30),12e4));const pe=Me(Y,"nackCount");te.push(pe);const Ce=Me(Y,"pliCount");U.push(Ce);const ye=Me(Y,"qpSum");q.push(Be(ye,1/(Y.framesPerSecond||1),51)),ae.push(Be(Y.framesDropped));const et=Me(Y,"totalFreezesDuration");$.push(Be(et,1e3,3e4));const xt=Me(Y,"jitterBufferEmittedCount"),Ke=Me(Y,"jitterBufferDelay");re.push(Be(Ke,1e3/(xt||1),3e4));const dt=Me(Y,"jitterBufferTargetDelay");k.push(Be(dt,1e3/(xt||1),3e4));const Ne=Me(Y,"jitterBufferMinimumDelay");P.push(Be(Ne,1e3/(xt||1),3e4)),H.push(Be(Y.framesPerSecond,1,100))}}),a.rbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.pr=g.join(","),a.pl=f.join(","),a.plr=l.join(","),a.jd=p.join(","),a.fecr=x.join(","),a.retransr=d.join(","),a.baser=m.join(","),a.basel=b.join(","),a.recoverr=F.join(","),a.alll=b.join(","),a.totalc=v.join(","),n?(a.er=A.join(","),a.aolevel=E.join(","),a.asrc=R.join(","),a.scnt=I.join(","),a.sdura=C.join(",")):(a.dm=L.join(","),a.dfps=T.join(","),a.rfps=M.join(","),a.rh=w.join(","),a.rw=N.join(","),a.fpt=K.join(","),a.ns=te.join(","),a.pliss=U.join(","),a.aqp=q.join(","),a.ofimax=F.join(","),a.ofimin=F.join(","),a.dfimax=F.join(","),a.dfimin=F.join(","),a.rfimax=F.join(","),a.rfimin=F.join(","),a.vrstutter=$.join(","),a.cdm=re.join(","),a.tdm=k.join(","),a.pdm=P.join(","),a.ofps=H.join(","),a.dfbd=ae.join(","))}catch(Y){}this.log({evetid:10080,traceid:t,rmtid:e,calid:c,args:this.data2String(be({calid:c,rmtid:e,tckid:i,traceid:t},a))})}reportNetworkMonitor(c){if(c.length<=0)return;const e=[],t=[],i=[],r=[],n=[],a=[],o=[],u=[],h=[],g=[];c.forEach((l,p)=>{var m;if(!l.timestamp)return;const d=(m=l._last)!=null&&m.timestamp?l.timestamp-l._last.timestamp:1e3;e.push(Be(l.currentRoundTripTime,1e3)),t.push(Be(l.availableOutgoingBitrate,8,2e8)),i.push(gt(Be(l.bytesSent,8,2e7),d,25e6)),r.push(gt(Be(l.bytesReceived,8,2e7),d,25e6)),n.push(0),a.push(0),p%5===0&&(o.push(""),u.push(""),h.push(""),g.push(""))});const f={ctm:Math.floor(c[0].timestamp||0),rtt:e.join(","),bsps:i.join(","),brps:r.join(","),cpu:o.join(","),mem:u.join(","),sysmem:h.join(","),systotalmem:g.join(","),audioonly:this.engine.isAudioOnly()?1:0};this.log({evetid:10071,args:this.data2String(be({asb:t.join(","),abms:n.join(","),vbms:a.join(",")},f))}),this.log({evetid:10081,args:this.data2String(be({},f))})}reportJoin(c,e,t=""){var g,f;const{start:i,rs:r=0,re:n=0}=e,a=Date.now()-i,o=n-r;let u=0;r&&(u=r-i);let h=0;n&&(h=n-r),this.log({evetid:10010,args:this.data2String({sesid:((g=this.authInfo)==null?void 0:g.sessionId)||"",joitm:a,rslt:c,gslbtm:0,dnstm:0,avcftm:0,gslbrslt:0,dnsrslt:0,avcfrslt:0,mode:2,jrtc:o,usrn:(f=this.authInfo)==null?void 0:f.userId,mgt:"cdn",cttc:u,iptc:h,ndn:1,gslbloc:1,ccag:0,ucag:0,cpg:0,upg:0,tid:t})})}reportJoinConnection(c){this.log({evetid:20002,args:this.data2String(be({transretrynum:0,ldnstc:0,tcptc:0,ssltc:0,url:""},c))})}reportLeave(c,e,t){this.log({evetid:10020,args:this.data2String({lvetm:c,rslt:e,tid:t})})}reportPublish(c,e,t,i,r,n,a,o,u,h,g){this.log({evetid:c?10032:10030,calid:t,args:this.data2String({calid:t,url:e,isvl:i?1:0,isvs:r?1:0,isvss:n?1:0,isaudio:a?1:0,rslt:o,tid:"123",pubtm:Date.now()-g,pctid:u,pubtid:h,isvp:0,isarecording:0,isad:0,isdc:0,pubretry:0,pbrttimes:0})})}reportPublishFirstPacket(c,e,t,i,r,n,a,o,u){const h=Date.now();this.log({evetid:c?10033:10031,calid:e,args:this.data2String({calid:e,fpst:h-t,tckid:n,est:t,pctid:a,pubtid:o,totaltm:h-r,jorm:u===zt.JOINCHANNEL?1:0,cptc:0,sptc:i-t,iptc:0,ipc2fptc:0,dctc:0,patc:0})})}reportUnpublish(c,e,t,i){var r;this.log({evetid:10040,args:this.data2String({calid:c,unpubtm:e,rslt:t,tid:i,sesid:((r=this.authInfo)==null?void 0:r.sessionId)||""})})}reportSubscribe(c,e,t,i,r,n,a,o,u,h){this.log({evetid:10050,calid:c,rmtid:e,args:this.data2String(be({calid:c,rmtid:e,isvl:t?1:0,isvs:i?1:0,isvss:r?1:0,isaudio:n?1:0,rslt:a,tid:o,subtm:u,isvp:0,isaplaying:0,isad:0,isdc:0,subretry:0,sbrttimes:0},h))})}reportSubscribeFirstPacket(c,e,t,i,r){this.log({evetid:c?10054:10051,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i,cptc:0,iptc:0,ipc2fptc:0,dctc:0,patc:0},r))})}reportSubscribeFirstFrame(c,e,t,i,r){this.log({evetid:c?10055:10052,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))}),this.log({evetid:c?10058:10057,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))})}reportUnsubscribe(c,e,t,i,r){this.log({evetid:10060,calid:c,args:this.data2String({calid:c,rmtid:e,unsubtm:t,rslt:i,tid:r})})}reportMute(c,e,t){this.log({evetid:11030,args:this.data2String({calid:c,rmtid:"",enable:e?1:0,mt:t})})}reportRoleUpdate(c,e){this.log({evetid:11040,args:this.data2String({or:c||"",nr:e,ctm:Date.now(),rslt:0})})}reportRoleUpdateResult(c,e,t,i){this.log({evetid:11041,args:this.data2String({or:c||"",nr:e,ctm:t,rslt:i})})}reportVideoProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_camera_large"})})}reportScreenProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_screenshare"})})}reportError(c){this.log({evetid:10091,args:this.data2String({rslt:c.code||-1})})}reportWarning(c){this.log({evetid:10092,args:this.data2String({rslt:-1,errmsg:c})})}reportRoomServerEvent(c,e,t,i){this.log({evetid:20005,args:this.data2String({calid:"",rmtid:"",rt:c?0:1,dr:c?"s":"r",mt:e,ri:t,cs:1,srt:Date.now(),rspc:i.code||"",mc:JSON.stringify(i)})})}reportTranscodingError(c,e){this.log({evetid:10101,args:this.data2String({rslt:c,taskid:e})})}reportBye(c){var e;this.log({evetid:10093,args:this.data2String({rslt:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportAudio(c,e,t){var i;this.log({evetid:80013,args:this.data2String({rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})}),this.log({evetid:80014,args:this.data2String({sesid:((i=this.authInfo)==null?void 0:i.sessionId)||"",rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})})}reportScreen(c,e){var t,i;this.log({evetid:90013,args:this.data2String({rslt:c?-1:0,vcms:e,vde:c.code?c.code:-1,sesid:((t=this.authInfo)==null?void 0:t.sessionId)||""})}),this.log({evetid:90014,args:this.data2String({rslt:c?-1:0,vcms:e,vde:c.code?c.code:-1,sesid:((i=this.authInfo)==null?void 0:i.sessionId)||""})})}reportScreenStop(c){this.log({evetid:90019,args:this.data2String({rslt:c?c.code||-1:0})}),this.log({evetid:90020,args:this.data2String({rslt:c?c.code||-1:0})})}reportSwitchCamera(c){var e;this.log({evetid:90025,args:this.data2String({rslt:0,td:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportPublishProfile(c,e){this.log({evetid:10201,args:this.data2String(be({tckid:c},e))})}reportSDKCreated(c){this.log({evetid:70011,createtm:Date.now()-c,tm:c})}reportJoinInvoked(c){this.log({evetid:70012,jnnonce:c.nonce||"",jntoken:c.token||"",jntm:c.timestamp||""})}reportJoinResult(c){this.log({evetid:70013,rslt:c?c.code||-1:0,dnsrslt:0})}reportSTSResult(c){this.log({evetid:70014,rslt:c,asty:1})}reportLeaveInvoked(){this.log({evetid:70015})}reportSEIMessage(c,e,t,i,r){this.log({evetid:40301,args:this.data2String({tm:Date.now(),sei_pt:c,sei_len:e,sei_rep:t,sei_delay:i,sei_key:r})})}log(c){c&&(c.tm=new Date().getTime(),ne.debug("[ConsoleLogger]","log",c),this.logClient.sendReport(c))}data2String(c){let e="";for(let t in c)e.length&&(e+="&"),e+=t+"="+c[t];return e}};_(Ri,"staticClient");let gi=Ri;const qc=1e3*60*60*24*7,Gc=s=>{if(s.length!==8)return new Date;const c=parseInt(s.substring(0,4),10),e=parseInt(s.substring(4,6),10)-1,t=parseInt(s.substring(6,8),10);if(isNaN(c)||isNaN(e)||isNaN(t))return new Date;const i=new Date(c,e,t);return isNaN(i.getTime())?new Date:i};var cs=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.API=2]="API",s[s.WARNING=3]="WARNING",s[s.ERROR=4]="ERROR",s[s.NONE=5]="NONE",s))(cs||{});class Ui{constructor(){_(this,"dbPromise");_(this,"stsToken");_(this,"logLevel");_(this,"logToConsole");_(this,"logToServer");_(this,"appId");_(this,"sessionId");_(this,"logCache",[]);_(this,"logMethod",(c,e=console.log)=>(...t)=>{if(this.logLevel>c)return;let i=this.getCurrentTime();this.logToConsole&&e(i,...t);let r=Ui.paramArrayToString(t);c>0&&this.addLog(r)});_(this,"d",this.logMethod(0,console.debug));_(this,"i",this.logMethod(1));_(this,"w",this.logMethod(3,console.warn));_(this,"e",this.logMethod(4,(...c)=>{const[e,...t]=c;console.error(e,"<error>",t)}));_(this,"ev",this.logMethod(2));_(this,"a",this.logMethod(2,(...c)=>{const[e,...t]=c;if(t.length>2){const i=`${t[1]}`;i.startsWith("__g__")&&console.group(`${i.substring(5)}_${t[2]}`)}console.log(e,...t)}));_(this,"ar",this.logMethod(2,(...c)=>{const[e,...t]=c;console.log(e,...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));_(this,"ae",this.logMethod(2,(...c)=>{const[e,...t]=c;console.error(e,"<error>",...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));this.logLevel=3,this.logToConsole=!0,this.logToServer=!0,this.appId="",this.sessionId="",this.dbPromise=jo()}static toString(c){let e;if(c instanceof Error)e=c.message;else if(typeof c=="string")e=c;else try{e=JSON.stringify(c)}catch(t){e="undefined"}return e}changeConfig(c){c.logLevel!==void 0&&c.logLevel>=0&&c.logLevel<=5&&(this.logLevel=c.logLevel),c.logToConsole!==void 0&&(this.logToConsole=c.logToConsole),c.logToServer!==void 0&&(this.logToServer=c.logToServer)}updateSTSToken(c){const e=!!this.stsToken;this.stsToken=c,!e&&c&&this.tryUploadHistorySessionLog()}uploadSessionDateLog(c,e,t){return V(this,null,function*(){if(!c||!e||!t||t.length===0||!this.stsToken)return;const i=new Do;i.file(`${c}.log`,t.map(f=>f.log||"").join(`
39
- `));const r=yield i.generateAsync({type:"blob"}),n=yield Sc(r),a=ns(new Date,"UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'"),o={"x-oss-date":a,"content-md5":n,"content-type":"application/zip"};o.date=a,o["x-oss-security-token"]=this.stsToken.security_token;const u=`client/${e}/${this.appId}/${c}.zip`;o.authorization=yield yc(this.stsToken.access_key_id,this.stsToken.access_key_secret,o,`/${this.stsToken.bucket_name}/${u}`);const h=`https://${this.stsToken.bucket_name}.${this.stsToken.region_endpoint}/${u}`,g=yield fetch(h,{method:"PUT",headers:o,body:r});if(g.status===200){gi.reportOSSUpload(c,e);const f=yield this.dbPromise;t.forEach(l=>{mn(f,l.id)})}else gi.reportOSSUpload(c,e,g.status)})}uploadSessionLog(c){c&&this.dbPromise.then(e=>V(this,null,function*(){if(!this.stsToken)return;const t=yield pn(e,c),i={},r=[];t.forEach(n=>{const a=n.date;if(Date.now()-Gc(a).getTime()>qc)try{mn(e,n.id)}catch(o){}else i[a]||(i[a]=[],r.push(a)),i[a].push(n)}),Promise.all(r.map(n=>this.uploadSessionDateLog(c,n,i[n]))).then(()=>V(this,null,function*(){(yield pn(e,c)).length===0&&$o(e,c)}))}))}tryUploadHistorySessionLog(){this.dbPromise.then(c=>V(this,null,function*(){(yield Ko(c)).filter(t=>t.sid!==this.sessionId).forEach(t=>{this.uploadSessionLog(t.sid)})}))}uploadCurrent(){const c=this.sessionId;this.sessionId="",this.uploadSessionLog(c)}setSessionID(c,e){!c||!e||(this.appId=c,this.dbPromise.then(t=>{this.sessionId=e,Wo(t,e),this.logCache&&(this.logCache.forEach(i=>{fn(t,this.sessionId,i.date,`${i.log}`)}),this.logCache=[])}))}addLog(c){if(!this.logToServer)return;const e=this.getCurrentTime(),t=this.getCurrentDate(),i=`${e} ${c}`;this.sessionId?this.dbPromise.then(r=>{fn(r,this.sessionId,t,i)}):this.logCache.push({date:t,log:i})}getCurrentTime(){return ns(new Date,"HH:MM:ss.l")}getCurrentDate(){return ns(new Date,"yyyymmdd")}static paramArrayToString(c){let e="";for(let t=0;t<c.length;t++){e!==""&&(e+=" ");let i=Ui.toString(c[t]);e+=i}return e}}class ne{static getLogger(){return this.logger||(this.logger=new Ui),this.logger}static setLogLevel(c){this.getLogger().changeConfig({logLevel:c})}static config(c){this.getLogger().changeConfig(c)}static updateToken(c){this.getLogger().updateSTSToken(c)}static setSessionID(c,e){this.getLogger().setSessionID(c,e)}static uploadLog(){this.getLogger().uploadCurrent()}static interface(...c){this.getLogger().a("[API]",...c)}static interfaceResult(c,e,t,...i){t?this.getLogger().ar("[ARE]",c,e,...i):this.getLogger().ae("[ARE]",c,e,...i)}static event(...c){this.getLogger().ev("[EVT]",...c)}static debug(...c){this.getLogger().d("[DBG]",...c)}static info(...c){this.getLogger().i("[INF]",...c)}static warn(...c){this.getLogger().w("[WARN]",...c)}static error(...c){this.getLogger().e("[ERR]",...c)}}_(ne,"logger");const Jc=s=>V(this,null,function*(){const c=new me.AliRTS.SupportUtil;let e={support:!1,detail:{isWebRTCSupported:c.checkMediaDevices()&&c.checkWebRtcSupport(),isH264DecodeSupported:!1,isH264EncodeSupported:!1,isScreenShareSupported:!1,isSendMediaExtensionMsgSupported:!1,isBrowserSupported:c.checkBrowser({errorCode:0,message:""})}};if(e.support=e.detail.isWebRTCSupported&&e.detail.isBrowserSupported,c.checkWebRtcSupport()&&s!=="sendonly"){const t=yield c.checkH264Decode();e.detail.isH264DecodeSupported=t,e.support=e.support&&t}if(c.checkWebRtcSupport()&&s!=="recvonly"){const t=yield c.checkH264Encode();e.detail.isH264EncodeSupported=t,e.support=e.support&&t}return e.detail.isScreenShareSupported=c.checkWebRtcSupport()&&c.checkScreenCapture()&&!me.AliRTS.SystenUtil.isAndroid&&!me.AliRTS.SystenUtil.isIos,e.detail.isSendMediaExtensionMsgSupported=c.checkWebRtcSupport()&&c.checkEncodedTransformSupport(),e});var He=(s=>(s[s.AliRtcSdkStreamTypeCapture=0]="AliRtcSdkStreamTypeCapture",s[s.AliRtcSdkStreamTypeScreen=1]="AliRtcSdkStreamTypeScreen",s))(He||{}),la=(s=>(s[s.PRE_PROCESSOR=0]="PRE_PROCESSOR",s[s.POST_PROCESSOR=1]="POST_PROCESSOR",s))(la||{}),vi=(s=>(s[s.AUDIO=0]="AUDIO",s[s.VIDEO=1]="VIDEO",s[s.BOTH=2]="BOTH",s))(vi||{});class Gt extends xe{constructor(e,t=He.AliRtcSdkStreamTypeCapture,i=1){super();_(this,"name");_(this,"options");_(this,"type",0);_(this,"streamType");_(this,"trackType");_(this,"zIndex",1);_(this,"_isEnable",!0);_(this,"lastInputAudioTrack");_(this,"lastOutputAudioTrack");_(this,"lastInputVideoTrack");_(this,"lastOutputVideoTrack");_(this,"_hasCleared",!0);this.name=e,this.streamType=t,this.trackType=i,this.options=this.initOptions}get initOptions(){return{}}getOptions(){return this.options}init(){return V(this,null,function*(){})}enable(){this._isEnable||(this._isEnable=!0,this.init(),this.emit("enabled"))}disable(){this._isEnable&&(this._isEnable=!1,this.clear(),this.emit("disabled"))}get isEnable(){return this._isEnable}audioUpdated(e){var t,i;return((t=this.lastInputAudioTrack)==null?void 0:t.id)!==((i=e.currentAudioTrack)==null?void 0:i.id)}videoUpdated(e){var t,i;return((t=this.lastInputVideoTrack)==null?void 0:t.id)!==((i=e.currentVideoTrack)==null?void 0:i.id)}execute(e,t){return V(this,null,function*(){const i=this.shouldUpdate(e,t);this.lastInputAudioTrack=e.currentAudioTrack,this.lastInputVideoTrack=e.currentVideoTrack,this._hasCleared||i?(yield this.process(e,t),this._hasCleared=!1):(this.lastOutputAudioTrack&&(this.trackType===2||this.trackType===0)&&this.lastOutputAudioTrack&&e.updateAudioTrack(this.lastOutputAudioTrack),this.lastOutputVideoTrack&&(this.trackType===2||this.trackType===1)&&this.lastOutputVideoTrack&&e.updateVideoTrack(this.lastOutputVideoTrack)),this.lastOutputAudioTrack=e.currentAudioTrack,this.lastOutputVideoTrack=e.currentVideoTrack})}clear(e){this._hasCleared=!0,this.lastInputAudioTrack=void 0,this.lastInputVideoTrack=void 0,this.lastOutputAudioTrack=void 0,this.lastOutputVideoTrack=void 0}}var bi=(s=>(s[s.LiveTranscodingSingle=0]="LiveTranscodingSingle",s[s.LiveTranscodingMix=1]="LiveTranscodingMix",s))(bi||{}),us=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingAudio=1]="LiveTranscodingAudio",s[s.LiveTranscodingVideo=2]="LiveTranscodingVideo",s))(us||{}),ai=(s=>(s[s.LiveTranscodingCamera=0]="LiveTranscodingCamera",s[s.LiveTranscodingShareScreen=1]="LiveTranscodingShareScreen",s))(ai||{});const xi={0:"camera",1:"shareScreen"};var hs=(s=>(s[s.LiveTranscoding_Profile_1IN_1080P=0]="LiveTranscoding_Profile_1IN_1080P",s[s.LiveTranscoding_Profile_1IN_720P=1]="LiveTranscoding_Profile_1IN_720P",s[s.LiveTranscoding_Profile_1IN_360P=2]="LiveTranscoding_Profile_1IN_360P",s[s.LiveTranscoding_Profile_2IN_1080P=3]="LiveTranscoding_Profile_2IN_1080P",s[s.LiveTranscoding_Profile_2IN_720P=4]="LiveTranscoding_Profile_2IN_720P",s[s.LiveTranscoding_Profile_2IN_360P=5]="LiveTranscoding_Profile_2IN_360P",s[s.LiveTranscoding_Profile_4IN_1080P=6]="LiveTranscoding_Profile_4IN_1080P",s[s.LiveTranscoding_Profile_4IN_720P=7]="LiveTranscoding_Profile_4IN_720P",s[s.LiveTranscoding_Profile_4IN_360P=8]="LiveTranscoding_Profile_4IN_360P",s[s.LiveTranscoding_Profile_9IN_1080P=9]="LiveTranscoding_Profile_9IN_1080P",s[s.LiveTranscoding_Profile_9IN_720P=10]="LiveTranscoding_Profile_9IN_720P",s[s.LiveTranscoding_Profile_9IN_360P=11]="LiveTranscoding_Profile_9IN_360P",s[s.LiveTranscoding_Profile_12IN_1080P=12]="LiveTranscoding_Profile_12IN_1080P",s[s.LiveTranscoding_Profile_12IN_720P=13]="LiveTranscoding_Profile_12IN_720P",s[s.LiveTranscoding_Profile_12IN_360P=14]="LiveTranscoding_Profile_12IN_360P",s[s.LiveTranscoding_Profile_16IN_1080P=15]="LiveTranscoding_Profile_16IN_1080P",s[s.LiveTranscoding_Profile_16IN_720P=16]="LiveTranscoding_Profile_16IN_720P",s[s.LiveTranscoding_Profile_16IN_360P=17]="LiveTranscoding_Profile_16IN_360P",s[s.LiveTranscoding_Profile_Mixed=9999]="LiveTranscoding_Profile_Mixed",s))(hs||{});const Xc={0:"1IN_1080P",1:"1IN_720P",2:"1IN_360P",3:"2IN_1080P",4:"2IN_720P",5:"2IN_360P",6:"4IN_1080P",7:"4IN_720P",8:"4IN_360P",9:"9IN_1080P",10:"9IN_720P",11:"9IN_360P",12:"12IN_1080P",13:"12IN_720P",14:"12IN_360P",15:"16IN_1080P",16:"16IN_720P",17:"16IN_360P",9999:"Mixed_Audio"};var zi=(s=>(s[s.LiveTranscoding_HZ_48000=48e3]="LiveTranscoding_HZ_48000",s[s.LiveTranscoding_HZ_44100=44100]="LiveTranscoding_HZ_44100",s[s.LiveTranscoding_HZ_32000=32e3]="LiveTranscoding_HZ_32000",s[s.LiveTranscoding_HZ_16000=16e3]="LiveTranscoding_HZ_16000",s[s.LiveTranscoding_HZ_8000=8e3]="LiveTranscoding_HZ_8000",s))(zi||{}),Si=(s=>(s[s.LiveTranscodingNoBody=0]="LiveTranscodingNoBody",s[s.LiveTranscodingBody=1]="LiveTranscodingBody",s))(Si||{}),_i=(s=>(s[s.NOTO_SERIF_CJKSC_REGULAR=0]="NOTO_SERIF_CJKSC_REGULAR",s[s.ALIBABA_PUHUITI_REGULAR=1]="ALIBABA_PUHUITI_REGULAR",s[s.ALIBABA_PUHUITI_BOLD=2]="ALIBABA_PUHUITI_BOLD",s[s.ALIBABA_PUHUITI_Heavy=3]="ALIBABA_PUHUITI_Heavy",s[s.ALIBABA_PUHUITI_LIGHT=4]="ALIBABA_PUHUITI_LIGHT",s[s.ALIBABA_PUHUITI_MEDIUM=5]="ALIBABA_PUHUITI_MEDIUM",s))(_i||{}),ds=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingCrop=1]="LiveTranscodingCrop",s[s.LiveTranscodingFill=2]="LiveTranscodingFill",s))(ds||{}),Hi=(s=>(s[s.LiveTranscodingNormal=0]="LiveTranscodingNormal",s[s.LiveTranscodingVirtualBackground=1]="LiveTranscodingVirtualBackground",s))(Hi||{}),ls=(s=>(s[s.LiveTranscodingState_IDLE=0]="LiveTranscodingState_IDLE",s[s.LiveTranscodingState_CONNNECT=1]="LiveTranscodingState_CONNNECT",s[s.LiveTranscodingState_RUNNING=2]="LiveTranscodingState_RUNNING",s[s.LiveTranscodingState_RECOVERING=3]="LiveTranscodingState_RECOVERING",s[s.LiveTranscodingState_FAILURE=4]="LiveTranscodingState_FAILURE",s[s.LiveTranscodingState_END=5]="LiveTranscodingState_END",s))(ls||{}),wt=(s=>(s[s.LiveTranscodingErrorPublishOk=0]="LiveTranscodingErrorPublishOk",s[s.LiveTranscodingErrorStreamNotFound=17825793]="LiveTranscodingErrorStreamNotFound",s[s.LiveTranscodingErrorStreamAlreadyExist=17825794]="LiveTranscodingErrorStreamAlreadyExist",s[s.LiveTranscodingErrorInvalidParam=17825795]="LiveTranscodingErrorInvalidParam",s[s.LiveTranscodingErrorInternalError=17825796]="LiveTranscodingErrorInternalError",s[s.LiveTranscodingErrorRtmpServerError=17825797]="LiveTranscodingErrorRtmpServerError",s[s.LiveTranscodingErrorRtmpStreamUrlError=17825798]="LiveTranscodingErrorRtmpStreamUrlError",s[s.LiveTranscodingErrorPublishTimeout=17825799]="LiveTranscodingErrorPublishTimeout",s[s.LiveTranscodingErrorNotAuthorized=17825800]="LiveTranscodingErrorNotAuthorized",s))(wt||{}),fs=(s=>(s[s.TrascodingPublishTaskStatusStart=0]="TrascodingPublishTaskStatusStart",s[s.TrascodingPublishTaskStatusUpdate=1]="TrascodingPublishTaskStatusUpdate",s[s.TrascodingPublishTaskStatusStop=2]="TrascodingPublishTaskStatusStop",s))(fs||{}),at=(s=>(s[s.MPU_TASK_TRANSACTION_START=0]="MPU_TASK_TRANSACTION_START",s[s.MPU_TASK_TRANSACTION_UPDATE=1]="MPU_TASK_TRANSACTION_UPDATE",s[s.MPU_TASK_TRANSACTION_STOP=2]="MPU_TASK_TRANSACTION_STOP",s[s.MPU_TASK_TRANSACTION_LIST=3]="MPU_TASK_TRANSACTION_LIST",s[s.MPU_TASK_TRANSACTION_POLLING=4]="MPU_TASK_TRANSACTION_POLLING",s[s.MPU_TASK_TRANSACTION_ACKNOWLEDGE=5]="MPU_TASK_TRANSACTION_ACKNOWLEDGE",s[s.MPU_TASK_TRANSACTION_END=6]="MPU_TASK_TRANSACTION_END",s))(at||{});const Zc={0:"/libra/v1/sdk/start-task",1:"/libra/v1/sdk/update-task",2:"/libra/v1/sdk/stop-task",3:"/libra/v1/sdk/list-task",4:"/libra/v1/sdk/polling",5:"/libra/v1/sdk/acknowledge",6:"/"};class ps{constructor(c,e,t,i,r,n,a,o){_(this,"videoWidth");_(this,"videoHeight");_(this,"videoFramerate",20);_(this,"videoBitrate",2e3);_(this,"videoGop",30);_(this,"audioSamplerate",zi.LiveTranscoding_HZ_44100);_(this,"audioBitrate",500);_(this,"audioChannels",1);this.videoWidth=c,this.videoHeight=e,t&&(this.videoFramerate=t),i&&(this.videoBitrate=i),r&&(this.videoGop=r),n&&(this.audioSamplerate=n),a&&(this.audioBitrate=a),o&&(this.audioChannels=o)}}const ms=s=>((s&16711680)>>16)+(s&65280)+((s&255)<<16),vt=(s=0,c)=>{if(c==0)return 0;let e=s/c;return e<0&&(e=0),e>1&&(e=1),e};class ji{constructor(c,e,t){_(this,"mixMode",bi.LiveTranscodingSingle);_(this,"singleParam");_(this,"mixParam");c&&(this.mixMode=c),e&&(this.singleParam=e),t&&(this.mixParam=t)}toJson(c,e,t,i,r){const n={appid:e.appId,channelid:e.channelId};if(c===at.MPU_TASK_TRANSACTION_POLLING||c===at.MPU_TASK_TRANSACTION_LIST||c===at.MPU_TASK_TRANSACTION_ACKNOWLEDGE)return c===at.MPU_TASK_TRANSACTION_ACKNOWLEDGE&&(n.messageid=r),n;if(n.taskid=t,c!==at.MPU_TASK_TRANSACTION_STOP){if(n.mixmode=this.mixMode,i&&(n.streamurl=i),this.mixMode===bi.LiveTranscodingSingle){const a=this.singleParam;if(a){n.streamtype=a.streamType,a.sourceType===ai.LiveTranscodingShareScreen?n.sourcetype=xi[a.sourceType]:n.sourcetype=xi[ai.LiveTranscodingCamera];const o=[];a.userId&&o.push(a.userId),n.subspecusers=o}}else if(c===at.MPU_TASK_TRANSACTION_START||c===at.MPU_TASK_TRANSACTION_UPDATE){const a=this.mixParam;if(a){a.taskProfile&&(n.taskprofile=Xc[a.taskProfile]);const o=a.encodeParam||new ps(1280,720);let u=o.videoWidth,h=o.videoHeight;const g={};Object.keys(o).forEach(l=>{const p=o[l];p>0&&(g[l.toLowerCase()]=p)}),g.lowbitratehighquality=0,n.encodeparam=g,n.backgrounds=a.backgrounds.map(l=>l.toJson(u,h)),n.watermarks=a.watermarks.map(l=>l.toJson(u,h)),n.clockwidgets=a.clockWidgets.map(l=>l.toJson(u,h));const f=a.users.map(l=>l.userId);n.subspecusers=[...new Set(f)],n.layouts=[{audiomixcount:a.users.length,panes:a.users.map((l,p)=>l.toJson(p,u,h,a.mediaProcessMode))}],n.layoutids=["0"],n.cropmode=a.cropMode,n.backgroundcolor=ms(a.backgroundColor),n.taskmode=a.mediaProcessMode}}}return n}}var Rt=(s=>(s.pre="pre",s.prod="prod",s))(Rt||{}),Dt=(s=>(s.AliRtcSdkCommunication="communication",s.AliRtcSdkInteractiveLive="interactive_live",s.AliRtcSdkInteractiveWithLowLatencyLive="cdn_live",s))(Dt||{}),Pt=(s=>(s.AliRtcSdkInteractive="interactive",s.AliRtcSdkLive="live",s))(Pt||{}),Ct=(s=>(s[s.AliEngineLocalDeviceTypeUnknown=0]="AliEngineLocalDeviceTypeUnknown",s[s.AliEngineLocalDeviceTypeMic=1]="AliEngineLocalDeviceTypeMic",s[s.AliEngineLocalDeviceTypeSpeaker=2]="AliEngineLocalDeviceTypeSpeaker",s[s.AliEngineLocalDeviceTypeAudioDevice=3]="AliEngineLocalDeviceTypeAudioDevice",s[s.AliEngineLocalDeviceTypeCamera=4]="AliEngineLocalDeviceTypeCamera",s[s.AliEngineLocalDeviceTypeDisplay=5]="AliEngineLocalDeviceTypeDisplay",s[s.AliEngineLocalDeviceTypeVideoDevice=6]="AliEngineLocalDeviceTypeVideoDevice",s))(Ct||{}),Oe=(s=>(s[s.AliEngineLocalDeviceExceptionTypeUnknown=0]="AliEngineLocalDeviceExceptionTypeUnknown",s[s.AliEngineLocalDeviceExceptionTypeMicOpenFail=1]="AliEngineLocalDeviceExceptionTypeMicOpenFail",s[s.AliEngineLocalDeviceExceptionTypeMicInterrupt=2]="AliEngineLocalDeviceExceptionTypeMicInterrupt",s[s.AliEngineLocalDeviceExceptionTypeMicAuthFail=3]="AliEngineLocalDeviceExceptionTypeMicAuthFail",s[s.AliEngineLocalDeviceExceptionTypeMicNotAvailable=4]="AliEngineLocalDeviceExceptionTypeMicNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeSpeakerOpenFail=5]="AliEngineLocalDeviceExceptionTypeSpeakerOpenFail",s[s.AliEngineLocalDeviceExceptionTypeSpeakerInterrupt=6]="AliEngineLocalDeviceExceptionTypeSpeakerInterrupt",s[s.AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable=7]="AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeAudioDeviceException=8]="AliEngineLocalDeviceExceptionTypeAudioDeviceException",s[s.AliEngineLocalDeviceExceptionTypeCameraOpenFail=9]="AliEngineLocalDeviceExceptionTypeCameraOpenFail",s[s.AliEngineLocalDeviceExceptionTypeCameraInterrupt=10]="AliEngineLocalDeviceExceptionTypeCameraInterrupt",s[s.AliEngineLocalDeviceExceptionTypeCameraAuthFail=11]="AliEngineLocalDeviceExceptionTypeCameraAuthFail",s[s.AliEngineLocalDeviceExceptionTypeDisplayException=12]="AliEngineLocalDeviceExceptionTypeDisplayException",s[s.AliEngineLocalDeviceExceptionTypeVideoDeviceException=13]="AliEngineLocalDeviceExceptionTypeVideoDeviceException",s))(Oe||{}),ke=(s=>(s[s.AliRtcConnectionStatusInit=0]="AliRtcConnectionStatusInit",s[s.AliRtcConnectionStatusDisconnected=1]="AliRtcConnectionStatusDisconnected",s[s.AliRtcConnectionStatusConnecting=2]="AliRtcConnectionStatusConnecting",s[s.AliRtcConnectionStatusConnected=3]="AliRtcConnectionStatusConnected",s[s.AliRtcConnectionStatusReconnecting=4]="AliRtcConnectionStatusReconnecting",s[s.AliRtcConnectionStatusFailed=5]="AliRtcConnectionStatusFailed",s))(ke||{}),Jt=(s=>(s[s.AliRtcConnectionChangedDummyReason=0]="AliRtcConnectionChangedDummyReason",s[s.AliRtcConnectionMediaPathChanged=1]="AliRtcConnectionMediaPathChanged",s[s.AliRtcConnectionSignalingHeartbeatTimeout=2]="AliRtcConnectionSignalingHeartbeatTimeout",s[s.AliRtcConnectionSignalingHeartbeatAlive=3]="AliRtcConnectionSignalingHeartbeatAlive",s[s.AliRtcConnectionSignalingHttpDnsResolved=4]="AliRtcConnectionSignalingHttpDnsResolved",s[s.AliRtcConnectionSignalingHttpDnsFailure=5]="AliRtcConnectionSignalingHttpDnsFailure",s[s.AliRtcConnectionSignalingGslbFailure=6]="AliRtcConnectionSignalingGslbFailure",s[s.AliRtcConnectionSignalingGslbSuccess=7]="AliRtcConnectionSignalingGslbSuccess",s[s.AliRtcConnectionSignalingJoinRoomFailure=8]="AliRtcConnectionSignalingJoinRoomFailure",s[s.AliRtcConnectionSignalingJoinRoomSuccess=9]="AliRtcConnectionSignalingJoinRoomSuccess",s[s.AliRtcConnectionSignalingLeaveRoom=10]="AliRtcConnectionSignalingLeaveRoom",s[s.AliRtcConnectionSignalingConnecting=11]="AliRtcConnectionSignalingConnecting",s[s.AliRtcConnectionChangedNetworkInterrupted=12]="AliRtcConnectionChangedNetworkInterrupted",s))(Jt||{}),gs=(s=>(s[s.AliRtcUserOfflineQuit=0]="AliRtcUserOfflineQuit",s[s.AliRtcUserOfflineDropped=1]="AliRtcUserOfflineDropped",s[s.AliRtcUserOfflineBecomeAudience=2]="AliRtcUserOfflineBecomeAudience",s))(gs||{}),oi=(s=>(s[s.AliRtcAudioTrackNo=0]="AliRtcAudioTrackNo",s[s.AliRtcAudioTrackMic=1]="AliRtcAudioTrackMic",s[s.AliRtcAudioTrackDual=2]="AliRtcAudioTrackDual",s))(oi||{}),Ae=(s=>(s[s.AliRtcVideoTrackNo=0]="AliRtcVideoTrackNo",s[s.AliRtcVideoTrackCamera=1]="AliRtcVideoTrackCamera",s[s.AliRtcVideoTrackScreen=2]="AliRtcVideoTrackScreen",s[s.AliRtcVideoTrackBoth=3]="AliRtcVideoTrackBoth",s))(Ae||{}),ve=(s=>(s[s.AliRtcStatePublishIdle=0]="AliRtcStatePublishIdle",s[s.AliRtcStateNoPublish=1]="AliRtcStateNoPublish",s[s.AliRtcStatePublishing=2]="AliRtcStatePublishing",s[s.AliRtcStatePublished=3]="AliRtcStatePublished",s))(ve||{}),Pe=(s=>(s[s.AliRtcStateSubscribeIdle=0]="AliRtcStateSubscribeIdle",s[s.AliRtcStateNoSubscribe=1]="AliRtcStateNoSubscribe",s[s.AliRtcStateSubscribing=2]="AliRtcStateSubscribing",s[s.AliRtcStateSubscribed=3]="AliRtcStateSubscribed",s))(Pe||{}),Ye=(s=>(s[s.AliRtcVideoStreamTypeNone=0]="AliRtcVideoStreamTypeNone",s[s.AliRtcVideoStreamTypeHigh=1]="AliRtcVideoStreamTypeHigh",s[s.AliRtcVideoStreamTypeLow=2]="AliRtcVideoStreamTypeLow",s))(Ye||{}),yi=(s=>(s[s.CAMERA_INVALID=-1]="CAMERA_INVALID",s[s.CAMERA_REAR=0]="CAMERA_REAR",s[s.CAMERA_FRONT=1]="CAMERA_FRONT",s))(yi||{});const fa=10,pa=5e3,hi=class hi extends xe{constructor(e){super();_(this,"ws");_(this,"socketStatus",0);_(this,"wsUrl","");_(this,"lastConnectStartTime",0);_(this,"maxConnectRetryCount",fa);_(this,"connectRetryCount",0);_(this,"gotErr",!1);_(this,"closedByInvoke",!0);_(this,"isReconnecting",!1);_(this,"networkAvailableChecked",!0);_(this,"reconnectTimeoutId",0);this.maxConnectRetryCount=e!=null?e:fa,this.onOpen=this.onOpen.bind(this),this.onMessage=this.onMessage.bind(this),this.onError=this.onError.bind(this),this.onClose=this.onClose.bind(this)}get connectUrl(){return this.wsUrl}get connectStatus(){return this.socketStatus}start(e){this.wsUrl=e,this.initWebSocket()}send(e){return this.ws&&this.socketStatus===2?(this.ws.send(JSON.stringify(e)),!0):!1}close(){this.closedByInvoke=!0,this.uninitWebscoket()}reconnect(){this.reconnectTimeoutId&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=0),this.emit("onReconnectStart"),this.isReconnecting=!0,this.initWebSocket()}onOpen(e){ne.info(`[${hi.logName}]`,"onOpen"),this.socketStatus=2,this.connectRetryCount=0,this.networkAvailableChecked=!1,this.closedByInvoke=!1,this.gotErr=!1,this.isReconnecting=!1,this.emit("onOpen",e)}onMessage(e){this.emit("onMessage",e)}onError(e){this.isReconnecting&&this.emit("onReconnectFail",e),this.emit("onError",e),this.isReconnecting=!1,this.socketStatus!==2&&_t.isNetworkAvailable().then(t=>{t&&console.error(hi.logName,"onError, Network is available, token may be invalid")})}onClose(e){return V(this,null,function*(){if(this.closedByInvoke){this.socketStatus=0;return}if(ne.info(`[${hi.logName}]`,`onClose, code: ${e.code}, reason: ${e.reason}, status: ${status}, retryCount: ${this.connectRetryCount}`),(yield _t.isNetworkAvailable())&&!this.networkAvailableChecked){this.reconnect(),this.networkAvailableChecked=!0;return}else this.connectRetryCount||this.emit("onNetworkError"),this.reconnectTimeoutId||(this.connectRetryCount+=1,this.connectRetryCount>this.maxConnectRetryCount?this.emit("onConnectFail"):Date.now()-this.lastConnectStartTime>=pa?this.reconnect():this.reconnectTimeoutId=window.setTimeout(()=>{this.reconnect()},pa));this.socketStatus=0,this.emit("onClose",e)})}initWebSocket(){this.uninitWebscoket(),this.socketStatus=1,this.lastConnectStartTime=Date.now(),this.ws=new WebSocket(this.wsUrl),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)}uninitWebscoket(){this.ws&&(this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("message",this.onMessage),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("close",this.onClose),this.ws.readyState!==WebSocket.CLOSED&&this.ws.close(),this.ws=void 0,this.socketStatus=0)}};_(hi,"logName","Socket");let vs=hi;var Ve=(s=>(s.KEEPALIVE="keepalive",s.JOINCHANNEL="joinchannel",s.NOTIFYJOIN="notifyjoin",s.NOTIFYSTATUS="notifystatus",s.STATUSREPORT="statusreport",s.LEAVECHANNEL="leavechannel",s.NOTIFYLEAVE="notifyleave",s.NOTIFYPUBLISH="notifypublish",s.BYE="bye",s.RECONNECT="reconnect",s.PUBLISH="publish",s.REFRESHURL="refreshurl",s.UNSUBSCRIBE="unsubscribe",s.ROLEUPDATE="roleupdate",s))(Ve||{});class Yc{constructor(c,e){_(this,"authInfo");_(this,"userName");_(this,"seqIndex",0);this.authInfo=c,this.userName=e}get roleAuth(){if(this.authInfo.role){const{timestamp:c,nonce:e,token:t,role:i}=this.authInfo;return{timestamp:c,nonce:e,token:t,tokenrole:i}}}refreshAuthInfo(c){this.authInfo=c}getSeqIndex(){return this.seqIndex}createKeepAlivePackage(){return this.createBaseSendPackage("keepalive")}createJoinPackage(){let c=this.createBaseSendPackage("joinchannel");return c.header.displayName=this.userName,c.header.clientversion=_t.getVersionNumber().toString(),c.header.platform=rn,this.roleAuth&&(c.data.auth=this.roleAuth),c}crateLeavePackage(){return this.createBaseSendPackage("leavechannel")}createStatusPackage(c){let e=this.createBaseSendPackage("statusreport");return e.header.displayName=this.userName,e.data.status=c,e}createPublishPackage(){let c=this.createBaseSendPackage("publish");return c.data.users=[{}],this.roleAuth&&(c.data.auth=this.roleAuth),c}createRoleUpdatePackage(){let c=this.createBaseSendPackage("roleupdate");return c.header.displayName=this.userName,c}createReconnectPackage(c){let e=this.createBaseSendPackage("reconnect");return e.header.displayName=this.userName,e.header.clientversion=_t.getVersionNumber().toString(),e.header.platform=rn,e.data=be(be({},e.data),c!=null?c:{}),this.roleAuth&&(e.data.auth=this.roleAuth),e}createRefreshUrlPackage(){let c=this.createBaseSendPackage("refreshurl");return c.header.displayName=this.userName,c}createResponsePackage(c,e){return{version:1,code:200,tid:c,msgtype:e}}createBaseSendPackage(c){var t;return++this.seqIndex,{version:1,msgtype:c,tid:Ht(),header:{appid:this.authInfo.appId,channelid:this.authInfo.channelId,sessionid:(t=this.authInfo.sessionId)!=null?t:"",userid:this.authInfo.userId},data:{seq:this.seqIndex}}}}var oe=(s=>(s[s.ERR_JOIN_ALREADY_JOINED=16843521]="ERR_JOIN_ALREADY_JOINED",s[s.ERR_JOIN_BAD_APPID=33620481]="ERR_JOIN_BAD_APPID",s[s.ERR_JOIN_INVALID_APPID=33620482]="ERR_JOIN_INVALID_APPID",s[s.ERR_JOIN_BAD_CHANNEL=33620484]="ERR_JOIN_BAD_CHANNEL",s[s.ERR_JOIN_INVALID_CHANNEL=33620483]="ERR_JOIN_INVALID_CHANNEL",s[s.ERR_JOIN_BAD_TOKEN=33620485]="ERR_JOIN_BAD_TOKEN",s[s.ERR_JOIN_TIMEOUT=16908804]="ERR_JOIN_TIMEOUT",s[s.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD=16974081]="ERR_JOIN_ERR_JOIN_BAD_PARAMBAD",s[s.ERR_JOIN_CHANNEL_FAILED=16974338]="ERR_JOIN_CHANNEL_FAILED",s[s.ERR_LOG_ALREADY_INIT=16974085]="ERR_LOG_ALREADY_INIT",s[s.ERR_LOG_ROOT_PATH_ERROR=16974086]="ERR_LOG_ROOT_PATH_ERROR",s[s.ERR_MIC_OPEN_FAIL=17040388]="ERR_MIC_OPEN_FAIL",s[s.ERR_SPEAKER_OPEN_FAIL=17040389]="ERR_SPEAKER_OPEN_FAIL",s[s.ERR_MIC_INTERRUPT=17040390]="ERR_MIC_INTERRUPT",s[s.ERR_SPEAKER_INTERRUPT=17040391]="ERR_SPEAKER_INTERRUPT",s[s.ERR_MIC_AUTH_FAIL=17040392]="ERR_MIC_AUTH_FAIL",s[s.ERR_MIC_NOT_AVAILABLE=17040393]="ERR_MIC_NOT_AVAILABLE",s[s.ERR_SPEAKER_NO_AVAILABLE=17040400]="ERR_SPEAKER_NO_AVAILABLE",s[s.ERR_CAMERA_OPEN_FAIL=17039620]="ERR_CAMERA_OPEN_FAIL",s[s.ERR_CAMERA_INTERRUPT=17039622]="ERR_CAMERA_INTERRUPT",s[s.ERR_VIDEO_DISPLAY_OPEN_FAIL=17039873]="ERR_VIDEO_DISPLAY_OPEN_FAIL",s[s.ERR_VIDEO_DISPLAY_INTERRUPT=1064992]="ERR_VIDEO_DISPLAY_INTERRUPT",s[s.ERR_ICE_CONNECTION_CONNECT_FAIL=17105409]="ERR_ICE_CONNECTION_CONNECT_FAIL",s[s.ERR_ICE_CONNECTION_RECONNECT_FAI=17105410]="ERR_ICE_CONNECTION_RECONNECT_FAI",s[s.ERR_ICE_CONNECTION_MOBILITY_FAIL=17105411]="ERR_ICE_CONNECTION_MOBILITY_FAIL",s[s.ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT=16908812]="ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT",s[s.ERR_LATENCY_LIVE_COMMUNICATION_FAILED=17235971]="ERR_LATENCY_LIVE_COMMUNICATION_FAILED",s[s.ERR_LATENCY_LIVE_MEIDASETTING_FAILED=17235972]="ERR_LATENCY_LIVE_MEIDASETTING_FAILED",s[s.ERR_LATENCY_LIVE_NONE_BROADCASTER=17235973]="ERR_LATENCY_LIVE_NONE_BROADCASTER",s[s.ERR_LATENCY_LIVE_NEED_RESTART=17235974]="ERR_LATENCY_LIVE_NEED_RESTART",s[s.ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER=17235975]="ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER",s[s.ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE=17235976]="ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE",s[s.ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION=17235977]="ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION",s[s.ERR_SDK_PUBLISH_INVAILD=16974597]="ERR_SDK_PUBLISH_INVAILD",s[s.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL=16843782]="ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL",s[s.ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED=16843856]="ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED=16843857]="ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_DUAL_STRAM_FAILED=16843858]="ERR_SDK_PUBLISH_DUAL_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED=16843859]="ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED",s[s.ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR=16843860]="ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR",s[s.ERR_SDK_SUBSCRIBE_INVAILD=16974852]="ERR_SDK_SUBSCRIBE_INVAILD",s[s.ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL=16844112]="ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL",s[s.ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED=16844113]="ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED=16844114]="ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED=16844115]="ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED=16844116]="ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED",s[s.ERR_SDK_SUBSCRIBE_DATA_FAILED=16844117]="ERR_SDK_SUBSCRIBE_DATA_FAILED",s[s.ERR_SDK_INVALID_STATE=16974340]="ERR_SDK_INVALID_STATE",s[s.ERR_INVALID_ARGUMENTS=16974083]="ERR_INVALID_ARGUMENTS",s[s.ERR_SESSION_REMOVED=33620229]="ERR_SESSION_REMOVED",s[s.ERR_SDK_UPDATE_ROLE_CHANNEL=16908801]="ERR_SDK_UPDATE_ROLE_CHANNEL",s[s.ERR_INNER=-1]="ERR_INNER",s[s.ERR_SDK_MPU_TASK_PUBLISH_OK=0]="ERR_SDK_MPU_TASK_PUBLISH_OK",s[s.ERR_SDK_MPU_TASK_STREAM_NOT_FOUND=17825793]="ERR_SDK_MPU_TASK_STREAM_NOT_FOUND",s[s.ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST=17825794]="ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST",s[s.ERR_SDK_MPU_TASK_INVALID_PARAM=17825795]="ERR_SDK_MPU_TASK_INVALID_PARAM",s[s.ERR_SDK_MPU_TASK_INTERNAL_ERROR=17825796]="ERR_SDK_MPU_TASK_INTERNAL_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR=17825797]="ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR=17825798]="ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR",s[s.ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT=17825799]="ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT",s[s.ERR_SDK_MPU_TASK_NOT_AUTHORIZED=17825800]="ERR_SDK_MPU_TASK_NOT_AUTHORIZED",s[s.ERR_SDK_CHANNEL_RELAY_STATE_ERROR=18874369]="ERR_SDK_CHANNEL_RELAY_STATE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW=18874370]="ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW",s[s.ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED=18874371]="ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED",s[s.ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID=18874372]="ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID",s[s.ERR_SDK_CHANNEL_RELAY_ROLE_ERROR=18874373]="ERR_SDK_CHANNEL_RELAY_ROLE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_INVALID_PARAM=18874374]="ERR_SDK_CHANNEL_RELAY_INVALID_PARAM",s[s.ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR=18874375]="ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR",s))(oe||{});class ee extends Error{constructor(e,t,i){super(t);_(this,"_code");_(this,"_extra");this._code=e,this._extra=i}static fromRtsError(e){return new ee(e.errorCode||-1,e.message||e.errorCodeName||"rts error",e.extraInfo)}static fromError(e,t=-1,i=""){return new ee(t,e.message||e.reason||i||"error",e.extraInfo)}get code(){return this._code}set code(e){this._code=e}get reason(){return this.message}get extra(){return this._extra}}const Qc=3e4,ht=class ht extends xe{constructor(e,t,i,r,n,a){super();_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"wsClient");_(this,"packageCreater");_(this,"keepAliveTimer",0);_(this,"packageCache",new Map);_(this,"isFirstConnect",!0);_(this,"aliveChecker",0);_(this,"reconnectData");this.authInfo=e,this.userName=t,this.packageCreater=new Yc(e,t),this.channelProfile=i,this.clientRole=r,this.slsReporter=n,this.wsClient=new vs(a),this.wsClient.on("onOpen",this.onOpen.bind(this)),this.wsClient.on("onMessage",this.onMessage.bind(this)),this.wsClient.on("onError",this.onError.bind(this)),this.wsClient.on("onClose",this.onClose.bind(this)),this.wsClient.on("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.on("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.on("onNetworkError",this.onNetworkError.bind(this)),this.wsClient.on("onReconnectStart",this.onReconnectStart.bind(this)),this.wsClient.on("onReconnectFail",this.onReconnectFail.bind(this))}get retryCount(){return this.wsClient.connectRetryCount}start(e){this.wsClient.start(e)}startKeepAlive(){this.keepAliveTimer===0&&(this.keepAliveTimer=window.setInterval(()=>{let e=this.packageCreater.createKeepAlivePackage();this.sendPackage(e)},5e3)),this.checkAlive()}stopKeepAlive(){this.keepAliveTimer!==0&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=0),this.aliveChecker&&(window.clearTimeout(this.aliveChecker),this.aliveChecker=0)}sendPkgCache(){this.packageCache.forEach(e=>{this.wsClient.send(e)})}leave(){let e=this.packageCreater.crateLeavePackage();this.sendPackage(e)}reportStatus(e){let t=this.packageCreater.createStatusPackage(e);this.sendPackage(t)}publish(e){let t=this.packageCreater.createPublishPackage();t.data.users=[],e.subscribe.signal=this.wsClient.connectUrl;const{tracks:i,resume:r}=e;i.forEach(n=>{const{codec:a,ssrc:o}=n;n.userdata=JSON.stringify({codec:a}),n.ssrc=`${o}`,r&&(n.attr={reason:"reconnect"})}),t.data.users.push(e),this.sendPackage(t)}roleUpdate(e){let t=this.packageCreater.createRoleUpdatePackage();t.data.clientrole=e,this.sendPackage(t)}refreshUrl(e){const t=this.packageCreater.createRefreshUrlPackage();t.data=be(It(be({},t.data),{sessionid:t.header.sessionid}),e),this.sendPackage(t)}refreshAuthInfo(e){this.authInfo=e,this.packageCreater.refreshAuthInfo(e)}close(){ne.info(`[${ht.logName}] close`),this.stopKeepAlive(),this.wsClient.off("onOpen",this.onOpen.bind(this)),this.wsClient.off("onMessage",this.onMessage.bind(this)),this.wsClient.off("onError",this.onError.bind(this)),this.wsClient.off("onClose",this.onClose.bind(this)),this.wsClient.off("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.off("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.off("onReconnectStart"),this.wsClient.off("onReconnectFail"),this.wsClient.close()}sendPackage(e){[Ve.KEEPALIVE,Ve.RECONNECT,Ve.JOINCHANNEL].includes(e.msgtype)||this.packageCache.set(e.tid,e),this.wsClient.send(e),e.msgtype!==Ve.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!0,e.msgtype,e.tid,e)}updateReconnectData(e){this.reconnectData=e}onOpen(){if(ne.info(`[${ht.logName}] onOpen`),this.isFirstConnect){let e=this.packageCreater.createJoinPackage();e.data.configure={channelprofile:this.channelProfile},(this.channelProfile===Dt.AliRtcSdkInteractiveLive||this.channelProfile===Dt.AliRtcSdkInteractiveWithLowLatencyLive)&&(e.data.configure.clientrole=this.clientRole),this.sendPackage(e)}else{this.stopKeepAlive();const e=this.packageCreater.createReconnectPackage(this.reconnectData);this.sendPackage(e)}}onMessage(e){try{let t=JSON.parse(e.data);this.packageCache.delete(t.tid),this.onRecvMessage(t),t!=null&&t.msgtype&&(t==null?void 0:t.msgtype)!==Ve.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!1,t.msgtype,t.tid,t)}catch(t){ne.warn(`[${ht.logName}] onMessage err`,t,e)}}onError(e){ne.warn(`[${ht.logName}] onError`,e),this.isFirstConnect&&this.onConnectFail()}onConnectFail(){ne.warn(`[${ht.logName}] onConnectFail`);const e=new ee(oe.ERR_INNER,"Signaling connect failed.");this.isFirstConnect?this.emit("onJoinChannelResult",e):this.emit("onConnectFail",e)}onAuthInvalid(){ne.warn(`[${ht.logName}] onAuthInvalid`),this.isFirstConnect&&this.emit("onAuthInvalid")}onNetworkError(){ne.warn(`[${ht.logName}] onNetworkError`);const e=new ee(oe.ERR_INNER,"Network error, signaling connect failed.");this.emit("onNetworkError",e)}onClose(e){ne.info(`[${ht.logName}] onClose`,e),this.stopKeepAlive()}onKeepAliveRsp(){this.emit("onKeepAliveRsp"),this.checkAlive()}onReconnectStart(){this.emit("onReconnectStart")}onReconnectFail(){this.emit("onReconnectFail",new ee(oe.ERR_INNER,"signaling reconnect failed."))}checkAlive(){window.clearTimeout(this.aliveChecker),this.aliveChecker=window.setTimeout(()=>{ne.info(`[${ht.logName}] not alive, reconnect`),this.stopKeepAlive(),this.emit("onReconnectStart"),this.wsClient.reconnect()},Qc)}onRecvMessage(e){switch(e.msgtype!==Ve.KEEPALIVE&&ne.info(`[${ht.logName}] recv msg: ${e.msgtype}`),e.msgtype){case Ve.JOINCHANNEL:this.onJoinResult(e);break;case Ve.KEEPALIVE:this.onKeepAliveRsp();break;case Ve.PUBLISH:this.onPublishResult(e);break;case Ve.NOTIFYJOIN:this.onNotifyJoin(e);break;case Ve.NOTIFYSTATUS:this.onNotifyStatus(e);break;case Ve.LEAVECHANNEL:this.onLeaveResult(e);break;case Ve.NOTIFYLEAVE:this.onNotifyLeave(e);break;case Ve.NOTIFYPUBLISH:this.onNotifyPublish(e);break;case Ve.STATUSREPORT:this.onStatusReport(e);break;case Ve.BYE:this.onBye(e);break;case Ve.ROLEUPDATE:this.onRoleUpdateResult(e);break;case Ve.REFRESHURL:this.onRefreshUrlResult(e);break;case Ve.RECONNECT:this.onReconnectResult(e);break}}onJoinResult(e){this.isFirstConnect=!1,this.emit("onJoinChannelResult",e)}onLeaveResult(e){this.emit("onLeaveResult",e.code,e.tid)}onPublishResult(e){this.emit("onPublishResult",e.code,e.tid,e.description)}onRoleUpdateResult(e){this.emit("onRoleUpdateResult",e.code,e.tid,e.description)}onRefreshUrlResult(e){this.emit("onRefreshUrlResult",e)}onReconnectResult(e){if(e.code===200)this.sendPkgCache(),this.startKeepAlive(),this.emit("onReconnectSuccess",e.data.users);else{const t=new ee(oe.ERR_INNER,`reconnect failed, code: ${e.code};description: ${e.description}`);e.code===403&&(t.code=403),this.emit("onReconnectFail",t),this.close()}}onNotifyJoin(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e&&e.data&&e.data.users&&this.emit("onNotifyJoin",e.data.users)}onNotifyStatus(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.status&&e.data.status.length&&this.emit("onNotifyStatus",e.data.status)}onNotifyLeave(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyLeave",e.data.users)}onNotifyPublish(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyPublish",e.data.users)}onStatusReport(e){this.emit("onStatusReport",e.code,e.tid,e.description)}onBye(e){this.stopKeepAlive(),this.emit("onBye",e.reason,e.description)}};_(ht,"logName","RSMessageCenter");let bs=ht;const j=(s,c)=>(e,t,i)=>{const r=i.value;return i.value=function(...n){var g;const a=`[${((g=e.constructor)==null?void 0:g.logName)||""}]`,o=Date.now();let u=[];if(s)try{u=s(n)}catch(f){}ne.interface(a,t,...u);const h=r.apply(this,n);return Promise.resolve(h).then(f=>f).catch(f=>f).then(f=>{var m;let l="";const p=f instanceof Error,d=p&&((m=e.constructor)==null?void 0:m.logError);if(!(!c&&!p)){if(d)l=f;else if(p)l=f.message||"";else if(c)if(f===void 0)l="";else try{l=c(f)}catch(b){}else return;ne.interfaceResult(a,t,!(p&&d),`${Date.now()-o}ms`,l)}}),h},i},se=s=>s;var e0=Object.defineProperty,t0=Object.getOwnPropertyDescriptor,xs=(s,c,e,t)=>{for(var i=t>1?void 0:t?t0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&e0(c,e,i),i};const Wi=(rt=class extends xe{constructor(e,t,i,r=Rt.prod){super();_(this,"messageCenter");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"reconnectData");_(this,"roomServerUri","");this.channelProfile=e,this.clientRole=t,this.slsReporter=i,this.reconnectData={role:{channelprofile:e,clientrole:t}};const n=r===Rt.pre?Bi.pre:Bi.prod;this.roomServerUri=`wss://${n}/roomserver/v1/ws`}updateReconnectData(e){var t;this.reconnectData=e,(t=this.messageCenter)==null||t.updateReconnectData(this.reconnectData)}reset(){ne.info("[roomsig] reset"),this.messageCenter&&(this.messageCenter.close(),this.messageCenter=void 0),this.authInfo=void 0}join(e,t,i){return V(this,null,function*(){return new Promise((r,n)=>{const a={};this.authInfo=e,this.userName=t,this.messageCenter=new bs(e,t,this.channelProfile,this.clientRole,this.slsReporter,i),this.initMessageCenter(),this.messageCenter.once("onJoinChannelResult",u=>{var h,g,f;if(ne.info(`[${rt.logName}]`,"join result: ",u),a.taskretrynum=((h=this.messageCenter)==null?void 0:h.retryCount)||0,u.code==200){(g=this.messageCenter)==null||g.sendPkgCache(),(f=this.messageCenter)==null||f.startKeepAlive();let l=u.data;l.tid=u.tid,l.users=u.data.users,l.timestamp=u.timestamp,a.est&&(a.joinconnecttc=Date.now()-a.est),this.slsReporter.reportJoinConnection(a),r(l)}else this.reset(),n(this.handleSignalError(u.code,u.reason,oe.ERR_JOIN_CHANNEL_FAILED))}),this.messageCenter.once("onAuthInvalid",()=>{this.reset(),n(new ee(oe.ERR_JOIN_BAD_TOKEN,"join failed because authentication failed"))}),ne.info(`[${rt.logName}]`,"start ws connecting roomserver and auto join when connected");const o={appid:this.authInfo.appId,callid:this.authInfo.sessionId,channelid:this.authInfo.channelId,userid:this.authInfo.userId,nonce:this.authInfo.nonce||"",timestamp:this.authInfo.timestamp,token:this.authInfo.token,authtype:"app",tid:Ht()};e.role&&(o.tokenrole=e.role),a.est=Date.now(),this.messageCenter.start(this.roomServerUri+"?"+_t.queryingParam(o))})})}leave(){return ne.info("[roomsig] leave .."),new Promise((e,t)=>{this.messageCenter?(this.messageCenter.on("onLeaveResult",(i,r)=>{ne.info(`[${rt.logName}]`,"recv leave response "+i),i===200?(this.updateReconnectData(),this.reset(),e({tid:r})):t(this.handleSignalError(i,"leave error"))}),ne.info(`[${rt.logName}]`,"send leave request"),this.messageCenter.leave()):(ne.info(`[${rt.logName}]`,"no message center, ok to leave"),e({tid:""}))})}publish(e){return new Promise((t,i)=>{var r;this.messageCenter?(this.messageCenter.once("onPublishResult",(n,a,o)=>{ne.info(`[${rt.logName}]`,"recv pubish response "+n),n===200?(this.updateReconnectData(It(be({},this.reconnectData),{publish:{users:[e]}})),t({tid:a})):i(this.handleSignalError(n,`publish error, ${o}`))}),this.authInfo&&(e.sessionid=(r=this.authInfo.sessionId)!=null?r:""),e.callid||(e.callid=Ht()),ne.info(`[${rt.logName}]`,"assign callid "+e.callid+" and send publish request"),this.messageCenter.publish(e)):i(this.handleSignalError(-1,"publish error, no message center"))})}roleUpdate(e){return new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"role update error, no message center"));return}this.messageCenter.on("onRoleUpdateResult",(r,n,a)=>{var o,u;ne.info(`[${rt.logName}]`,"recv role update response "+r),r===200?((u=(o=this.reconnectData)==null?void 0:o.role)!=null&&u.clientrole&&(this.reconnectData.role.clientrole=e,this.updateReconnectData(this.reconnectData)),t({tid:n})):i(this.handleSignalError(r,`role update error, ${a}`))}),this.messageCenter.roleUpdate(e)})}setChannelProfile(e){this.channelProfile=e}refreshUrl(e){return ne.info(`[${rt.logName}]`,"refreshUrl .."),new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"refresh url error, no message center"));return}this.messageCenter.on("onRefreshUrlResult",r=>{const{code:n,description:a,data:o={}}=r||{};ne.info("recv refresh url response "+n),n===200?t(o):i(this.handleSignalError(n,`refresh url error, ${a}`))}),ne.info("send refresh url request"),this.messageCenter.refreshUrl(e)})}reportStatus(e){return ne.info(`[${rt.logName}]`,"reportStatus "+e),new Promise((t,i)=>{this.messageCenter?(this.messageCenter.once("onStatusReport",(r,n)=>{r===200?t():i(new ee(r,n))}),this.messageCenter.reportStatus(e)):i(new ee(-1,"No messageCenter"))})}handleSignalError(e,t,i=oe.ERR_INNER){const r=`signal error: code - ${e}; description - ${t}`;return new ee(i,r)}refreshAuthInfo(e){return V(this,null,function*(){var t;this.authInfo&&(this.authInfo=e,(t=this.messageCenter)==null||t.refreshAuthInfo(this.authInfo))})}initMessageCenter(){var e,t,i,r,n,a,o,u,h,g,f,l;(e=this.messageCenter)==null||e.on("onKeepAliveRsp",()=>{this.emit("onKeepAliveRsp")}),(t=this.messageCenter)==null||t.on("onNotifyJoin",p=>{this.emit("onNotifyJoin",p)}),(i=this.messageCenter)==null||i.on("onNotifyStatus",p=>{this.emit("onNotifyStatus",p)}),(r=this.messageCenter)==null||r.on("onNotifyLeave",p=>{this.emit("onNotifyLeave",p)}),(n=this.messageCenter)==null||n.on("onNotifyPublish",p=>{this.emit("onNotifyPublish",p)}),(a=this.messageCenter)==null||a.on("onBye",(p,d)=>{this.emit("onBye",p,d)}),(o=this.messageCenter)==null||o.on("onReconnectStart",()=>{this.emit("onReconnectStart")}),(u=this.messageCenter)==null||u.on("onReconnectSuccess",p=>{this.emit("onReconnectSuccess",p)}),(h=this.messageCenter)==null||h.on("onReconnectFail",p=>{this.emit("onReconnectFail",p)}),(g=this.messageCenter)==null||g.on("onConnectFail",p=>{this.emit("onConnectFail",p),this.reset()}),(f=this.messageCenter)==null||f.on("onNetworkError",p=>{this.emit("onNetworkError",p)}),(l=this.messageCenter)==null||l.on("onAuthInvalid",()=>{this.emit("onAuthInvalid")})}},_(rt,"logName","RoomServerSignaling"),rt);xs([j()],Wi.prototype,"join",1),xs([j()],Wi.prototype,"publish",1),xs([j()],Wi.prototype,"roleUpdate",1);let i0=Wi;const r0="https://pgw.rtn.aliyuncs.com",s0="https://gw.rtn.aliyuncs.com",ma=10*60*1e3,n0=12,Di=class Di extends xe{constructor(e,t){super();_(this,"env");_(this,"authInfo");_(this,"timer");_(this,"slsReporter");_(this,"expiration",0);_(this,"skipTime",0);_(this,"requestToken",()=>V(this,null,function*(){if(this.skipTime=0,!this.authInfo)return;const{appId:e,channelId:t,userId:i,nonce:r="",token:n,timestamp:a,sessionId:o,role:u}=this.authInfo;let h=s0;this.env===Rt.pre&&(h=r0);const g=`${h}/gslb/v1/stsupdate?appid=${e}&channelid=${t}&userid=${i}&nonce=${r}&token=${n}&timestamp=${a}&session=${o}${u?`&tokenrole=${u}`:""}&slstoken=true&osstoken=true&tokensid=false`;fetch(g).then(f=>f.json()).then(f=>{var l,p;if(f.code===0){const d=(l=f.data)==null?void 0:l.oss,m=(p=f.data)==null?void 0:p.sls;return this.expiration=d.expiration||m.expiration,this.emit("onTokenUpdate",d,m),ne.event(`[${Di.logName}]`,"getToken",d,m),f}this.slsReporter.reportSTSResult(200)}).catch(f=>{this.slsReporter.reportSTSResult(-1),ne.error(`[${Di.logName}]`,"getToken",f.message)})}));this.slsReporter=e,this.env=t}refreshAuthInfo(e){this.authInfo=e}startSTSUpdate(e){this.authInfo=e,this.requestToken(),this.timer&&clearInterval(this.timer),this.timer=window.setInterval(()=>{if(this.expiration&&Math.floor((Date.now()+ma*1.5)/1e3)<this.expiration&&this.skipTime<n0){this.skipTime+=1;return}this.requestToken()},ma)}clear(){this.timer&&clearInterval(this.timer)}};_(Di,"logName","StsManager");let Ss=Di;var a0=Object.defineProperty,o0=Object.getOwnPropertyDescriptor,c0=(s,c,e,t)=>{for(var i=t>1?void 0:t?o0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&a0(c,e,i),i};class _s extends xe{constructor(e,t,i,r=Rt.prod){super();_(this,"signaling");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"env",Rt.prod);_(this,"maxConnectRetryCount");_(this,"stsManager");_(this,"slsReporter");this.channelProfile=e,this.clientRole=t,this.env=r,this.slsReporter=i,this.stsManager=new Ss(i,r)}reset(){var e;ne.info("[signalingmanager] reset"),(e=this.signaling)==null||e.reset(),this.stsManager.clear(),this.signaling=void 0,this.authInfo=void 0}join(e,t=e.userId,i,r){return this.maxConnectRetryCount=i,this.userName=t,new Promise((n,a)=>{this.signaling?a(new ee(oe.ERR_JOIN_ALREADY_JOINED,"already joined")):(ne.info("[signalingmanager] create signaling"),this.signaling=new i0(this.channelProfile,this.clientRole,this.slsReporter,this.env),this.initSignaling(),r&&(r.rs=Date.now()),this.signaling.join(e,t,i).then(o=>{this.authInfo=e,r&&(r.re=Date.now()),n(o)}).catch(o=>{this.reset(),a(o)}),this.stsManager.startSTSUpdate(e))})}retryJoin(){const e=this.authInfo;this.reset(),e&&this.join(e,this.userName,this.maxConnectRetryCount)}leave(){return new Promise((e,t)=>{this.signaling?this.signaling.leave().then(i=>{this.reset(),e(i)}).catch(i=>{t(i)}):e({tid:""})})}publish(e){return new Promise((t,i)=>{var r;this.signaling&&this.authInfo?(e.userid=this.authInfo.userId,e.displayname=(r=this.userName)!=null?r:this.authInfo.userId,this.signaling.publish(e).then(n=>{t(n)}).catch(n=>{i(n)})):i(new ee(oe.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL,"no signaling"))})}reportStatus(e){return new Promise((t,i)=>{this.signaling?this.signaling.reportStatus(e).then(()=>{t()}).catch(r=>{i(r)}):i(new ee(-1,"no signaling"))})}setClientRole(e){return V(this,null,function*(){const t=this.clientRole;if(!this.signaling){this.clientRole=e;return}const i=Date.now();try{const r=yield this.signaling.roleUpdate(e);return this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,0),r}catch(r){this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,r.code||-1)}})}setChannelProfile(e){this.signaling?this.signaling.setChannelProfile(e):this.channelProfile=e}refreshUrl(e){return this.signaling?this.signaling.refreshUrl(e):Promise.reject(new ee(oe.ERR_SDK_INVALID_STATE,"should join first"))}refreshAuthInfo(e){return V(this,null,function*(){var t;try{this.authInfo&&(this.authInfo=be(be({},this.authInfo),e),(t=this.signaling)==null||t.refreshAuthInfo(this.authInfo),this.stsManager.refreshAuthInfo(this.authInfo))}catch(i){throw i}})}initSignaling(){var e,t,i,r,n,a,o,u,h,g,f,l,p;(e=this.signaling)==null||e.on("onKeepAliveRsp",this.onKeepAliveRsp.bind(this)),(t=this.signaling)==null||t.on("onNotifyJoin",this.onNotifyJoin.bind(this)),(i=this.signaling)==null||i.on("onNotifyStatus",this.onNotifyStatus.bind(this)),(r=this.signaling)==null||r.on("onNotifyLeave",this.onNotifyLeave.bind(this)),(n=this.signaling)==null||n.on("onNotifyPublish",this.onNotifyPublish.bind(this)),(a=this.signaling)==null||a.on("onBye",this.onBye.bind(this)),(o=this.signaling)==null||o.on("onReconnectStart",this.onReconnectStart.bind(this)),(u=this.signaling)==null||u.on("onReconnectSuccess",this.onReconnectSuccess.bind(this)),(h=this.signaling)==null||h.on("onReconnectFail",this.onReconnectFail.bind(this)),(g=this.signaling)==null||g.on("onConnectFail",this.onConnectFail.bind(this)),(f=this.signaling)==null||f.on("onNetworkError",this.onNetworkError.bind(this)),(l=this.signaling)==null||l.on("onAuthInvalid",this.onAuthInvalid.bind(this)),(p=this.signaling)==null||p.on("onError",this.onError.bind(this))}onKeepAliveRsp(){this.emit("onKeepAliveRsp")}onNotifyJoin(e){this.emit("onNotifyJoin",e)}onNotifyStatus(e){this.emit("onNotifyStatus",e)}onNotifyLeave(e){this.emit("onNotifyLeave",e)}onNotifyPublish(e){this.emit("onNotifyPublish",e)}onBye(e,t){this.emit("onBye",e,t)}onConnectFail(e){this.reset(),this.emit("onConnectFail",e)}onNetworkError(e){this.emit("onNetworkError",e)}onAuthInvalid(e){}onReconnectStart(){this.emit("onReconnectStart")}onReconnectSuccess(e){this.emit("onReconnectSuccess",e)}onReconnectFail(e){this.emit("onReconnectFail",e)}onError(e){this.emit("onError",e)}}_(_s,"logName","SignalingManager"),c0([j(se)],_s.prototype,"publish",1);const ei=class ei{static getInstance(){return ei.instance||(ei.instance=new AudioContext),ei.instance.resume(),ei.instance}};_(ei,"instance");let ci=ei;function u0(s,c,e,t,i){let r=t,n=0,a;const o=s.createAnalyser();o.fftSize=256;const u=new Uint8Array(o.frequencyBinCount);c.connect(o),o.connect(e);const h=()=>{a&&window.clearInterval(a)},g=()=>{a=window.setInterval(()=>{o.getByteFrequencyData(u);let f=Math.round(u.reduce((l,p)=>l+p)/u.length);f=Math.min(100,f),n=f,i&&i(f)},r)};return g(),{updateInterval:f=>{h(),r=f,g()},getLevel:()=>n,dispose:()=>{h(),c.disconnect(),o.disconnect()}}}class h0 extends xe{constructor(){super();_(this,"audioContext");_(this,"stream");_(this,"sourceNode");_(this,"analyser");this.audioContext=ci.getInstance(),this.stream=new MediaStream}getLevel(){return this.analyser?this.analyser.getLevel():0}start(e,t=1e3){this.sourceNode&&this.stop(),this.stream.addTrack(e),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const i=this.audioContext.createMediaStreamDestination();this.analyser=u0(this.audioContext,this.sourceNode,i,t,r=>{this.emit("audioLevel",r)})}stop(){this.analyser&&this.analyser.dispose(),this.analyser=void 0,this.sourceNode=void 0,this.stream.getAudioTracks().forEach(e=>{this.stream.removeTrack(e)})}dispose(){this.stop()}}class ga extends xe{constructor(e,t,i,r){super();_(this,"uid");_(this,"name");_(this,"rtsManager");_(this,"callId","");_(this,"audioLevelMonitor");_(this,"audioVolumeIndicationInterval",0);this.uid=e,this.name=t,this.rtsManager=i,this.audioVolumeIndicationInterval=r,this.audioLevelMonitor=new h0}get userId(){return this.uid}get displayname(){return this.name}createCallId(){this.callId||(this.callId=_t.createCallid())}setUserInfo(e,t){this.uid=e,this.name=t}refreshUserInfo(e){this.uid=e}getAudioLevel(){return this.audioLevelMonitor.getLevel()}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval=e}clear(){this.audioLevelMonitor.dispose()}}class va{static getCurrentStatus(c){let e=0;c.micOpen&&(e+=1),c.micInterrupted&&(e+=2),c.cameraOpen&&(e+=4),c.screenShare&&(e+=128),c.audioDisable&&(e+=8),c.videoDisable&&(e+=16),c.screenDisable&&(e+=256);let t=e.toString(16);for(;t.length<16;)t="0"+t;return t}static parseStatus(c){let e=parseInt(c,16);return{micOpen:!!(e&1),micInterrupted:!!(e&2),cameraOpen:!!(e&4),screenShare:!!(e&128),audioDisable:!!(e&8),videoDisable:!!(e&16),screenDisable:!!(e&256),backgroundMode:!!(e&32),accompanyPlaying:!!(e&64)}}}const ba="customVideoProfile",xa="customScreenProfile",Ai={width:1280,height:720,frameRate:30,maxBitrate:2e3},Ei={width:1920,height:1080,frameRate:30,maxBitrate:2600},d0={1e4:Oe.AliEngineLocalDeviceExceptionTypeUnknown,2e4:Oe.AliEngineLocalDeviceExceptionTypeUnknown,10001:Oe.AliEngineLocalDeviceExceptionTypeMicNotAvailable,10002:Oe.AliEngineLocalDeviceExceptionTypeMicAuthFail,10003:Oe.AliEngineLocalDeviceExceptionTypeMicOpenFail,10005:Oe.AliEngineLocalDeviceExceptionTypeCameraAuthFail,10004:Oe.AliEngineLocalDeviceExceptionTypeVideoDeviceException,10006:Oe.AliEngineLocalDeviceExceptionTypeCameraOpenFail,10010:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10011:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10012:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10013:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10014:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10019:Oe.AliEngineLocalDeviceExceptionTypeDisplayException},l0=s=>s.getAudioTracks()[0];function Sa(s){var c;if(((c=s==null?void 0:s.nodeName)==null?void 0:c.toLowerCase())==="video")return s.setAttribute("playsinline",""),s;if(typeof s=="string"){let e=document.getElementById(s);if(e){if(e.nodeName.toLocaleLowerCase()==="video")return e.setAttribute("playsinline",""),e;throw new ee(oe.ERR_INVALID_ARGUMENTS,"element should be HtmlVideoElement")}else throw new ee(oe.ERR_INVALID_ARGUMENTS,"element not founded")}else throw new ee(oe.ERR_INVALID_ARGUMENTS,"element id should be string")}function ys(s){var e;const c=[];if(Array.isArray(s))s.forEach(t=>{try{c.push(Sa(t))}catch(i){}});else if(typeof s=="string"||((e=s==null?void 0:s.nodeName)==null?void 0:e.toLowerCase())==="video")try{c.push(Sa(s))}catch(t){}return c}function Xt(s){return new Promise(c=>setTimeout(c,s))}function _a(s,c,e=1e3,t=i=>!0){return V(this,null,function*(){let i=0,r;for(;i<c;)try{return yield s(i)}catch(n){if(i++,i>=c||!t(n))throw n||r;yield new Promise(a=>setTimeout(a,e))}})}function f0(s,c){let e=0;const t=[];for(;e<s.byteLength;){const i=Math.min(c,s.byteLength-e),r=s.slice(e,e+i);t.push(r),e+=i}return t}const ya=(s,c,e=!1)=>{const t=()=>(s.muted=!0,Promise.race([Xt(500),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{let i;return e&&s.srcObject===c?i=Promise.resolve():(s.load(),s.srcObject=c,i=s.play(),s._playPromise=i),i}));return new Promise(i=>{if(me.AliRTS.BrowserUtil.isMicroMessenger){const r=window.top!==window.self,n=window.WeixinJSBridge||window.top.WeixinJSBridge;n?n.invoke("getNetworkType",{},()=>{i(t())}):(r?window.top.document:document).addEventListener("WeixinJSBridgeReady",()=>{n.invoke("getNetworkType",{},()=>{i(t())})}),setTimeout(()=>{i(t())},1e3)}else setTimeout(()=>{i(t())},0)})},Bt=s=>{Promise.race([Xt(100),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{s.srcObject=null,s._playPromise=void 0})};var As=(s=>(s[s.AliEngineDataMsgNone=0]="AliEngineDataMsgNone",s[s.AliEngineDataMsgMusicProgress=1]="AliEngineDataMsgMusicProgress",s[s.AliEngineDataMsgCustom=2]="AliEngineDataMsgCustom",s))(As||{});class Ki{constructor(c,e,t,i=0){_(this,"msgType");_(this,"msgId");_(this,"protocolVersion");_(this,"tlvVersion");this.msgType=c,this.msgId=e,this.protocolVersion=t,this.tlvVersion=i}build(){const c=new Uint8Array(4);return c.set(Uint8Array.from([this.protocolVersion,this.tlvVersion<<4|this.msgType&15]),0),c.set(Uint16Array.from([this.msgId]),2),c}static parse(c){const e=new DataView(c),t=e.getUint8(0),i=e.getUint8(1)>>4,r=e.getUint8(1)&15,n=e.getUint16(2);return new Ki(r,n,t,i)}}const Zt=5;class $i{constructor(c,e,t){_(this,"_byteArray");if(this._byteArray=new Uint8Array(0),c!==void 0&&e!==void 0&&t!==void 0){const r=new Ki(c,e,t).build();this._byteArray=new Uint8Array(r.byteLength+this._byteArray.byteLength),this._byteArray.set(r,0)}}write(c,e){const t=this._byteArray,i=new ArrayBuffer(Zt),r=new DataView(i);r.setUint8(0,c),r.setUint32(1,e.byteLength);const n=new Uint8Array(t.byteLength+Zt+e.byteLength);n.set(t,0),n.set(new Uint8Array(i),t.byteLength),n.set(new Uint8Array(e),t.byteLength+Zt),this._byteArray=n}static parse(c){const e={},t=new DataView(c);let i=0;for(;i<c.byteLength;){const r=t.getUint8(i),n=t.getUint32(i+1);if(i+Zt+n<=c.byteLength){const a=c.slice(i+Zt,i+Zt+n);e[r]=a,i+=Zt+n}else break}return e}get buffer(){return this._byteArray.buffer}}class wi{constructor(c=0,e=!0,t=1,i=!1,r=0,n=!1,a=!1,o=3){_(this,"_fin",!0);_(this,"_hasExtension",!1);_(this,"_version",0);_(this,"_frameType",1);_(this,"_isEncrypted",!1);_(this,"_isCompressed",!1);_(this,"_signalType",3);_(this,"_payloadLength",0);this._fin=e,this._hasExtension=i,this._version=r,this._frameType=t,this._isEncrypted=n,this._isCompressed=a,this._signalType=o,this._payloadLength=c}get fin(){return this._fin}get hasExtension(){return this._hasExtension}get version(){return this._version}get frameType(){return this._frameType}get isEncrypted(){return this._isEncrypted}get isCompressed(){return this._isCompressed}get signalType(){return this._signalType}get payloadLength(){return this._payloadLength}toBuffer(){const c=new ArrayBuffer(4),e=new DataView(c);return e.setUint8(0,(this._fin?1:0)<<7|(this._hasExtension?1:0)<<6|this._version<<4|this._frameType&15),e.setUint8(1,(this._isEncrypted?1:0)<<7|(this._isCompressed?1:0)<<6|this._signalType&15),e.setUint16(2,this._payloadLength),c}static parse(c){const e=new DataView(c),t=e.getUint8(0)>>7===1,i=(e.getUint8(0)&64)>>6===1,r=(e.getUint8(0)&48)>>4,n=e.getUint8(0)&15,a=e.getUint8(1)>>7===1,o=(e.getUint8(1)&64)>>6===1,u=e.getUint8(1)&15,h=e.getUint16(2);return new wi(h,t,n,i,r,a,o,u)}}class qi{constructor(c,e){_(this,"_body");_(this,"_header",new wi);this._header=c,this._body=e}get header(){return this._header}get isFin(){return this._header.fin}get body(){return this._body}toGRTNBuffer(){const c=this._header.toBuffer(),e=this._body,t=new ArrayBuffer(4);new DataView(t).setUint8(0,1*Math.pow(2,4));const i=new Uint8Array(t.byteLength+c.byteLength+e.byteLength);return i.set(new Uint8Array(t),0),i.set(new Uint8Array(c),t.byteLength),i.set(new Uint8Array(e),t.byteLength+c.byteLength),i.buffer}static parse(c){const e=c.slice(0,4),t=wi.parse(e);let i=new ArrayBuffer(0);return c.byteLength-4>=t.payloadLength&&(i=c.slice(4,4+t.payloadLength)),new qi(t,i)}}const Es=s=>{const c=s.byteLength,e=new DataView(s);let t=0;for(let i=0;i<c;i++)t=t*256+e.getUint8(i);return t};let Aa=0;class Yt{constructor(c,e=0,t=0,i=0){_(this,"data");_(this,"networkTime");_(this,"futureOrProgress");_(this,"type");this.data=c,this.type=e,this.networkTime=t,this.futureOrProgress=i}toBuffer(){const c=new $i(0,0,0);c.write(1,Uint8Array.from([0]).buffer),c.write(2,Uint16Array.from([0]).buffer),Aa++,c.write(3,Uint32Array.from([Aa]).buffer);const e=new $i;return e.write(1,Uint8Array.from([0]).buffer),e.write(2,Uint8Array.from([this.type]).buffer),e.write(3,Uint32Array.from([this.futureOrProgress]).buffer),e.write(4,Uint32Array.from([Number(this.networkTime>>32&4294967295),Number(this.networkTime&4294967295)]).buffer),e.write(5,this.data),c.write(30,e.buffer),c.buffer}static parse(c){if(!c||c.byteLength<4)return;Ki.parse(c.slice(0,4));const t=$i.parse(c.slice(4))[30];if(!t)return;const i=$i.parse(t),r=i[2],n=i[3],a=i[4],o=i[5];if(o.byteLength!==0)return new Yt(o,Es(r),Es(a),Es(n))}}var p0=Object.defineProperty,m0=Object.getOwnPropertyDescriptor,je=(s,c,e,t)=>{for(var i=t>1?void 0:t?m0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&p0(c,e,i),i};const Ea=30;class Ci extends xe{constructor(){super();_(this,"state");_(this,"time");this.state=ve.AliRtcStatePublishIdle,this.time=Date.now()}setState(e){const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}}const Ue=(Mt=class extends ga{constructor(e){const{rtsManager:t,localStreamManager:i,slsReporter:r,signalingManager:n,audioVolumeIndicationInterval:a,parameter:o}=e;super("","",t,a);_(this,"url","");_(this,"joinTime",0);_(this,"_isPublishing",!1);_(this,"publishPromise",Promise.resolve(""));_(this,"previewElements",[]);_(this,"screenPreviewElements",[]);_(this,"streamManager");_(this,"dc");_(this,"streamTracks");_(this,"publishId",Ht());_(this,"signalingManager");_(this,"traceId","");_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"candidateDataCache",[]);_(this,"pcMediaStatsMap",{});_(this,"slsReporter");_(this,"audioPubState");_(this,"videoPubState");_(this,"videoSmallPubState");_(this,"screenPubState");_(this,"dataPubState");_(this,"parameter",{});_(this,"onTrackEnd",e=>{this.emit(e)});this.streamManager=i,this.signalingManager=n,this.slsReporter=r,this.parameter=o,this.streamManager.on("trackended",u=>{this.onTrackEnd(u)}),this.streamManager.on("publishupdate",()=>{this.publishUpdate()}),this.audioPubState=new Ci,this.audioPubState.on("change",(u,h,g)=>{this.emit("audioPublishStateChanged",u,h,g)}),this.videoPubState=new Ci,this.videoPubState.on("change",(u,h,g)=>{this.emit("videoPublishStateChanged",u,h,g)}),this.videoSmallPubState=new Ci,this.videoSmallPubState.on("change",(u,h,g)=>{this.emit("dualStreamPublishStateChanged",u,h,g)}),this.screenPubState=new Ci,this.screenPubState.on("change",(u,h,g)=>{this.emit("screenPublishStateChanged",u,h,g)}),this.dataPubState=new Ci,this.dataPubState.on("change",(u,h,g)=>{this.emit("dataPublishStateChanged",u,h,g)}),this.startStreamMonitor()}get joined(){return!!this.uid}get isPublishing(){return this._isPublishing}get publishStreams(){return this.streamManager.publishStreams}get cameraTrack(){return this.streamManager.cameraStreamInfo.originVideoTrack}get screenTrack(){return this.streamManager.screenStreamInfo.originVideoTrack}get audioTrack(){return this.streamManager.cameraStreamInfo.originAudioTrack}get hasCamera(){return!!this.streamManager.cameraStreamInfo.originVideoTrack}get hasMicrophone(){return!!this.streamManager.cameraStreamInfo.originAudioTrack}get hasScreenShare(){return!!this.streamManager.screenStreamInfo.originVideoTrack}get hasCameraTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.VideoLarge))}get hasCameraDualTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.VideoSmall))}get hasScreenTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.Screen))}get hasAudioTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="audio"&&t&&r===Z.Audio))}get cameraDirection(){var e,t;return(t=(e=this.streamManager.cameraStreamInfo)==null?void 0:e.cameraVideoConstraints)==null?void 0:t.facingMode}get audioCaptureDisabled(){return this.streamManager.audioCaptureDisabled}get cameraCaptureDisabled(){return this.streamManager.cameraCaptureDisabled}get publishLocalVideoStreamEnabled(){return this.streamManager.publishLocalVideoStreamEnabled}get publishLocalAudioStreamEnabled(){return this.streamManager.publishLocalAudioStreamEnabled}get publishLocalScreenStreamEnabled(){return this.streamManager.publishLocalScreenStreamEnabled}setPublishLocalAudioStreamEnabled(e){this.streamManager.publishLocalAudioStreamEnabled=e}setPublishLocalVideoStreamEnabled(e){this.streamManager.publishLocalVideoStreamEnabled=e}setPublishLocalScreenStreamEnabled(e){this.streamManager.publishLocalScreenStreamEnabled=e}initInfo(e,t){this.joinTime=Date.now(),this.rtsManager.localJoinTime=this.joinTime,this.setUserInfo(e.userId,e.userId),this.url=t,this.callId=e.sessionId||_t.createCallid(),this.updatePubId()}setVideoProfile(e,t){return V(this,null,function*(){yield this.streamManager.setVideoProfile(e,t)})}setVideoContentHint(e){this.streamManager.setVideoContentHint(e)}setScreenContentHint(e){this.streamManager.setScreenContentHint(e)}setAudioProfile(e){return V(this,null,function*(){yield this.streamManager.setAudioProfile(e)})}setScreenProfile(e,t){return V(this,null,function*(){yield this.streamManager.setScreenProfile(e,t)})}setCameraDirection(e){if(e===yi.CAMERA_FRONT)this.streamManager.setCameraVideoConstraints({facingMode:"user"});else if(e===yi.CAMERA_REAR)this.streamManager.setCameraVideoConstraints({facingMode:"environment"});else throw new ee(oe.ERR_CAMERA_OPEN_FAIL,`camera direction set to ${e} failed`)}setCameraDeviceId(e){this.streamManager.setCameraVideoConstraints({deviceId:e})}muteLocalCamera(e){this.streamManager.setCameraMuted(e),this.slsReporter.reportMute(this.callId,!e,"video")}muteLocalMic(e){this.streamManager.setAudioMuted(e),this.slsReporter.reportMute(this.callId,!e,"audio")}muteLocalScreen(e){this.streamManager.setScreenMuted(e),this.slsReporter.reportMute(this.callId,!e,"screen")}setMicrophoneDeviceId(e){this.streamManager.setMicAudioConstraints({deviceId:e})}updatePubId(){this.publishId=Ht()}clearPublishState(){this.streamTracks=void 0}clear(){return V(this,null,function*(){Ls(Mt.prototype,this,"clear").call(this),this._isPublishing&&(yield this.unPublish()),this.stopPreview(),this.resetPreviewElements(),this.resetSecondayPreviewElements(),this.clearStream(),this.streamManager.cameraCaptureDisabled=!1})}resetElement(e){this.previewElements.includes(e)&&(Bt(e),this.previewElements.splice(this.previewElements.indexOf(e),1)),this.screenPreviewElements.includes(e)&&(Bt(e),this.screenPreviewElements.splice(this.screenPreviewElements.indexOf(e),1))}setPreviewElement(e){const{videoElement:t,screen:i}=e;i?this.screenPreviewElements.includes(t)||this.screenPreviewElements.push(t):this.previewElements.includes(t)||this.previewElements.push(t)}setViewConfig(e,t){if(!e){t===Ae.AliRtcVideoTrackCamera?this.stopPreview({primary:!0,screen:!1}):this.stopPreview({primary:!1,screen:!0});return}if(![Ae.AliRtcVideoTrackCamera,Ae.AliRtcVideoTrackScreen].includes(t))throw new ee(oe.ERR_INVALID_ARGUMENTS,"set view config invalid track",{track:t});e.forEach(i=>{this.setPreviewElement({videoElement:i,screen:t===Ae.AliRtcVideoTrackScreen})})}startCameraCapture(e){return V(this,null,function*(){return this.streamManager.cameraCaptureDisabled=!1,yield this.createLocalStream(e)})}stopCameraCapture(){return V(this,null,function*(){this.streamManager.cameraCaptureDisabled=!0,yield this.stopLocalStream({video:!0})})}stopAudioCapture(){return V(this,null,function*(){this.streamManager.audioCaptureDisabled=!0,yield this.stopLocalStream({audio:!0})})}preview(e){return V(this,null,function*(){const{videoElement:t,screen:i}=e!=null?e:{};try{let r=i?this.streamManager.screenStreamInfo.previewStream:this.streamManager.cameraStreamInfo.previewStream;if(!t)throw new ee(oe.ERR_INVALID_ARGUMENTS,"no video element found",{videoElement:t});if(!r){ne.info(`[${Mt.logName}]`,"preview no stream founded");return}return ya(t,r.mediaStream),this.setPreviewElement(e),r.mediaStream}catch(r){const n=oe.ERR_INNER;throw ee.fromError(r,n,"preview failed")}})}previewAll(e){return V(this,null,function*(){const{primary:t=!0,screen:i=!0}=e!=null?e:{};if(t&&this.previewElements.length)for(let r=0;r<this.previewElements.length;r++){const n=this.previewElements[r];yield this.preview({videoElement:n})}if(i&&this.screenPreviewElements.length)for(let r=0;r<this.screenPreviewElements.length;r++){const n=this.screenPreviewElements[r];yield this.preview({videoElement:n,screen:!0})}})}stopPreview(e){const{videoElement:t,primary:i=!0,screen:r=!0}=e||{};if(!t)i&&(this.previewElements.forEach(n=>{Bt(n)}),this.previewElements=[]),r&&(this.screenPreviewElements.forEach(n=>{Bt(n)}),this.screenPreviewElements=[]);else{const n=this.previewElements.findIndex(a=>a===t);if(n>=0)this.previewElements.splice(n,1),Bt(t);else{const a=this.screenPreviewElements.findIndex(o=>o===t);a>=0&&(this.screenPreviewElements.splice(a,1),Bt(t))}}}resumePublish(){return V(this,null,function*(){this._isPublishing=!1,yield this.startPublish(!0)})}createLocalStream(e){return V(this,null,function*(){try{const t=yield this.streamManager.createLocalStream(e);return t!=null&&t.audioTrack&&this.audioVolumeIndicationInterval>0&&this.audioLevelMonitor.start(t.audioTrack,this.audioVolumeIndicationInterval),e.video?this.previewAll({primary:!0}):e.screen&&this.previewAll({screen:!0}),t}catch(t){const i=d0[t.errorCode];throw i&&(e.audio?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeMic,i,""):e.video?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeCamera,i,""):e.screen?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeDisplay,i,""):this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeUnknown,i,"")),t}})}stopLocalStream(e){return V(this,null,function*(){e.audio&&this.audioLevelMonitor.stop(),yield this.streamManager.stopLocalStream(e)})}compareAndPublish(e,t,i){return V(this,null,function*(){var n,a;if(!e&&!t)return;if(e&&!t){const o={};return i===Z.Audio?o.audio=!0:i===Z.VideoLarge||i===Z.VideoSmall?(o.video=!0,o.vMsid=i):i===Z.Screen&&(o.screen=!0),yield this.publishDeleteTracks(o)}const r={};if(t!=null&&t.hasVideo&&(r.isScreen=i===Z.Screen,r.vMsid=i),t!=null&&t.hasAudio&&(r.aMsid=i),!e&&t)return yield this.publishAdd(t,r,!1);if(e&&t){const o=e.trackId,u=((n=t.videoTrack)==null?void 0:n.id)||((a=t.audioTrack)==null?void 0:a.id);if(o!==u)return yield this.publishReplace(t,r)}})}reportAudioProfile(){const e=this.streamManager.cameraStreamInfo.audioProfile||"standard",t=me.AliRTS.AudioProfileMap.get(e);this.slsReporter.reportPublishProfile(Z.Audio,{a_profile:e,bits:(t==null?void 0:t.maxBitrate)||0,samplerate:(t==null?void 0:t.sampleRate)||0,channel:(t==null?void 0:t.channelCount)||0})}reportVideoProfile(){const e=this.streamManager.cameraStreamInfo.videoProfile||"",t=me.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(Z.VideoLarge,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}reportScreenProfile(){const e=this.streamManager.screenStreamInfo.videoProfile||"",t=me.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(Z.Screen,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}startPublish(){return V(this,arguments,function*(e=!1,t=zt.MANUAL){var u;if(!this.joined)return;this.createCallId();const i=yield this.streamManager.publishStreams,{audio:r,video:n,videoSmall:a,screen:o}=i;try{const h=new Date().getTime();r&&this.audioPubState.setState(ve.AliRtcStatePublishing),n&&this.videoPubState.setState(ve.AliRtcStatePublishing),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),o&&this.screenPubState.setState(ve.AliRtcStatePublishing),this.publishPromise=this.rtsManager.publish(this.url,this.callId,e,t);const g=yield this.publishPromise;if(this._isPublishing=!0,this.streamTracks=this.rtsManager.publishingTracks,this.traceId=g,(u=this.parameter.data)!=null&&u.enablePubDataChannel){this.dataPubState.setState(ve.AliRtcStatePublishing);const l=yield this.rtsManager.publishAddDataChannel(this.url);l?(this.dataPubState.setState(ve.AliRtcStatePublished),this.dc=l,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer")):this.emit("publishDataError",new ee(oe.ERR_INNER,"publishDataError"))}r&&(this.trackTraceIdMap[Z.Audio]=g,this.reportAudioProfile()),a&&(this.trackTraceIdMap[Z.VideoSmall]=g),n&&(this.trackTraceIdMap[Z.VideoLarge]=g,this.reportVideoProfile()),o&&(this.trackTraceIdMap[Z.Screen]=g,this.reportScreenProfile());const f={type:Ut.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:e,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceId:g};yield this.syncPublishToRoomServer(f,i,h),r&&this.audioPubState.setState(ve.AliRtcStatePublished),n&&this.videoPubState.setState(ve.AliRtcStatePublished),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublished),o&&this.screenPubState.setState(ve.AliRtcStatePublished)}catch(h){throw r&&this.audioPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoPubState.setState(ve.AliRtcStateNoPublish),a&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),o&&this.screenPubState.setState(ve.AliRtcStateNoPublish),h}})}publishUpdate(){return V(this,null,function*(){var r,n,a,o;if(!this._isPublishing)return;yield this.publishPromise;const e=this.streamManager.publishStreams;let t;const i=new Date().getTime();try{const u=(r=this.streamTracks)==null?void 0:r.find(({ssrc:b,type:v,msid:x})=>v==="audio"&&b&&x===Z.Audio),h=yield this.compareAndPublish(u,e.audio,Z.Audio);h&&(t=h);const g=(n=this.streamTracks)==null?void 0:n.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.VideoLarge),f=yield this.compareAndPublish(g,e.video,Z.VideoLarge);f&&(t=f);const l=(a=this.streamTracks)==null?void 0:a.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.VideoSmall),p=yield this.compareAndPublish(l,e.videoSmall,Z.VideoSmall);p&&(t=p);const d=(o=this.streamTracks)==null?void 0:o.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.Screen),m=yield this.compareAndPublish(d,e.screen,Z.Screen);if(m&&(t=m),!t)return;yield this.syncPublishToRoomServer(t,e,i)}catch(u){const{code:h}=u!=null?u:{},g=this.url;throw h===403&&g&&(yield this.refreshPushStreamUrl(),t=yield this.publishUpdate()),u}return t})}syncPublishToRoomServer(e,t,i){return V(this,null,function*(){var o;if(!e)throw new ee(oe.ERR_INNER,"sync publish to room server failed because no publishInfo");let r=e;if(this.dc){const a=e,{tracks:u}=a,h=Ti(a,["tracks"]);r=It(be({},h),{tracks:[...u,{type:"data",msid:Z.Data,ssrc:`${((o=this.callId)==null?void 0:o.length)>8?this.callId.substring(0,8):"web"}${this.dc.datachannel.id||"0"}`,codec:"text"}]})}const n=yield this.signalingManager.publish(r);e.signaltid=n.tid})}refreshPushStreamUrl(){return V(this,null,function*(){const e=new ee(oe.ERR_INNER,"refresh push stream url error"),t=this.url;if(!t)throw e;const i=yield this.signalingManager.refreshUrl({pushstreamurl:t});if(!(i!=null&&i.pushstreamurl))throw e;this.url=i==null?void 0:i.pushstreamurl})}publishAdd(e,t,i=!1,r=0){return V(this,null,function*(){this.createCallId();const n=(t==null?void 0:t.aMsid)===Z.Audio,a=(t==null?void 0:t.vMsid)===Z.VideoLarge,o=(t==null?void 0:t.vMsid)===Z.VideoSmall,u=(t==null?void 0:t.vMsid)===Z.Screen;n&&this.audioPubState.setState(ve.AliRtcStatePublishing),a&&this.videoPubState.setState(ve.AliRtcStatePublishing),o&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),u&&this.screenPubState.setState(ve.AliRtcStatePublishing);try{const h=yield this.rtsManager.publishAdd(this.url,e,this.callId,t,!1,!0);n&&(this.audioPubState.setState(ve.AliRtcStatePublished),this.reportAudioProfile(),this.trackTraceIdMap[Z.Audio]=h),a&&(this.videoPubState.setState(ve.AliRtcStatePublished),this.reportVideoProfile(),this.trackTraceIdMap[Z.VideoLarge]=h),o&&(this.videoSmallPubState.setState(ve.AliRtcStatePublished),this.trackTraceIdMap[Z.VideoSmall]=h),u&&(this.screenPubState.setState(ve.AliRtcStatePublished),this.reportScreenProfile(),this.trackTraceIdMap[Z.Screen]=h),this.streamTracks=this.rtsManager.publishingTracks;const g={type:Ut.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:i,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceid:h};return this.reportSelfDeviceStatus(),this.monitorTimerId||this.startStreamMonitor(),g}catch(h){let g=oe.ERR_SDK_PUBLISH_INVAILD;if(n&&(this.audioPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED),a&&(this.videoPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED),o&&(this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_DUAL_STRAM_FAILED),u&&(this.screenPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED),h.errorCode===15006&&r<3)return this.publishAdd(e,t,i,r+1);throw ee.fromError(h,g,"publish add failed")}})}publishReplace(e,t){return V(this,null,function*(){try{yield this.rtsManager.publishReplace(this.url,e,t),this.streamTracks=this.rtsManager.publishingTracks;const i={type:Ut.Replace,userid:this.userId,sessionid:"",pubid:this.publishId,displayname:this.name,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks};return this.reportSelfDeviceStatus(),i}catch(i){throw ee.fromError(i,oe.ERR_INNER,`publish replace failed, vMsid: ${t==null?void 0:t.vMsid} aMsid: ${t==null?void 0:t.aMsid}`)}})}publishDeleteTracks(e){return V(this,null,function*(){const t={type:Ut.Delete,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{return yield this.rtsManager.publishDelete(this.url,e),this.streamTracks=this.rtsManager.publishingTracks,e.audio&&this.audioPubState.setState(ve.AliRtcStateNoPublish),e.video&&(e.vMsid===Z.VideoSmall?this.videoSmallPubState.setState(ve.AliRtcStateNoPublish):this.videoPubState.setState(ve.AliRtcStateNoPublish)),e.screen&&this.screenPubState.setState(ve.AliRtcStateNoPublish),t.tracks=this.streamTracks,this.reportSelfDeviceStatus(),t}catch(i){throw ee.fromError(i,oe.ERR_INNER,"publish delete tracks failed")}})}publishStop(){return V(this,null,function*(){if(!this._isPublishing)throw new ee(oe.ERR_INNER,"publish stop failed, previous localStream is required for publishing stopping");ne.info(`[${Mt.logName}]`,"publishStop",{url:this.url});const e=new Date().getTime();try{const t=this.hasAudioTrackInMS,i=this.hasCameraTrackInMS,r=this.hasCameraDualTrackInMS,n=this.hasScreenTrackInMS;yield this.rtsManager.publishStop(this.url),t&&this.audioPubState.setState(ve.AliRtcStateNoPublish),i&&this.videoPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),n&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this.traceId="",Object.keys(this.monitorDataCache).forEach(o=>{this.reportPublishMonitor(o)}),this.streamTracks=[];const a={type:Ut.Stop,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};return this.syncPublishToRoomServer(a,{},e),a}catch(t){throw ee.fromError(t,oe.ERR_INNER,"publish stop failed")}})}unPublish(){return V(this,null,function*(){const e=new Date().getTime();let t={type:Ut.UnPublish,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{if(this._isPublishing){const i=this.hasAudioTrackInMS,r=this.hasCameraTrackInMS,n=this.hasCameraDualTrackInMS,a=this.hasScreenTrackInMS;yield this.rtsManager.unpublish(),this.streamTracks=[],this.stopStreamMonitor(),i&&this.audioPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),a&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this._isPublishing=!1,this.traceId="",this.clearStream()}return this.dc&&(this.rtsManager.publishStopDataChannel(this.url,this.dc),this.dataPubState.setState(ve.AliRtcStateNoPublish),this.dc=void 0),this.slsReporter.reportUnpublish(this.callId||"",e,0,""),t}catch(i){throw ee.fromError(i,oe.ERR_INNER,"unpublish failed")}})}reportSelfDeviceStatus(){this.emit(it.Local,this.getDeviceStatus())}getDeviceStatus(){var t,i,r,n;let e={micOpen:!1,micInterrupted:!1,cameraOpen:!1,screenShare:!1,audioDisable:!0,videoDisable:!0,screenDisable:!0,backgroundMode:!1,accompanyPlaying:!1};return e.cameraOpen=this.hasCamera,e.micOpen=this.hasMicrophone,e.screenShare=this.hasScreenShare,e.audioDisable=!((t=this.streamManager.cameraStreamInfo.originAudioTrack)!=null&&t.enabled),e.videoDisable=!((i=this.streamManager.cameraStreamInfo.originVideoTrack)!=null&&i.enabled),e.screenDisable=!this.hasScreenShare||!((n=(r=this.streamManager.screenStreamInfo)==null?void 0:r.originVideoTrack)!=null&&n.enabled),va.getCurrentStatus(e)}resetPreviewElements(){this.previewElements=[]}resetSecondayPreviewElements(){this.screenPreviewElements=[]}getMediaStats(e){return this.pcMediaStatsMap[e]}reportPublishMonitor(e){if(!e)return;let t;try{e===Z.Audio?t=this.rtsManager.getStreamByMsid({url:this.url,aMsid:e}).audioTrack:t=this.rtsManager.getStreamByMsid({url:this.url,vMsid:e}).videoTrack}catch(i){}this.slsReporter.reportPublishMonitor(this.callId,this.trackTraceIdMap[e]||"",e,t,this.monitorDataCache[e]),this.monitorDataCache[e]=[]}reportNetwork(){this.slsReporter.reportNetworkMonitor(this.candidateDataCache),this.candidateDataCache=[]}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>V(this,null,function*(){var e,i;try{const r=yield this.rtsManager.getPCStats();let n;r==null||r.forEach(u=>{u.type==="media-source"||u.type==="media-playout"?u.id&&(this.pcMediaStatsMap[u.id]=u):u.type==="candidate-pair"&&u.state==="succeeded"&&(n=u)});let a;if(((e=this.candidateDataCache)==null?void 0:e.length)>0){const t=this.candidateDataCache[this.candidateDataCache.length-1]||{},{_last:h}=t;a=Ti(t,["_last"])}((i=this.candidateDataCache)==null?void 0:i.length)>=Ea&&this.reportNetwork(),n&&(n._last=a,this.candidateDataCache.push(n));let o=Object.keys(this.monitorDataCache).filter(u=>{var h;return((h=this.monitorDataCache[u])==null?void 0:h.length)>0});(this.streamTracks||[]).forEach(u=>{const h=u.msid;if(!h)return;o.includes(h)&&(o=o.filter(l=>l!==h));let g;h===Z.Audio?g=this.rtsManager.getPublishAudioStats(this.url):g=this.rtsManager.getPublishVideoStats(this.url,h),g.then(l=>{if(!l.timestamp)return;this.monitorDataCache[h]||(this.monitorDataCache[h]=[]);const p=this.getMediaStats(l.mediaSourceId);l._source=p;const d=this.monitorDataCache[h];let m;if((d==null?void 0:d.length)>0){const b=d[d.length-1]||{},{_last:x}=b;m=Ti(b,["_last"])}(d==null?void 0:d.length)>=Ea&&this.reportPublishMonitor(h),l._last=m,l._codec=u.codec||"",this.monitorDataCache[h].push(l)})}),o.forEach(u=>{this.reportPublishMonitor(u)})}catch(r){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportPublishMonitor(e)})}clearStream(){this.streamManager.stop(),this.audioPubState.setState(ve.AliRtcStatePublishIdle),this.videoPubState.setState(ve.AliRtcStatePublishIdle),this.videoSmallPubState.setState(ve.AliRtcStatePublishIdle),this.screenPubState.setState(ve.AliRtcStatePublishIdle)}getCurrentCameraDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originVideoTrack)==null?void 0:e.getSettings().deviceId}getCurrentMicDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originAudioTrack)==null?void 0:e.getSettings().deviceId}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.streamManager.cameraStreamInfo.originAudioTrack&&this.audioLevelMonitor.start(this.streamManager.cameraStreamInfo.originAudioTrack,e),this.audioVolumeIndicationInterval=e)}sendSEI(e,t,i){return V(this,null,function*(){if(!this.url)return;let r=0;return!t||t<1?r=1:r=t-1,this.rtsManager.sendSEI(this.url,e,r,i)})}sendDataChannelMessage(e){return V(this,null,function*(){var r;if(!((r=this.parameter.data)!=null&&r.enablePubDataChannel))throw new ee(oe.ERR_INNER,"data channel publish is not enabled");if(!this.dc)throw new ee(oe.ERR_INNER,"data channel is not ready");const t=e.toBuffer(),i=f0(t,1156);i.forEach((n,a)=>{const o=new qi(new wi(n.byteLength,a===i.length-1,a===0?1:0),n);this.dc.send(o.toGRTNBuffer())})})}getStats(){return V(this,null,function*(){const e=[];if(this.hasAudioTrackInMS){const n=yield this.rtsManager.getPublishAudioStats(this.url);n&&e.push({stats:n,track:oi.AliRtcAudioTrackMic})}const t=[];if(this.hasCameraTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.VideoLarge);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeHigh,stats:n})}if(this.hasCameraDualTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.VideoSmall);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeLow,stats:n})}if(this.hasScreenTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.Screen);n&&t.push({track:Ae.AliRtcVideoTrackScreen,stats:n})}let i;const r=yield this.rtsManager.getPCStats();return r==null||r.forEach(n=>{n.type==="candidate-pair"&&n.state==="succeeded"&&(i=n)}),{audio:e,video:t,candidate:i}})}},_(Mt,"logName","LocalUser"),Mt);je([j()],Ue.prototype,"clearPublishState",1),je([j()],Ue.prototype,"clear",1),je([j()],Ue.prototype,"setViewConfig",1),je([j()],Ue.prototype,"startCameraCapture",1),je([j()],Ue.prototype,"stopCameraCapture",1),je([j()],Ue.prototype,"stopAudioCapture",1),je([j()],Ue.prototype,"stopPreview",1),je([j()],Ue.prototype,"resumePublish",1),je([j()],Ue.prototype,"createLocalStream",1),je([j()],Ue.prototype,"stopLocalStream",1),je([j(se)],Ue.prototype,"startPublish",1),je([j(([s])=>[s])],Ue.prototype,"syncPublishToRoomServer",1),je([j()],Ue.prototype,"refreshPushStreamUrl",1),je([j(([s,c,e])=>[JSON.stringify(e)])],Ue.prototype,"publishAdd",1),je([j(([s,c])=>[JSON.stringify(c)])],Ue.prototype,"publishReplace",1),je([j(se)],Ue.prototype,"publishDeleteTracks",1),je([j()],Ue.prototype,"publishStop",1),je([j()],Ue.prototype,"unPublish",1),je([j(([s,c,e])=>[s.length,c,e])],Ue.prototype,"sendSEI",1);let wa=Ue;var Lt=(s=>(s.OPUS="opus",s.H264="H264",s.UNKNOWN="",s))(Lt||{}),Ee=(s=>(s[s.NotSubscribe=0]="NotSubscribe",s[s.Subscribing=1]="Subscribing",s[s.Subscribed=2]="Subscribed",s))(Ee||{}),Qt=(s=>(s.VideoTrackEnded="videoTrackEnded",s.AudioTrackEnded="audioTrackEnded",s.ScreenTrackEnded="screenTrackEnded",s))(Qt||{});const g0=s=>{const c=new MediaStream;return c.addTrack(s),c},Ca=s=>V(this,null,function*(){return yield me.AliRTS.createStream({custom:!0,mediaStream:s})}),Ii=s=>V(this,null,function*(){const c=g0(s);return yield Ca(c)}),v0=s=>{const{audio:c,video:e,screen:t}=s;if(e&&t)throw new ee(oe.ERR_INNER,"create stream error, cannot create video && screen together");return!(!e&&!c&&!t)},b0=s=>s===Z.Audio||s===dr.Audio,x0=s=>s===Z.VideoLarge||s===dr.VideoLarge,S0=s=>s===Z.VideoSmall,_0=s=>s===Z.Screen,y0=s=>s===Z.Data;var A0=Object.defineProperty,E0=Object.getOwnPropertyDescriptor,w0=(s,c,e,t)=>{for(var i=t>1?void 0:t?E0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&A0(c,e,i),i};class Gi extends xe{constructor(){super();_(this,"audioInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"videoLargeInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"videoSmallInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"screenInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"dataInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"audioVolume",1);_(this,"audioMuted",!1);_(this,"userStatus")}getAudioInfo(){return this.audioInfo}getVideoSmallInfo(){return this.videoSmallInfo}getVideoLargeInfo(){return this.videoLargeInfo}getScreenInfo(){return this.screenInfo}getDataInfo(){return this.dataInfo}get subscribingInfos(){return[this.audioInfo,this.videoLargeInfo,this.videoSmallInfo,this.screenInfo].filter(e=>e.msid&&e.subscribeState===Ee.Subscribed)}get hasTrack(){return this.hasAudio||this.hasVideo||this.hasScreen||this.hasData}get hasAudio(){return this.audioInfo.ssrc!==""}get hasVideo(){return this.videoLargeInfo.ssrc!==""||this.videoSmallInfo.ssrc!==""}get hasVideoLarge(){return this.videoLargeInfo.ssrc!==""}get hasVideoSmall(){return this.videoSmallInfo.ssrc!==""}get hasScreen(){return this.screenInfo.ssrc!==""}get hasData(){return this.dataInfo.ssrc!==""}get isAudioSubscribed(){return this.audioInfo.subscribeState===Ee.Subscribed}get isAudioSubscribing(){return this.audioInfo.subscribeState===Ee.Subscribing}get isVideoSubscribed(){return this.isVideoLargeSubscribed||this.isVideoSmallSubscribed}get isVideoSubscribing(){return this.isVideoLargeSubscribing||this.isVideoSmallSubscribing}get isVideoLargeSubscribed(){return this.videoLargeInfo.subscribeState===Ee.Subscribed}get isVideoLargeSubscribing(){return this.videoLargeInfo.subscribeState===Ee.Subscribing}get isVideoSmallSubscribed(){return this.videoSmallInfo.subscribeState===Ee.Subscribed}get isVideoSmallSubscribing(){return this.videoSmallInfo.subscribeState===Ee.Subscribing}get isScreenSubscribed(){return this.screenInfo.subscribeState===Ee.Subscribed}get isScreenSubscribing(){return this.screenInfo.subscribeState===Ee.Subscribing}get isDataSubscribed(){return this.dataInfo.subscribeState===Ee.Subscribed}get isDataSubscribing(){return this.dataInfo.subscribeState===Ee.Subscribing}get audioCodec(){return this.audioInfo.codec}get videoCodec(){return this.hasVideoLarge?this.videoLargeInfo.codec:this.hasVideoSmall?this.videoSmallInfo.codec:this.hasScreen?this.screenInfo.codec:Lt.UNKNOWN}get audioTrackInfo(){return this.hasAudio?oi.AliRtcAudioTrackMic:oi.AliRtcAudioTrackNo}get videoTrackInfo(){return this.hasVideo&&this.hasScreen?Ae.AliRtcVideoTrackBoth:this.hasVideo?Ae.AliRtcVideoTrackCamera:this.hasScreen?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackNo}updateTracks(e){let t="",i="",r="",n="",a="";return e?(e.forEach(o=>{var g;let u=Lt.UNKNOWN;const h=((g=o==null?void 0:o.attr)==null?void 0:g.reason)==="reconnect";if(o.userdata){const{codec:f}=JSON.parse(o.userdata);f&&(u=f)}b0(o.msid)?(t=o.ssrc,this.audioInfo.msid=o.msid,this.audioInfo.codec=u,(h||this.audioInfo.ssrc!==t)&&(this.audioInfo.subscribeState=Ee.NotSubscribe)):S0(o.msid)?(r=o.ssrc,this.videoSmallInfo.msid=o.msid,this.videoSmallInfo.codec=u,(h||this.videoSmallInfo.ssrc!==r)&&(this.videoSmallInfo.subscribeState=Ee.NotSubscribe)):x0(o.msid)?(i=o.ssrc,this.videoLargeInfo.msid=o.msid,this.videoLargeInfo.codec=u,(h||this.videoLargeInfo.ssrc!==i)&&(this.videoLargeInfo.subscribeState=Ee.NotSubscribe)):_0(o.msid)?(n=o.ssrc,this.screenInfo.msid=o.msid,this.screenInfo.codec=u,(h||this.screenInfo.ssrc!==n)&&(this.screenInfo.subscribeState=Ee.NotSubscribe)):y0(o.msid)&&(a=o.ssrc,this.dataInfo.msid=o.msid,this.dataInfo.codec=u,(h||this.dataInfo.ssrc!==a)&&(this.dataInfo.subscribeState=Ee.NotSubscribe))}),this.updateRemoteTrackSsrc(t,i,r,n,a)):this.updateRemoteTrackSsrc(t,i,r,n,a),{}}updateRemoteTrackSsrc(e,t,i,r,n){this.audioInfo.ssrc=e,this.videoSmallInfo.ssrc=i,this.videoLargeInfo.ssrc=t,this.screenInfo.ssrc=r,this.dataInfo.ssrc=n}markRemoteTrackSubscribing(e){return e.video&&(e.vMsid===this.videoSmallInfo.msid&&(this.videoSmallInfo.subscribeState=Ee.Subscribing),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=Ee.Subscribing)),e.screen&&(this.screenInfo.subscribeState=Ee.Subscribing),e.audio&&(this.audioInfo.subscribeState=Ee.Subscribing),e.data&&(this.dataInfo.subscribeState=Ee.Subscribing),{videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo}}updateRemoteTrackSubState(e){return e.video!==void 0&&((e.vMsid===this.videoSmallInfo.msid||!e.vMsid)&&(this.videoSmallInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe)),e.screen!==void 0&&(this.screenInfo.subscribeState=e.screen?Ee.Subscribed:Ee.NotSubscribe),e.audio!==void 0&&(this.audioInfo.subscribeState=e.audio?Ee.Subscribed:Ee.NotSubscribe),e.data!==void 0&&(this.dataInfo.subscribeState=e.data?Ee.Subscribed:Ee.NotSubscribe),{audioInfo:this.audioInfo,videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo,screenInfo:this.screenInfo,dataInfo:this.dataInfo}}updateRemoteUserDeviceStatus(e){let t=va.parseStatus(e);const{audioDisable:i,videoDisable:r,screenDisable:n}=t;return this.userStatus?(this.userStatus.audioDisable!=i&&(this.userStatus.audioDisable=i,this.emit(it.Remote,i?Re.MuteAudio:Re.UnmuteAudio)),this.userStatus.videoDisable!=r&&(this.userStatus.videoDisable=r,this.emit(it.Remote,r?Re.MuteVideo:Re.UnmuteVideo)),this.userStatus.screenDisable!=n&&(this.userStatus.screenDisable=n,this.emit(it.Remote,n?Re.MuteScreen:Re.UnmuteScreen))):(this.userStatus=t,this.emit(it.Remote,i?Re.MuteAudio:Re.UnmuteAudio),this.emit(it.Remote,r?Re.MuteVideo:Re.UnmuteVideo),this.emit(it.Remote,n?Re.MuteScreen:Re.UnmuteScreen)),!1}}_(Gi,"logName","RemoteStreamInfo"),w0([j()],Gi.prototype,"updateRemoteTrackSubState",1);class Ia{constructor(c){_(this,"remoteUser");this.remoteUser=c}get userId(){return this.remoteUser.userId}get displayName(){return this.remoteUser.displayname}get isMuteAudioPlaying(){return this.remoteUser.getAudioMuted()}get hasAudio(){return this.remoteUser.hasAudioTrack}get hasCamera(){return this.remoteUser.hasVideoTrack}get hasCameraLarge(){return this.remoteUser.hasVideoLargeTrack}get hasCameraSmall(){return this.remoteUser.hasVideoSmallTrack}get hasScreenShare(){return this.remoteUser.hasScreenTrack}get isAudioSubscribing(){return this.remoteUser.isAudioSubscribing}get isVideoSubscribing(){return this.remoteUser.isVideoSubscribing}get isVideoLargeSubscribing(){return this.remoteUser.isVideoLargeSubscribing}get isVideoSmallSubscribing(){return this.remoteUser.isVideoSmallSubscribing}get isScreenSubscribing(){return this.remoteUser.isScreenSubscribing}}var C0=Object.defineProperty,I0=Object.getOwnPropertyDescriptor,Qe=(s,c,e,t)=>{for(var i=t>1?void 0:t?I0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&C0(c,e,i),i};class ui extends xe{constructor(){super();_(this,"state");_(this,"time");_(this,"_enabled");this.state=Pe.AliRtcStateSubscribeIdle,this.time=Date.now(),this._enabled=!0}setState(e){if(this.state===e)return;const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}get currentState(){return this.state}getEnabled(){return this._enabled}setEnabled(e){this._enabled=e}}const R0=30,Ge=(Ft=class extends ga{constructor(e){var l;const{userId:t,displayName:i,rtsManager:r,usersViewMap:n,slsReporter:a,signalingManager:o,localUser:u,audioVolumeIndicationInterval:h,playoutVolume:g,parameter:f}=e;super(t,i,r,h);_(this,"remoteCallid","");_(this,"remoteUserInfo");_(this,"localUser");_(this,"lastPubId","");_(this,"stream");_(this,"screenStream");_(this,"viewMap");_(this,"audioTrack");_(this,"audioElement");_(this,"subscribed",!1);_(this,"mediaStream");_(this,"secondaryMediaStream");_(this,"prevSubConfig");_(this,"signalingManager");_(this,"slsReporter");_(this,"wantSubAudio",!1);_(this,"wantSubVideo",!1);_(this,"wantSubScreen",!1);_(this,"defaultVideoStreamType",Ye.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"playoutGainNode");_(this,"audioSubState");_(this,"videoSubState");_(this,"videoLargeSubState",new ui);_(this,"videoSmallSubState",new ui);_(this,"screenSubState");_(this,"dataSubState");_(this,"dc");_(this,"dcMsgWaitingPieces",[]);_(this,"streamInfo");_(this,"streamUrl","");_(this,"parameter",{});_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"handleAudioContextSuspended",e=>{e.target.state==="suspended"&&this.emit("remoteAudioPlayError",this.uid,"AudioContext suspended")});_(this,"onDataChannelMessage",e=>{ne.event(`[${Ft.logName}]`,`receive data channel message: ${e.byteLength}`);const t=qi.parse(e.slice(4));let i;if(t.body)if(t.isFin){if(this.dcMsgWaitingPieces.length>0){const r=this.dcMsgWaitingPieces.reduce((n,a)=>n+a.byteLength,t.body.byteLength);try{const n=new ArrayBuffer(r);let a=0;for(let u=0;u<this.dcMsgWaitingPieces.length;u++){const h=this.dcMsgWaitingPieces[u];new Uint8Array(n,a,h.byteLength).set(new Uint8Array(h)),a+=h.byteLength}new Uint8Array(n,a,t.body.byteLength).set(new Uint8Array(t.body)),i=Yt.parse(n)}catch(n){}this.dcMsgWaitingPieces=[],i||(i=Yt.parse(t.body))}else i=Yt.parse(t.body);i||ne.event(`[${Ft.logName}]`,"parse data channel message fail")}else{t.header.frameType===1&&(this.dcMsgWaitingPieces=[]),this.dcMsgWaitingPieces.push(t.body);return}i&&this.emit("remoteDataChannelMessage",this.uid,i)});_(this,"handleAudioPaused",()=>{this.emit("remoteAudioPlayError","paused")});this.streamInfo=new Gi,this.remoteUserInfo=new Ia(this),this.parameter=f,this.streamInfo.on(it.Remote,p=>{this.emit(it.Remote,p,this.userId)}),this.signalingManager=o,this.viewMap=(l=n[t])!=null?l:{cameraViews:[],screenViews:[]},n[t]=this.viewMap,this.slsReporter=a,this.localUser=u,this.audioSubState=new ui,this.audioSubState.on("change",(p,d,m)=>{this.emit("audioSubscribeStateChanged",this.uid,p,d,m)}),this.videoSubState=new ui,this.videoSubState.on("change",(p,d,m)=>{this.emit("videoSubscribeStateChanged",this.uid,p,d,m)}),this.screenSubState=new ui,this.screenSubState.on("change",(p,d,m)=>{this.emit("screenSubscribeStateChanged",this.uid,p,d,m)}),this.dataSubState=new ui,this.dataSubState.on("change",(p,d,m)=>{this.emit("dataSubscribeStateChanged",this.uid,p,d,m)}),this.playoutVolume=g}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e}setRemoteDefaultVideoStreamType(e){e!==this.defaultVideoStreamType&&(this.defaultVideoStreamType=e,this.updateSubscribe(Le.User))}setAudioMuted(e){this.audioMuted=e,this.toggleAudio(!e)}setPlayoutVolume(e){if(this.playoutVolume=e,this.audioElement)if(this.parameter.enableAudioContextPlayoutVolume)if(this.playoutGainNode)this.playoutGainNode.gain.value=e;else{const t=this.audioElement.srcObject;if(t){const i=ci.getInstance();i.addEventListener("statechange",this.handleAudioContextSuspended);const r=i.createMediaStreamSource(t);this.audioElement.muted=!0,this.playoutGainNode=i.createGain(),r.connect(this.playoutGainNode),this.playoutGainNode.gain.value=e,this.playoutGainNode.connect(i.destination)}}else this.audioElement.volume=e}getAudioMuted(){return this.audioMuted}get hasAudioTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasAudio)}get hasVideoTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideo)}get hasVideoLargeTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoLarge)}get hasVideoSmallTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoSmall)}get hasScreenTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasScreen)}get isAudioSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isAudioSubscribed)||!!((t=this.streamInfo)!=null&&t.isAudioSubscribing)}get isVideoSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSubscribing)}get isVideoLargeSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoLargeSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoLargeSubscribing)}get isVideoSmallSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSmallSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSmallSubscribing)}get isScreenSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isScreenSubscribed)||!!((t=this.streamInfo)!=null&&t.isScreenSubscribing)}get isDataSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isDataSubscribed)||!!((t=this.streamInfo)!=null&&t.isDataSubscribing)}get audioEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.audioTrack)!=null&&t.enabled)}get videoEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get screenEnabled(){var e,t;return!!((t=(e=this.screenStream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get getAudioTrack(){return this.audioTrack}get getCameraStream(){return this.stream}get getScreenStream(){return this.screenStream}setViewConfig(e,t){if(t!==Ae.AliRtcVideoTrackScreen&&t!==Ae.AliRtcVideoTrackCamera)throw new ee(oe.ERR_INVALID_ARGUMENTS,"track is not AliRtcVideoTrackScreen or AliRtcVideoTrackCamera");e?ys(e).forEach(r=>{r.setAttribute("playsinline",""),me.AliRTS.BrowserUtil.isMicroMessenger&&(r.setAttribute("x5-video-player-type","h5-page"),r.setAttribute("x5-playsinline",""),me.AliRTS.SystenUtil.isAndroid||me.AliRTS.SystenUtil.isIos&&r.setAttribute("x-webkit-airplay","allow")),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews.push(r):this.viewMap.cameraViews.push(r),this.play(r,t===Ae.AliRtcVideoTrackScreen)}):(this.stopPlayAll(t===Ae.AliRtcVideoTrackScreen),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews=[]:this.viewMap.cameraViews=[])}clear(e=!0){return V(this,null,function*(){var t;this.subscribeStopDataChannel(),e&&this.doStopSubscribe(this.streamUrl),Ls(Ft.prototype,this,"clear").call(this),this.clearStream(),this.clearScreenStream(),this.playoutGainNode&&(this.playoutGainNode.disconnect(),this.playoutGainNode=void 0,ci.getInstance().removeEventListener("statechange",this.handleAudioContextSuspended)),(t=this.streamInfo)==null||t.removeAllListeners(it.Remote)})}updateRemoteUserDeviceStatus(e){var t;(t=this.streamInfo)==null||t.updateRemoteUserDeviceStatus(e)}updateRemoteTracks(e,t,i,r){return V(this,null,function*(){var a;return this.remoteCallid=e,(!this.streamUrl||!this.streamInfo.hasTrack)&&(this.streamUrl=t!=null?t:""),this.callId=e!=null?e:"",this.streamInfo||(this.streamInfo=new Gi),(a=this.streamInfo)==null?void 0:a.updateTracks(r)})}subscribe(r,n){return V(this,arguments,function*(e,t,i=Date.now()){var l,p;let a=e;if(!a){const{hasAudio:d,hasVideo:m,hasScreen:b,hasData:v}=(l=this.streamInfo)!=null?l:{};a={audio:this.wantSubAudio&&d,video:this.wantSubVideo&&m,screen:this.wantSubScreen&&b,data:((p=this.parameter.data)==null?void 0:p.enableSubDataChannel)&&v}}this.streamInfo.markRemoteTrackSubscribing(a);const{screen:o,audio:u,video:h,vMsid:g}=a,f=[];(h||u)&&f.push({audio:u,video:h,vMsid:g}),o&&f.push({screen:o}),f.length!==0&&(yield Promise.all(f.map(d=>this.subscribeProxy(d,t||Le.User,i))),e!=null&&e.data&&this.subscribeDataChannel())})}subscribeProxy(e,t,i){return V(this,null,function*(){var a,o,u,h;let r=new Date().getTime(),n="";try{e.audio&&this.audioSubState.setState(Pe.AliRtcStateSubscribing),e.video&&(this.videoSubState.currentState===Pe.AliRtcStateSubscribeIdle||this.videoSubState.currentState===Pe.AliRtcStateNoSubscribe)&&this.videoSubState.setState(Pe.AliRtcStateSubscribing),e.screen&&this.screenSubState.setState(Pe.AliRtcStateSubscribing);const g=yield this.rtsManager.subscribe({remoteUser:this,options:e},t,((a=this.localUser)==null?void 0:a.callId)||"",this.callId,i);this.streamInfo.updateRemoteTrackSubState(e),n=g.traceId||"";const{stream:f}=g;if(e.audio){this.trackTraceIdMap[Z.Audio]=n;const p=f.audioTrack;p&&(this.audioTrack=p,(o=f.mediaStream)==null||o.removeTrack(p),this.playAudio(),this.audioVolumeIndicationInterval&&this.audioLevelMonitor.start(p,this.audioVolumeIndicationInterval)),this.audioSubState.setState(Pe.AliRtcStateSubscribed),this.audioSubState.getEnabled()||this.toggleAudio(!1)}e.video&&(e.vMsid===Z.VideoSmall?(this.trackTraceIdMap[Z.VideoSmall]=n,this.videoSmallSubState.setState(Pe.AliRtcStateSubscribed)):(this.trackTraceIdMap[Z.VideoLarge]=n,this.videoLargeSubState.setState(Pe.AliRtcStateSubscribed)),this.videoSubState.setState(Pe.AliRtcStateSubscribed),this.videoSubState.getEnabled()||this.toggleVideo(!1),this.updateStream(f,this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing)),e.screen&&(this.trackTraceIdMap[Z.Screen]=n,this.screenSubState.setState(Pe.AliRtcStateSubscribed),this.videoSubState.getEnabled()||this.toggleScreen(!1),this.updateScreenStream(f));const l=new Date().getTime()-r;this.slsReporter.reportSubscribe(((u=this.localUser)==null?void 0:u.callId)||"",this.callId,!!e.video&&e.vMsid===Z.VideoLarge,!!e.video&&e.vMsid===Z.VideoSmall,!!e.screen,!!e.audio,0,"",l,{pctid:this.rtsManager.pcTraceId,subtid:n,ajsub:t===Le.Join?1:0,url:this.streamUrl,est:r}),this.startStreamMonitor()}catch(g){const f=new Date().getTime()-r;e.audio&&this.audioSubState.setState(Pe.AliRtcStateNoSubscribe),e.video&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe),e.screen&&this.screenSubState.setState(Pe.AliRtcStateNoSubscribe),g&&(g.message=`user(${this.uid}) subscribe error, ${(g==null?void 0:g.message)||""}`);let l=oe.ERR_INNER;e.audio&&(l=oe.ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED),e.video&&(e.vMsid===Z.VideoSmall?l=oe.ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED:l=oe.ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED),e.screen&&(l=oe.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED),this.slsReporter.reportSubscribe(((h=this.localUser)==null?void 0:h.callId)||"",this.callId,!!e.video&&e.vMsid===Z.VideoLarge,!!e.video&&e.vMsid===Z.VideoSmall,!!e.screen,!!e.audio,l,"",f,{pctid:this.rtsManager.pcTraceId,subtid:"",ajsub:t===Le.Join?1:0,url:this.streamUrl,est:r});const p=ee.fromError(g,l);throw this.emit("remoteSubscribeError",p),p}})}subscribeDeleteTracks(e){return V(this,null,function*(){const{audio:t,video:i,screen:r,data:n,vMsid:a}=e,o=[];(t||i||n)&&o.push({audio:t,video:i,vMsid:a}),r&&o.push({screen:r}),o.length!==0&&(yield Promise.all(o.map(u=>this.subscribeDeleteProxy(u))),e.data&&this.subscribeStopDataChannel())})}subscribeDeleteProxy(e){return V(this,null,function*(){try{const t=yield this.rtsManager.subscibeDelete({remoteUser:this,options:e}),{stream:i}=t!=null?t:{},r={};e.audio===!0&&(r.audio=!1,this.audioSubState.setState(Pe.AliRtcStateNoSubscribe)),e.video===!0&&(r.video=!1,e.vMsid===Z.VideoSmall?(this.videoSmallSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoLargeSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoLargeSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe)):(this.videoLargeSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoSmallSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoSmallSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe))),e.screen===!0&&(r.screen=!1,this.screenSubState.setState(Pe.AliRtcStateNoSubscribe));const{callId:n,remoteCallid:a}=this,o={callid:n,remoteCallid:a,remoteStream:i};return e.audio&&(this.audioLevelMonitor.stop(),this.stopPlayAudio(),this.audioTrack=void 0),this.streamInfo.updateRemoteTrackSubState({audio:e.audio===!0?!1:void 0,video:e.video===!0?!1:void 0,screen:e.screen===!0?!1:void 0,vMsid:e.vMsid}),o}catch(t){throw ee.fromError(t,oe.ERR_INNER,"subscribe delete failed")}})}restore(){this.callId="",this.clearStream(),this.clearScreenStream(),this.audioTrack=void 0,this.streamInfo.updateRemoteTrackSubState({audio:!1,video:!1,screen:!1,data:!1}),this.audioElement&&this.audioElement.removeEventListener("pause",this.handleAudioPaused)}resumeAudio(){return V(this,null,function*(){const e=ci.getInstance();return e.state!=="running"&&e.resume(),this.audioElement?this.audioElement.play():this.playAudio()})}resumeVideo(e){return V(this,null,function*(){if(!e||e===Ae.AliRtcVideoTrackCamera||e===Ae.AliRtcVideoTrackBoth)return this.playAll();if(!e||e===Ae.AliRtcVideoTrackScreen||e===Ae.AliRtcVideoTrackBoth)return this.playAll(!0)})}resumePlay(){this.playAudio(),this.playAll(),this.playAll(!0)}stopSubscribe(e){return V(this,null,function*(){var i,r;let t=new Date().getTime();try{let n;e?n=yield this.subscribeDeleteTracks(e):n=yield this.doStopSubscribe(this.streamUrl),this.slsReporter.reportUnsubscribe(((i=this.localUser)==null?void 0:i.callId)||(n==null?void 0:n.callid)||"",this.callId,new Date().getTime()-t,0,"")}catch(n){throw this.slsReporter.reportUnsubscribe(((r=this.localUser)==null?void 0:r.callId)||"",this.callId,new Date().getTime()-t,0,""),n}})}doStopSubscribe(e){return V(this,null,function*(){var r,n,a,o;const{callId:t,remoteCallid:i}=this;if((this.isAudioSubscribing||this.isVideoSubscribing||this.isScreenSubscribing)&&e)try{this.stopStreamMonitor(),yield this.rtsManager.subscibeStop(e),this.restore();const u={callid:t,remoteCallid:i,remoteStream:this.stream};return this.callId="",u}catch(u){if(((o=(a=(n=(r=u==null?void 0:u.extraInfo)==null?void 0:r.parsedData)==null?void 0:n.streams)==null?void 0:a[0])==null?void 0:o.res_code)!==404)throw ee.fromError(u,oe.ERR_INNER,"subscribe stop failed")}})}updateStream(e,t=!1){return V(this,null,function*(){this.stream&&this.stream.videoTrack&&e.mediaStream&&t&&(yield new Promise(i=>{let r,n;if(e.mediaStream){n=document.createElement("video");const a=()=>{ne.event(`uid: ${this.userId} new mediaStream canplay`),n&&n.removeEventListener("canplaythrough",a,!1),n=void 0,clearTimeout(r),i(!0)};n.addEventListener("canplaythrough",a,!1),(n._playPromise||Promise.resolve()).then(()=>{n&&e.mediaStream&&(n.srcObject=e.mediaStream)})}else i(!0);r=window.setTimeout(()=>{ne.event(`uid: ${this.userId} new mediaStream timeout`),n=void 0,i(!0)},3e3)}),this.updateSubscribe(Le.User)),this.stream=e,this.playAll(!1,t),!this.subscribed&&e&&(this.subscribed=!0),e.hasAudio&&this.isAudioSubscribing&&e.enableAudio(),e.hasVideo&&this.isVideoSubscribing&&e.enableVideo()})}updateScreenStream(e){this.screenStream=e,this.playAll(!0),!this.subscribed&&e&&(this.subscribed=!0),e.hasVideo&&this.isScreenSubscribing&&e.enableVideo()}clearStream(){var e;(e=this.stream)==null||e.stop(),this.stream=void 0}clearScreenStream(){var e;(e=this.screenStream)==null||e.stop(),this.screenStream=void 0}subscribeDataChannel(){if(this.dc)try{this.dc.dispose(),this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dc=void 0}catch(e){}!this.streamInfo.hasAudio&&!this.streamInfo.hasVideo&&!this.streamInfo.hasScreen||(this.dataSubState.setState(Pe.AliRtcStateSubscribing),this.rtsManager.subscribeAddDataChannel(this.streamUrl).then(e=>{if(e){this.dc=e,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dc.on("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateSubscribed),this.streamInfo.updateRemoteTrackSubState({data:!0});return}else throw new Error("no dc founded")}).catch(e=>{const t=ee.fromError(e,oe.ERR_INNER,"subscribe data failed");this.emit("remoteSubscribeError",t),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe)}))}subscribeStopDataChannel(){if(this.dc){try{this.rtsManager.subscribeStopDatachannel(this.streamUrl,this.dc)}catch(e){}this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe),this.dc=void 0,this.streamInfo.updateRemoteTrackSubState({data:!1})}}updateSubscribe(e){var n,a,o,u,h,g,f,l,p,d,m,b;const t=Date.now(),i={},r={};return this.wantSubAudio&&!this.isAudioSubscribing&&((n=this.streamInfo)!=null&&n.hasAudio)?i.audio=!0:(!this.wantSubAudio||!((a=this.streamInfo)!=null&&a.hasAudio))&&this.isAudioSubscribing&&(r.audio=!0),this.wantSubVideo&&((o=this.streamInfo)!=null&&o.hasVideo)?(this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&!this.isVideoSmallSubscribing&&((u=this.streamInfo)!=null&&u.hasVideoSmall)?(i.video=!0,i.vMsid=Z.VideoSmall):!this.isVideoLargeSubscribing&&((h=this.streamInfo)!=null&&h.hasVideoLarge)&&!(this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&this.isVideoSmallSubscribing)&&(i.video=!0,i.vMsid=Z.VideoLarge),this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&this.streamInfo.hasVideoSmall?(r.video=!0,r.vMsid=Z.VideoLarge):this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeHigh&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&(r.video=!0,r.vMsid=Z.VideoSmall)):(!this.wantSubVideo||!((g=this.streamInfo)!=null&&g.hasVideo))&&this.isVideoSubscribing&&(r.video=!0,r.vMsid=this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?Z.VideoSmall:Z.VideoLarge),this.wantSubScreen&&!this.isScreenSubscribing&&((f=this.streamInfo)!=null&&f.hasScreen)?i.screen=!0:(!this.wantSubScreen||!((l=this.streamInfo)!=null&&l.hasScreen))&&this.isScreenSubscribing&&(r.screen=!0),(p=this.parameter.data)!=null&&p.enableSubDataChannel&&!this.isDataSubscribing&&((d=this.streamInfo)!=null&&d.hasData)?i.data=!0:(!((m=this.parameter.data)!=null&&m.enableSubDataChannel)||!((b=this.streamInfo)!=null&&b.hasData))&&this.isDataSubscribing&&(r.data=!0),(i.audio||i.video||i.screen||i.data)&&(this.createCallId(),this.subscribe(i,e,t)),(r.audio||r.video||r.screen)&&this.subscribeDeleteTracks(r),{addOption:i,deleteOption:r}}handleAutoPlayFailed(){this.emit("remoteAudioAutoPlayFail",this.uid);const e=()=>{this.resumeAudio().then(()=>{document.removeEventListener("click",e,!1),document.removeEventListener("touchstart",e,!1)})};document.addEventListener("click",e,!1),document.addEventListener("touchstart",e,!1)}handleVideoPlayFailded(e,t){this.emit("remoteVideoAutoPlayFail",this.uid,t);const i=()=>{var n;const r=(n=t===Ae.AliRtcVideoTrackScreen?this.screenStream:this.stream)==null?void 0:n.mediaStream;e.srcObject===r&&this.play(e,t===Ae.AliRtcVideoTrackScreen),document.removeEventListener("click",i,!1),document.removeEventListener("touchstart",i,!1)};document.addEventListener("click",i,!1),document.addEventListener("touchstart",i,!1)}playAudio(){return V(this,null,function*(){var t,i;if(!this.audioTrack)return;if(this.toggleAudio(!this.audioMuted),this.audioElement||(this.audioElement=document.createElement("audio"),this.audioElement.addEventListener("pause",this.handleAudioPaused),this.setPlayoutVolume(this.playoutVolume)),((i=(t=this.audioElement.srcObject)==null?void 0:t.getAudioTracks())==null?void 0:i[0])!==this.audioTrack){let r=this.audioElement.srcObject;r?r.getAudioTracks().forEach(n=>{r.removeTrack(n)}):(r=new MediaStream,this.audioElement.srcObject=r),r.addTrack(this.audioTrack)}this.audioElement.play().catch(()=>{this.handleAutoPlayFailed()});const e=this.audioElement;this.audioElement.addEventListener("playing",function r(){e.removeEventListener("playing",r),me.AliRTS.SystenUtil.isIos&&parseInt(me.AliRTS.SystenUtil.systemVersion)<=14&&(e.muted||(e.pause(),e.play()))})})}stopPlayAudio(){this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null,this.audioElement.removeEventListener("pause",this.handleAudioPaused),this.audioElement=void 0)}playAll(e=!1,t=!1){e?(this.viewMap.screenViews||[]).forEach(i=>{this.play(i,e,t)}):(this.viewMap.cameraViews||[]).forEach(i=>{this.play(i,e,t)})}play(e,t=!1,i=!1){const r=t?this.screenStream:this.stream;!e||!r||!r.mediaStream||ya(e,r.mediaStream,i).catch(n=>{n.code===20||n.name==="AbortError"||this.handleVideoPlayFailded(e,t?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackCamera)})}stopPlayAll(e=!1){e?this.viewMap.screenViews.forEach(t=>{Bt(t)}):this.viewMap.cameraViews.forEach(t=>{Bt(t)})}toggleAudio(e=!0){this.audioSubState.setEnabled(e),this.audioTrack&&(this.audioTrack.enabled=e)}toggleVideo(e=!0){this.videoSubState.setEnabled(e),this.stream&&(e?this.stream.enableVideo():this.stream.disableVideo())}toggleScreen(e=!0){this.screenSubState.setEnabled(e),this.screenStream&&(e?this.screenStream.enableVideo():this.screenStream.disableVideo())}getStats(){return V(this,null,function*(){var i,r;const e=[];if(this.isAudioSubscribing){const n=yield this.rtsManager.getSubscribeAudioStats(this.streamUrl);n&&e.push({uid:this.uid,track:oi.AliRtcAudioTrackMic,stats:n})}const t=[];if((i=this.streamInfo)!=null&&i.isVideoLargeSubscribed){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.VideoLarge);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeHigh,stats:n})}if((r=this.streamInfo)!=null&&r.isVideoSmallSubscribed){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.VideoSmall);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeLow,stats:n})}if(this.isScreenSubscribing){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.Screen);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackScreen,stats:n})}return{audio:e,video:t}})}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.audioTrack&&this.audioLevelMonitor.start(this.audioTrack,e),this.audioVolumeIndicationInterval=e)}reportSubscribeMonitor(e){var t;e&&(this.slsReporter.reportSubscribeMonitor(((t=this.localUser)==null?void 0:t.callId)||"",this.callId,this.trackTraceIdMap[e]||"",e,this.monitorDataCache[e]),this.monitorDataCache[e]=[])}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>V(this,null,function*(){try{if(this.streamInfo.subscribingInfos.length===0){this.stopStreamMonitor();return}let e=Object.keys(this.monitorDataCache).filter(t=>{var i;return((i=this.monitorDataCache[t])==null?void 0:i.length)>0});this.streamInfo.subscribingInfos.forEach(t=>{const i=t.msid;if(!i)return;e.includes(i)&&(e=e.filter(a=>a!==i));let r;const n=i===Z.Audio;n?r=this.rtsManager.getSubscribeAudioStats(this.streamUrl):r=this.rtsManager.getSubscribeVideoStats(this.streamUrl,i),r.then(a=>{var g;if(!a.timestamp)return;this.monitorDataCache[i]||(this.monitorDataCache[i]=[]);const o=this.monitorDataCache[i];let u;if((o==null?void 0:o.length)>0){const h=o[o.length-1]||{},{_last:l}=h;u=Ti(h,["_last"])}(o==null?void 0:o.length)>=R0&&this.reportSubscribeMonitor(i),a._last=u,a._codec=t.codec,n&&(a._source=(g=this.localUser)==null?void 0:g.getMediaStats(a.playoutId)),this.monitorDataCache[i].push(a)})}),e.forEach(t=>{this.reportSubscribeMonitor(t)})}catch(e){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportSubscribeMonitor(e)})}},_(Ft,"logName","RemoteUser"),Ft);Qe([j()],Ge.prototype,"clear",1),Qe([j()],Ge.prototype,"updateRemoteUserDeviceStatus",1),Qe([j()],Ge.prototype,"updateRemoteTracks",1),Qe([j(se)],Ge.prototype,"subscribe",1),Qe([j()],Ge.prototype,"subscribeProxy",1),Qe([j(se)],Ge.prototype,"subscribeDeleteProxy",1),Qe([j()],Ge.prototype,"restore",1),Qe([j(se)],Ge.prototype,"stopSubscribe",1),Qe([j(se)],Ge.prototype,"doStopSubscribe",1),Qe([j()],Ge.prototype,"clearStream",1),Qe([j()],Ge.prototype,"clearScreenStream",1),Qe([j()],Ge.prototype,"updateSubscribe",1),Qe([j()],Ge.prototype,"playAudio",1),Qe([j()],Ge.prototype,"stopPlayAudio",1),Qe([j(se)],Ge.prototype,"playAll",1),Qe([j()],Ge.prototype,"play",1),Qe([j()],Ge.prototype,"stopPlayAll",1);let D0=Ge;var Nt=(s=>(s[s.AliRtcPluginErrorCodeSuccess=0]="AliRtcPluginErrorCodeSuccess",s[s.AliRtcPluginErrorCodeFailed=-1]="AliRtcPluginErrorCodeFailed",s[s.AliRtcPluginErrorNoFindPlugin=-2]="AliRtcPluginErrorNoFindPlugin",s[s.AliRtcPluginErrorParameterError=-3]="AliRtcPluginErrorParameterError",s[s.AliRtcPluginErrorLoadError=-4]="AliRtcPluginErrorLoadError",s[s.AliRtcPluginErrorCreateError=-5]="AliRtcPluginErrorCreateError",s[s.AliRtcPluginErrorInitError=-6]="AliRtcPluginErrorInitError",s[s.AliRtcPluginErrorInitTokenError=-7]="AliRtcPluginErrorInitTokenError",s))(Nt||{});class T0 extends xe{constructor(){super(...arguments);_(this,"plugins",new Map)}add(e,t){if(this.plugins.has(e.name))throw new ee(Nt.AliRtcPluginErrorCreateError,`Plugin ${e.name} already exists`);this.plugins.set(e.name,e),t&&e.setOptions(t),this.emit("added",e),e.on("enabled",()=>this.emit("added",e)),e.on("disabled",()=>this.emit("removed",e)),e.on("updated",()=>this.emit("updated",e))}remove(e){const t=this.plugins.get(e);if(!t)throw new ee(Nt.AliRtcPluginErrorNoFindPlugin,`Plugin ${e} not founded`);this.plugins.delete(e),t.removeAllListeners(),this.emit("removed",t)}get(e){return this.plugins.get(e)}has(e){return!!this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}}var k0=Object.defineProperty,P0=Object.getOwnPropertyDescriptor,We=(s,c,e,t)=>{for(var i=t>1?void 0:t?P0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&k0(c,e,i),i};const Ji=([s])=>{const{remoteUser:c,options:e}=s;return[`user(${c.userId})`,e]},Ra=5,ze=(st=class extends xe{constructor(e,t){super();_(this,"rts");_(this,"encodedInsertableStreams",!0);_(this,"audioRedEnabled",!1);_(this,"localStreamManager");_(this,"slsReporter");_(this,"connecting",!1);_(this,"connected",!1);_(this,"_pcTraceId","");_(this,"_localJoinTime",0);_(this,"connectionResolve");_(this,"connectingPromise");_(this,"dcResolve");_(this,"dcConnectingPromise");_(this,"_publishingTracks",[]);this.rts=me.AliRTS.createClient(),this.localStreamManager=e,this.slsReporter=t,this.rts.on("connectStatusChange",i=>{var r,n,a,o;if(ne.event(`[${st.logName}]`,"rts connectStatusChange to:",i.status),i.status===me.EConnectStatus.CONNECT_STATUS_DISCONNECTED)this.emit("disconnected"),this.setConnected(!1),this.slsReporter.reportWarning("rts disconnected");else if(i.status===me.EConnectStatus.CONNECT_STATUS_RECONNECTING)this.emit("reconnecting"),this.setConnected(!1),this.slsReporter.reportWarning("rts reconnecting");else if(i.status===me.EConnectStatus.CONNECT_STATUS_CONNECTED){this.setConnected(!0);const u=(o=(a=(n=(r=this.rts.commonController)==null?void 0:r.peerCore)==null?void 0:n.getSignal())==null?void 0:a.getDatachannelCore())==null?void 0:o.readyState;ne.event(`[${st.logName}]`,"dcReadyState:",u),u==="open"&&this.dcResolve&&this.dcResolve(!0),this.emit("connected")}}),this.rts.on("datachannelStatusChange",i=>{ne.event(`[${st.logName}]`,"rts datachannelStatusChange to:",i.status),i.status===me.EDatachannelStatus.DATACHANNEL_STATUS_OPEN?this.dcResolve&&this.dcResolve(!0):i.status===me.EDatachannelStatus.DATACHANNEL_STATUS_CLOSE&&(this.dcConnectingPromise=new Promise(r=>{this.dcResolve=r}))}),this.rts.on("receivedSEI",i=>{this.emit("seimessage",i.url,i.sei.payloadType,i.sei.data)})}get pcTraceId(){return this._pcTraceId}set localJoinTime(e){this._localJoinTime=e}setEncodedInsertableStreams(e){this.encodedInsertableStreams=e}setAudioRedEnabled(e){var t;if(e!==this.audioRedEnabled){try{const r=[...((t=RTCRtpReceiver.getCapabilities("audio"))==null?void 0:t.codecs)||[]];if(r.length>0){if(e){const n=r.findIndex(o=>o.mimeType==="audio/red"),a=r.findIndex(o=>o.mimeType==="audio/opus");if(n>-1&&a>-1&&n>a){const o=r[a];r[a]=r[n],r[n]=o}}this.rts.setSenderCodecPreferences({audio:r}),this.rts.setReceiverCodecPreferences({audio:r})}}catch(i){}this.audioRedEnabled=e}}clear(){this.setConnected(!1),this.rts.unpublish()}startConnect(){this.connecting=!0,this.connectingPromise=new Promise(e=>{this.connectionResolve=e}),this.dcConnectingPromise=new Promise(e=>{this.dcResolve=e})}setConnected(e){var t;this.connected=e,this.connecting=!1,(t=this.connectionResolve)==null||t.call(this,!0),e||(this.dcConnectingPromise=new Promise(i=>{this.dcResolve=i}))}get isConnecting(){return this.connecting}get isConnected(){return this.connected}get publishingTracks(){return this._publishingTracks}getPubMsid(e,t){const{aMsid:i,vMsid:r}=t!=null?t:{},n={};return e.hasAudio&&(n.aMsid=[i!=null?i:Z.Audio]),e.hasScreen&&(n.vMsid=[Z.Screen]),e.hasVideo&&(n.vMsid=[r!=null?r:t!=null&&t.isScreen?Z.Screen:Z.VideoLarge]),n}updatePublishingTracks(e){e&&(this._publishingTracks=e.map(({msid:t,from:i,ssrc:r,codec:n,type:a,trackId:o})=>({msid:t,from:i,type:a,ssrc:`${r}`,codec:n!=null?n:"",trackId:o})))}httpPublish(n,a){return V(this,arguments,function*(e,t,i=!1,r=zt.MANUAL){const{publishStream:o,videoSmallStream:u,screenStream:h,vMsid:g}=yield this.localStreamManager.createHTTPPublishStream();if(!o)return ne.warn(`[${st.logName}]`,"publishStream is null"),"";const f=this.getPubMsid(o,{vMsid:g});f.retryTimes=0,this.encodedInsertableStreams&&(f.encodedInsertableStreams=!0);let l=!o.hasVideo,p=g,d="";this.startConnect();const m=Date.now();try{d=yield this.rts.publish(e,o,f)}catch(b){throw this.setConnected(!1),this.emit("disconnected"),ee.fromRtsError(b)}ne.event(`[${st.logName}]`,"rts publish success",d),this.slsReporter.reportPublish(i,e,t,o.hasVideo&&(!g||g===Z.VideoLarge),o.hasVideo&&g===Z.VideoSmall,o.hasVideo&&g===Z.Screen,o.hasAudio,0,d,d,m);try{const b=Date.now();return this._pcTraceId=d,this.setConnected(!0),this._publishingTracks=this.rts.getPublishTrackInfoList(),u&&(yield this.publishAdd(e,u,t,{vMsid:Z.VideoSmall},i),l=!1,p=Z.VideoSmall),h&&(yield this.publishAdd(e,h,t,{vMsid:Z.Screen},i),l=!1,p=Z.Screen),yield this.waitPublishSender(e,l,p),this.slsReporter.reportPublishFirstPacket(i,t,m,b,this._localJoinTime,l?Z.Audio:f.vMsid,d||"",d||"",r),d}catch(b){throw this.setConnected(!1),ee.fromError(b)}})}waitPublishSender(e,t=!1,i){return V(this,null,function*(){const r=(n,a)=>{let o=0;const u=()=>(t?this.rts.getPublishAudioStats(e,i):this.rts.getPublishVideoStats(e,i)).then(g=>!(g.bytesSent>0)&&o<n?(o++,new Promise(l=>setTimeout(()=>l(u()),a))):Promise.resolve());return u()};return Promise.race([Xt(1e3),r(5,100)]).catch(()=>{})})}getPublishVideoStats(e,t){return V(this,null,function*(){return yield this.rts.getPublishVideoStats(e,t)})}getPublishAudioStats(e,t){return V(this,null,function*(){return yield this.rts.getPublishAudioStats(e,t)})}publishAdd(u,h,g,f){return V(this,arguments,function*(e,t,i,r,n=!1,a=!1,o=zt.MANUAL){var d,m,b,v,x,A,E,I;const l=Date.now(),p=this.getPubMsid(t,r);try{const C=yield _a(R=>V(this,null,function*(){return R>0&&ne.event(`[${st.logName}]`,`publishAdd retry times: ${R}`),this.isConnected?(yield this.dcConnectingPromise,this.rts.publishAdd([be({url:e,stream:t,updateSourceStream:!1},p)])):Promise.reject()}),Ra,0,R=>(R==null?void 0:R.errorCode)===15006);if(C){const R=Date.now(),[L]=C;return this.slsReporter.reportPublish(!1,e,i,((d=p.vMsid)==null?void 0:d[0])===Z.VideoLarge,((m=p.vMsid)==null?void 0:m[0])===Z.VideoSmall,((b=p.vMsid)==null?void 0:b[0])===Z.Screen,((v=p.aMsid)==null?void 0:v[0])===Z.Audio,0,this.pcTraceId,L.traceId||"",l),this.updatePublishingTracks(L.trackInfoList),a&&(yield this.waitPublishSender(e,!t.hasVideo,t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)),this.slsReporter.reportPublishFirstPacket(n,i,l,R,this._localJoinTime,(t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)||"",this.pcTraceId,L.traceId||"",o),L.traceId||""}}catch(C){throw this.slsReporter.reportPublish(!1,e,i,((x=p.vMsid)==null?void 0:x[0])===Z.VideoLarge,((A=p.vMsid)==null?void 0:A[0])===Z.VideoSmall,((E=p.vMsid)==null?void 0:E[0])===Z.Screen,((I=p.aMsid)==null?void 0:I[0])===Z.Audio,C.errorCode||-1,this.pcTraceId,"",l),C.errorCode?ee.fromRtsError(C):ee.fromError(C)}return""})}publishDelete(e,t){return V(this,null,function*(){var u,h,g,f,l,p,d,m;yield this.dcConnectingPromise;const i=(h=(u=this.publishingTracks)==null?void 0:u.find(({msid:b})=>b===Z.Audio))==null?void 0:h.msid,r=(f=(g=this.publishingTracks)==null?void 0:g.find(({msid:b})=>b===Z.VideoLarge))==null?void 0:f.msid,n=(p=(l=this.publishingTracks)==null?void 0:l.find(({msid:b})=>b===Z.Screen))==null?void 0:p.msid,a=[];t.screen&&n?a.push(n):t.video&&a.push(t.vMsid||r);const o=[];t.audio&&i&&o.push(i),ne.event(st.logName,"publishDelete",{streamUrl:e,aMsid:o,vMsid:a});try{const[b]=(yield this.rts.publishDeleteTracks([{url:e,aMsid:o,vMsid:a}]))||[];return ne.event(st.logName,"publishDelete",{result:b}),b&&this.updatePublishingTracks(b.trackInfoList),((m=(d=b==null?void 0:b.trackInfoList)==null?void 0:d[0])==null?void 0:m.trackId)||""}catch(b){throw ee.fromRtsError(b)}})}publishReplace(e,t,i){return V(this,null,function*(){var a,o;yield this.dcConnectingPromise;const{vMsid:r,aMsid:n}=i!=null?i:{};try{const u=yield this.rts.publishReplaceTracks([{url:e,stream:t,updateSourceStream:!1,vMsid:r,aMsid:n}]),[h]=u;return this.updatePublishingTracks(h.trackInfoList),((o=(a=h==null?void 0:h.trackInfoList)==null?void 0:a[0])==null?void 0:o.trackId)||""}catch(u){throw ee.fromRtsError(u)}})}publishStop(e){return V(this,null,function*(){return yield this.rts.publishStop([{url:e}]),this._publishingTracks=[],""})}publishAddDataChannel(e){return V(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.publishAddDatachannel({signalUrl:e,url:e,label:Z.Data,msid:Z.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.datachannel.send(r)}return i})}publishStopDataChannel(e,t){return V(this,null,function*(){return yield this.rts.publishStopDatachannel({url:e,datachannel:t})})}unpublish(){return V(this,null,function*(){yield this.rts.unpublish(),this.connecting=!1,this.connected=!1})}getSubConfig(e,t){let i=t!=null?t:{};t||(i={audio:!0,video:!0,screen:!0});const r={};return i.audio&&(r.aMsid=[(e==null?void 0:e.getAudioInfo().msid)||Z.Audio]),i.video?i.vMsid?r.vMsid=[i.vMsid]:e!=null&&e.hasVideoLarge?r.vMsid=[(e==null?void 0:e.getVideoLargeInfo().msid)||Z.VideoLarge]:e!=null&&e.hasVideoSmall?r.vMsid=[(e==null?void 0:e.getVideoSmallInfo().msid)||Z.VideoSmall]:r.vMsid=[Z.VideoLarge]:i.screen&&e!=null&&e.hasScreen&&(r.vMsid=[(e==null?void 0:e.getScreenInfo().msid)||Z.Screen]),r}httpSubscribe(e){return V(this,null,function*(){const{remoteUser:t,options:i}=e;let r=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(r+="@subaudio=no"):r+="@subvideo=no";const n=this.getSubConfig(t.streamInfo,i);n.retryTimes=0,this.encodedInsertableStreams&&(n.encodedInsertableStreams=!0);try{this.startConnect();const a=yield this.rts.subscribe(r,n);return this._pcTraceId=a.traceId,this.setConnected(!0),{traceId:a.traceId,stream:a}}catch(a){throw this.setConnected(!1),this.emit("disconnected"),ee.fromRtsError(a)}})}subscribeAdd(e){return V(this,null,function*(){var n,a,o,u;const{remoteUser:t,options:i}=e,r=It(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield _a(g=>V(this,null,function*(){return yield this.dcConnectingPromise,g>0&&ne.event(`[${st.logName}]`,`subscribeAdd retry times: ${g}`),this.isConnected?this.rts.subscribeAdd([r]):Promise.reject()}),Ra,0,g=>(g==null?void 0:g.errorCode)===15006))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===508)return this.emit("subscribeexceeds"),null;throw ee.fromRtsError(h)}})}subscibeDelete(e){return V(this,null,function*(){var n,a,o,u;yield this.dcConnectingPromise;const{remoteUser:t,options:i}=e,r=It(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield this.rts.subscribeDeleteTracks([r]))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===404)return;throw ee.fromRtsError(h)}})}subscibeStop(e){return V(this,null,function*(){var t,i,r,n;try{yield this.rts.subscribeStop([{url:e}])}catch(a){if(((n=(r=(i=(t=a==null?void 0:a.extraInfo)==null?void 0:t.parsedData)==null?void 0:i.streams)==null?void 0:r[0])==null?void 0:n.res_code)===404)return;throw ee.fromRtsError(a)}})}subscribeAddDataChannel(e){return V(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.subscribeAddDatachannel({signalUrl:e,url:e,label:Z.Data,msid:Z.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.send(r)}return i})}subscribeStopDatachannel(e,t){return V(this,null,function*(){let i;try{i=yield this.rts.subscribeStopDatachannel({url:e,datachannel:t})}catch(r){}return t==null||t.dispose(),i})}publish(n,a){return V(this,arguments,function*(e,t,i=!1,r=zt.MANUAL){let o="";if(this.connecting&&(yield this.connectingPromise),this.connected){yield this.dcConnectingPromise;let u=!1,h;const{audio:g,video:f,videoSmall:l,screen:p}=this.localStreamManager.publishStreams;g&&(o=yield this.publishAdd(e,g,t,{aMsid:Z.Audio},i),u=!0,h=Z.Audio,yield Xt(100)),f&&(o=yield this.publishAdd(e,f,t,{vMsid:Z.VideoLarge},i),u=!1,h=Z.VideoLarge,yield Xt(100)),l&&(o=yield this.publishAdd(e,l,t,{vMsid:Z.VideoSmall},i),u=!1,h=Z.VideoSmall,yield Xt(100)),p&&(o=yield this.publishAdd(e,p,t,{isScreen:!0,vMsid:Z.Screen},i),u=!1,h=Z.Screen),h&&(yield this.waitPublishSender(e,u,h))}else o=yield this.httpPublish(e,t,i,r);return o})}subscribe(e,t,i,r,n){return V(this,null,function*(){const{options:a,remoteUser:o}=e;if(a.video&&a.screen)throw new ee(oe.ERR_INNER,"subscribe error, video and screen cannot be subscribed at the same time");this.connecting&&(yield this.connectingPromise);let u,h=Date.now();this.connected?(h=Date.now(),u=yield this.subscribeAdd(e)):u=yield this.httpSubscribe(e);const g=Date.now();let f=Z.VideoLarge,l=a.video||a.screen,p=a.audio;a.video&&a.vMsid?f=a.vMsid:a.screen&&(f=Z.Screen);let d=0,m=0,b=0;return((x,A)=>{let E=0;const I=()=>{let C;return p&&!d&&(C=this.rts.getSubscribeAudioStats(o.streamUrl).then(R=>{if(R.packetsReceived>0)d=Date.now();else if(!l)return E<x?(E++,new Promise(L=>setTimeout(()=>L(I()),A))):!1;return!0})),l&&!b&&(C=this.rts.getSubscribeVideoStats(o.streamUrl,f).then(R=>{if(R.packetsReceived>0&&(m=Date.now()),R.framesDecoded>0)b=Date.now();else return E<x?(E++,new Promise(L=>setTimeout(()=>L(I()),A))):(ne.error(`[${st.logName}]`,o.userId,"checkInStatsWithRetry fail"),!1);return!0})),Promise.resolve(C)};return I()})(40,100).then(()=>{m&&this.slsReporter.reportSubscribeFirstPacket(t===Le.Resume,i,r,f,{fprt:m-h,ifsprtc:b?b-h:0,ajsub:t===Le.Join?1:0,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",sstc:g-h}),b&&this.slsReporter.reportSubscribeFirstFrame(t===Le.Resume,i,r,f,{fvfrt:b-h,fp2fftc:b-m,ajsub:t===Le.Join?1:0,tffrtc:t===Le.Join?b-this.localJoinTime:b-n,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",fvfdtc:b-h}),d&&this.slsReporter.reportSubscribeFirstPacket(t===Le.Resume,i,r,Z.Audio,{fprt:d-h,ifsprtc:d-h,ajsub:t===Le.Join?1:0,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",sstc:g-h})}),u})}getSubscribeVideoStats(e,t){return V(this,null,function*(){return yield this.rts.getSubscribeVideoStats(e,t)})}getSubscribeAudioStats(e,t){return V(this,null,function*(){return yield this.rts.getSubscribeAudioStats(e,t)})}getStreamByMsid(e){return this.rts.commonController.streamManager.getStreamByMsid(e)}getPCStats(){return V(this,null,function*(){var e,t;return(t=(e=this.rts.commonController.peerCore)==null?void 0:e.pc)==null?void 0:t.getStats()})}sendSEI(e,t,i,r){return V(this,null,function*(){return this.rts.sendSEI({url:e,vMsid:Z.VideoLarge,data:t,repeatCount:i,payloadType:r})})}},_(st,"logName","RtsManager"),st);We([j()],ze.prototype,"updatePublishingTracks",1),We([j(se,se)],ze.prototype,"httpPublish",1),We([j(se,se)],ze.prototype,"waitPublishSender",1),We([j(([s,c,e])=>[s,JSON.stringify(e)],se)],ze.prototype,"publishAdd",1),We([j(se,se)],ze.prototype,"publishDelete",1),We([j(([s,c,e])=>[s,JSON.stringify(e)])],ze.prototype,"publishReplace",1),We([j(se)],ze.prototype,"publishStop",1),We([j(se)],ze.prototype,"publishAddDataChannel",1),We([j(se)],ze.prototype,"publishStopDataChannel",1),We([j()],ze.prototype,"unpublish",1),We([j(Ji,({traceId:s})=>s)],ze.prototype,"httpSubscribe",1),We([j(Ji,({traceId:s})=>s)],ze.prototype,"subscribeAdd",1),We([j(Ji)],ze.prototype,"subscibeDelete",1),We([j(se)],ze.prototype,"subscibeStop",1),We([j(se)],ze.prototype,"subscribeAddDataChannel",1),We([j(se)],ze.prototype,"subscribeStopDatachannel",1),We([j(se)],ze.prototype,"publish",1),We([j(Ji)],ze.prototype,"subscribe",1),We([j()],ze.prototype,"sendSEI",1);let Da=ze;class ws{constructor(){_(this,"profile");_(this,"profileMap",new Map);_(this,"audioProfile");_(this,"contentHint")}updateProfile(c,e){e&&this.profileMap.set(c,e),this.profile=c}get videoProfile(){return this.profile}updateAudioProfile(c){this.audioProfile=c}setContentHint(c,e){e&&(this.contentHint=e),this.contentHint&&c&&(c.contentHint=this.contentHint)}setVideoProfile(c,e,t=!1){return V(this,null,function*(){if(!this.profile)return;const i=this.profileMap.get(this.profile)||(e==null?void 0:e.VideoProfileMap.get(this.profile));if(i){if(!t&&c&&c.applyConstraints)try{yield c.applyConstraints(i)}catch(r){}e&&(e==null||e.VideoProfileMap.set(this.profile,i),yield e.setVideoProfile(this.profile))}})}}class Cs extends xe{constructor(e){super();_(this,"type");_(this,"originVideoTrack");_(this,"videoSource");_(this,"_videoMuted",!1);_(this,"originAudioTrack");_(this,"audioSource");_(this,"_audioMuted",!1);_(this,"_targetVideoTrack");_(this,"_targetDualVideoTrack");_(this,"_targetAudioTrack");_(this,"_publishVideoStream");_(this,"_publishDualVideoStream");_(this,"_publishAudioStream");_(this,"_previewStream");_(this,"plugins",[]);_(this,"_profileManager");_(this,"cameraVideoConstraints");_(this,"micAudioConstraints");_(this,"onVideoTrackEnded",()=>{this.emit("videotrackended")});_(this,"onAudioTrackEnded",()=>{this.emit("audiotrackended")});this.type=e}get profileManager(){return this._profileManager}get audioProfile(){var e;return(e=this.profileManager)==null?void 0:e.audioProfile}updateSource(e,t,i){return V(this,null,function*(){var a,o,u,h,g,f;const{videoTrack:r,audioTrack:n}=e;r&&((a=this.originVideoTrack)==null||a.removeEventListener("ended",this.onVideoTrackEnded)),n&&((o=this.originAudioTrack)==null||o.removeEventListener("ended",this.onAudioTrackEnded)),this.type===He.AliRtcSdkStreamTypeScreen?this.stop():(r&&((u=this.originVideoTrack)==null||u.stop()),n&&((h=this.originAudioTrack)==null||h.stop())),r&&(this.originVideoTrack=r,(g=this.originVideoTrack)==null||g.addEventListener("ended",this.onVideoTrackEnded),this.videoSource=t||si.Camera,this.updateVideoTrack(r)),n&&(this.originAudioTrack=n,(f=this.originAudioTrack)==null||f.addEventListener("ended",this.onAudioTrackEnded),this.audioSource=i||ki.Microphone,this.updateAudioTrack(n))})}get currentProfile(){var e;return(e=this.profileManager)==null?void 0:e.profile}get currentVideoTrack(){return this._targetVideoTrack}get currentDualVideoTrack(){return this._targetDualVideoTrack}get publishVideoStream(){return this._publishVideoStream}get publishDualVideoStream(){return this._publishDualVideoStream}get currentAudioTrack(){return this._targetAudioTrack}get publishAudioStream(){return this._publishAudioStream}get previewStream(){return this._previewStream}updateVideoTrack(e,t=!1){return V(this,null,function*(){(this._targetVideoTrack!==e||t)&&(this._targetVideoTrack=e)})}updateDualVideoTrack(e,t=!1){return V(this,null,function*(){(this._targetDualVideoTrack!==e||t)&&(this._targetDualVideoTrack=e)})}updateAudioTrack(e,t=!1){return V(this,null,function*(){(this._targetAudioTrack!==e||t)&&(this._targetAudioTrack=e)})}setAudioMuted(e){var t,i;this._audioMuted=e,e?(t=this.publishAudioStream)==null||t.disableAudio():(i=this.publishAudioStream)==null||i.enableAudio()}get isAudioMuted(){return this._audioMuted}setVideoMuted(e){var t,i;this._videoMuted=e,e?(t=this.publishVideoStream)==null||t.disableVideo():(i=this.publishVideoStream)==null||i.enableVideo()}get isVideoMuted(){return this._videoMuted}process(e){return V(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l,p;this._targetAudioTrack=this.originAudioTrack,this._targetVideoTrack=this.originVideoTrack;for(const d of this.plugins)try{yield d.execute(this,e)}catch(m){console.error(`error in plugin-${d.name}, error: ${m}`)}this._targetVideoTrack?((i=(t=this._publishVideoStream)==null?void 0:t.videoTrack)==null?void 0:i.id)!==this._targetVideoTrack.id&&(this._publishVideoStream=yield Ii(this._targetVideoTrack),this.setVideoMuted(this._videoMuted),(r=this.profileManager)==null||r.setVideoProfile(this.originVideoTrack,this._publishVideoStream,!0),(n=this.profileManager)==null||n.setContentHint(this._targetVideoTrack),this.previewStream?(a=this.previewStream)==null||a.mergeStream(this._publishVideoStream):this._previewStream=yield Ii(this._targetVideoTrack)):(this._publishVideoStream=void 0,(o=this.previewStream)==null||o.deleteTracks({video:!0})),this._targetDualVideoTrack?((h=(u=this._publishDualVideoStream)==null?void 0:u.videoTrack)==null?void 0:h.id)!==this._targetDualVideoTrack.id&&(this._publishDualVideoStream=yield Ii(this._targetDualVideoTrack),this._videoMuted?this._publishDualVideoStream.disableVideo():this._publishDualVideoStream.enableVideo()):this._publishDualVideoStream=void 0,this._targetAudioTrack?((f=(g=this._publishAudioStream)==null?void 0:g.audioTrack)==null?void 0:f.id)!==this._targetAudioTrack.id&&(this._publishAudioStream=yield Ii(this._targetAudioTrack),this.setAudioMuted(this._audioMuted),this.previewStream?(l=this.previewStream)==null||l.mergeStream(this._publishAudioStream):this._previewStream=yield Ii(this._targetAudioTrack)):(this._publishAudioStream=void 0,(p=this.previewStream)==null||p.deleteTracks({audio:!0}))})}stopVideo(){var e,t;this.originVideoTrack&&((e=this.originVideoTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originVideoTrack)==null||t.stop(),this.originVideoTrack=void 0),this.updateVideoTrack(void 0)}stopAudio(){var e,t;this.originAudioTrack&&((e=this.originAudioTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originAudioTrack)==null||t.stop(),this.originAudioTrack=void 0),this.updateAudioTrack(void 0)}stop(){this.stopVideo(),this.stopAudio()}updateVideoProfile(e,t){return V(this,null,function*(){this._profileManager||(this._profileManager=new ws),e&&this._profileManager.updateProfile(e,t),yield this._profileManager.setVideoProfile(this.originVideoTrack,this._publishVideoStream,this.type===He.AliRtcSdkStreamTypeScreen)})}get videoProfile(){var e;return(e=this.profileManager)==null?void 0:e.videoProfile}setVideoContentHint(e){this._profileManager||(this._profileManager=new ws),this._profileManager.setContentHint(this.currentVideoTrack,e)}updateAudioProfile(e){return V(this,null,function*(){this._profileManager||(this._profileManager=new ws),this._profileManager.updateAudioProfile(e)})}cloneVideoProfile(e){return V(this,null,function*(){var t;yield(t=this.profileManager)==null?void 0:t.setVideoProfile(void 0,e)})}addPlugin(e){const t=this.plugins.findIndex(i=>i.zIndex>e.zIndex);t>-1?this.plugins.splice(t,0,e):this.plugins.push(e)}removePlugin(e){const t=this.plugins.indexOf(e);return t>-1?(e.clear(this),this.plugins.splice(t,1),!0):!1}}var B0=Object.defineProperty,L0=Object.getOwnPropertyDescriptor,yt=(s,c,e,t)=>{for(var i=t>1?void 0:t?L0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&B0(c,e,i),i};const bt=(ti=class extends xe{constructor(e,t){super();_(this,"pluginManager");_(this,"slsReporter");_(this,"publishingCameraVideoStream");_(this,"publishingScreenVideoStream");_(this,"cameraStreamInfo",new Cs(He.AliRtcSdkStreamTypeCapture));_(this,"screenStreamInfo",new Cs(He.AliRtcSdkStreamTypeScreen));_(this,"streamInfos",[this.cameraStreamInfo,this.screenStreamInfo]);_(this,"_audioCaptureDisabled",!1);_(this,"_cameraCaptureDisabled",!1);_(this,"_publishLocalAudioStreamEnabled",!0);_(this,"_publishLocalVideoStreamEnabled",!0);_(this,"_publishLocalScreenStreamEnabled",!0);this.screenStreamInfo.setVideoContentHint("motion"),this.pluginManager=e,this.slsReporter=t;const i=r=>V(this,null,function*(){if(ne.info(`[${ti.logName}]`,"plugin added",r.name),!r.isSupported("6.12.0-beta.2")){console.warn(`${r.name} is not supported!!!`),r.emit("unsupported");return}try{yield r.init()}catch(n){r.emit("error",ee.fromError(n,Nt.AliRtcPluginErrorInitError))}r.streamType===He.AliRtcSdkStreamTypeCapture&&(this.cameraStreamInfo.addPlugin(r),yield this.cameraStreamInfo.process(this.streamInfos)),r.streamType===He.AliRtcSdkStreamTypeScreen&&(this.screenStreamInfo.addPlugin(r),yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")});this.cameraStreamInfo.updateVideoProfile(ba,Ai),this.cameraStreamInfo.on("videotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({video:!0}),this.emit("trackended",Qt.VideoTrackEnded)})),this.cameraStreamInfo.on("audiotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({audio:!0}),this.emit("trackended",Qt.AudioTrackEnded)})),this.screenStreamInfo.updateVideoProfile(xa,Ei),this.screenStreamInfo.on("videotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({screen:!0}),this.emit("trackended",Qt.ScreenTrackEnded)})),this.pluginManager.on("added",i),this.pluginManager.on("removed",r=>V(this,null,function*(){this.cameraStreamInfo.removePlugin(r)&&(yield this.cameraStreamInfo.process(this.streamInfos)),this.screenStreamInfo.removePlugin(r)&&(yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")})),this.pluginManager.on("updated",()=>V(this,null,function*(){yield this.updateStreams()}))}get hasCamera(){return!!this.cameraStreamInfo.originVideoTrack}get audioCaptureDisabled(){return this._audioCaptureDisabled}set audioCaptureDisabled(e){this._audioCaptureDisabled=e}get cameraCaptureDisabled(){return this._cameraCaptureDisabled}setAudioMuted(e){this.cameraStreamInfo.setAudioMuted(e)}get isAudioMuted(){return this.cameraStreamInfo.isAudioMuted}setCameraMuted(e){this.cameraStreamInfo.setVideoMuted(e)}get isCameraMuted(){return this.cameraStreamInfo.isVideoMuted}setScreenMuted(e){this.screenStreamInfo.setVideoMuted(e)}get isScreenMuted(){return this.screenStreamInfo.isVideoMuted}set cameraCaptureDisabled(e){this._cameraCaptureDisabled=e}get publishLocalAudioStreamEnabled(){return this._publishLocalAudioStreamEnabled}set publishLocalAudioStreamEnabled(e){this._publishLocalAudioStreamEnabled=e}get publishLocalVideoStreamEnabled(){return this._publishLocalVideoStreamEnabled}set publishLocalVideoStreamEnabled(e){this._publishLocalVideoStreamEnabled=e}get publishLocalScreenStreamEnabled(){return this._publishLocalScreenStreamEnabled}set publishLocalScreenStreamEnabled(e){this._publishLocalScreenStreamEnabled=e}updateStreams(){return V(this,null,function*(){yield this.cameraStreamInfo.process(this.streamInfos),yield this.screenStreamInfo.process(this.streamInfos),this.emit("publishupdate")})}setAvailableCameraDeviceId(){return V(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.cameraVideoConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.cameraVideoConstraints)==null?void 0:t.deviceId;const a=yield me.AliRTS.getCameraList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.cameraVideoConstraints.deviceId=n}})}setAvailableMicrophoneDeviceId(){return V(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.micAudioConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.micAudioConstraints)==null?void 0:t.deviceId;const a=yield me.AliRTS.getMicList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.micAudioConstraints.deviceId=n}})}createLocalStream(e){return V(this,null,function*(){var g;const{screen:t,mediaStream:i,videoProfile:r,screenProfile:n}=e;let{video:a,audio:o}=e;const u=v0(e);let h;if(u){i||(a===!0&&this.cameraStreamInfo.cameraVideoConstraints?(yield this.setAvailableCameraDeviceId(),a=be({},this.cameraStreamInfo.cameraVideoConstraints)):typeof a=="object"&&(yield this.setAvailableCameraDeviceId(),a=be(be({},a),this.cameraStreamInfo.cameraVideoConstraints)),o===void 0&&this.audioCaptureDisabled?o=!1:o&&(o===!0&&this.cameraStreamInfo.micAudioConstraints?(yield this.setAvailableMicrophoneDeviceId(),o=be({},this.cameraStreamInfo.micAudioConstraints)):typeof o=="object"&&(yield this.setAvailableMicrophoneDeviceId(),o=be(be({},o),this.cameraStreamInfo.micAudioConstraints)),this._audioCaptureDisabled=!1));const f=Date.now();try{h=yield me.AliRTS.createStream({audio:o,video:a,screen:t,custom:!!i,mediaStream:i,skipProfile:!0}),o&&!i&&this.slsReporter.reportAudio(null,Date.now()-f,((g=h==null?void 0:h.audioTrack)==null?void 0:g.label)||""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f)}catch(l){throw o&&!i&&this.slsReporter.reportAudio(l,Date.now()-f,""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f),l}if(t)yield this.screenStreamInfo.updateSource(h,si.Screen,ki.Screen),yield this.setScreenProfile(n),this.setScreenContentHint(),this.publishingScreenVideoStream=void 0;else if(yield this.cameraStreamInfo.updateSource(h,si.Camera,ki.Microphone),h.hasVideo&&(yield this.setVideoProfile(r),this.setVideoContentHint(),this.publishingCameraVideoStream=void 0),h.hasAudio&&typeof o=="boolean"){const l=this.cameraStreamInfo.audioProfile;l&&(yield h.setAudioProfile(l))}}return me.AliRTS.SystenUtil.isIos&&me.AliRTS.SystenUtil.compareVersion("15.1")&&!me.AliRTS.SystenUtil.compareVersion("15.2")&&(yield Xt(1e3)),yield this.updateStreams(),h})}stopLocalStream(e){return V(this,null,function*(){const{screen:t,video:i,audio:r}=e!=null?e:{};let n=!1;i&&this.cameraStreamInfo.originVideoTrack&&(n=!0,this.cameraStreamInfo.stopVideo(),this.publishingCameraVideoStream=void 0),r&&this.cameraStreamInfo.originAudioTrack&&(n=!0,this.cameraStreamInfo.stopAudio()),t&&this.screenStreamInfo.originVideoTrack&&(n=!0,this.screenStreamInfo.stop(),this.publishingScreenVideoStream=void 0,this.slsReporter.reportScreenStop(null)),n&&(yield this.updateStreams())})}get publishStreams(){const{publishLocalVideoStreamEnabled:e,publishLocalAudioStreamEnabled:t,publishLocalScreenStreamEnabled:i}=this;return{video:e?this.cameraStreamInfo.publishVideoStream:void 0,videoSmall:e?this.cameraStreamInfo.publishDualVideoStream:void 0,audio:t?this.cameraStreamInfo.publishAudioStream:void 0,screen:i?this.screenStreamInfo.publishVideoStream:void 0}}createHTTPPublishStream(){return V(this,null,function*(){var o,u,h,g;let e,t=!1,i,r,n;const a=yield this.publishStreams;try{if(!a.audio&&!a.video&&!a.videoSmall&&!a.screen)throw ne.error(`[${ti.logName}]`,"no tracks founded"),new ee(oe.ERR_SDK_PUBLISH_INVAILD,"no tracks founded");const f=new MediaStream;(o=a.audio)!=null&&o.audioTrack&&f.addTrack(a.audio.audioTrack),(u=a.video)!=null&&u.videoTrack?(f.addTrack(a.video.videoTrack),r=a.videoSmall,n=a.screen):(h=a.screen)!=null&&h.videoTrack&&(i=Z.Screen,f.addTrack((g=a.screen)==null?void 0:g.videoTrack),t=!0),e=yield Ca(f),t?(this.screenStreamInfo.cloneVideoProfile(e),this.publishingScreenVideoStream=e):(this.cameraStreamInfo.cloneVideoProfile(e),this.publishingCameraVideoStream=e)}catch(f){}return{publishStream:e,videoSmallStream:r,screenStream:n,vMsid:i}})}stop(){this.cameraStreamInfo.stop(),this.screenStreamInfo.stop()}setVideoProfile(e,t){return V(this,null,function*(){yield this.cameraStreamInfo.updateVideoProfile(e,t),this.publishingCameraVideoStream&&this.cameraStreamInfo.cloneVideoProfile(this.publishingCameraVideoStream)})}setVideoContentHint(e){this.cameraStreamInfo.setVideoContentHint(e)}setAudioProfile(e){return V(this,null,function*(){var t;yield this.cameraStreamInfo.updateAudioProfile(e),yield(t=this.publishingCameraVideoStream)==null?void 0:t.setAudioProfile(e)})}setScreenProfile(e,t){return V(this,null,function*(){yield this.screenStreamInfo.updateVideoProfile(e,t),this.publishingScreenVideoStream&&this.screenStreamInfo.cloneVideoProfile(this.publishingScreenVideoStream)})}setScreenContentHint(e){this.screenStreamInfo.setVideoContentHint(e)}setCameraVideoConstraints(e){var t;this.cameraStreamInfo.cameraVideoConstraints=be(be({},(t=this.cameraStreamInfo.cameraVideoConstraints)!=null?t:{}),e)}setMicAudioConstraints(e){var t;this.cameraStreamInfo.micAudioConstraints=be(be({},(t=this.cameraStreamInfo.micAudioConstraints)!=null?t:{}),e)}},_(ti,"logName","LocalStreamManager"),ti);yt([j(([s])=>{const{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}=s;return[{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}]})],bt.prototype,"createLocalStream",1),yt([j(se)],bt.prototype,"stopLocalStream",1),yt([j()],bt.prototype,"createHTTPPublishStream",1),yt([j()],bt.prototype,"stop",1),yt([j(se)],bt.prototype,"setVideoProfile",1),yt([j(se)],bt.prototype,"setVideoContentHint",1),yt([j(se)],bt.prototype,"setAudioProfile",1),yt([j(se)],bt.prototype,"setScreenProfile",1),yt([j(se)],bt.prototype,"setScreenContentHint",1),yt([j(se)],bt.prototype,"setCameraVideoConstraints",1),yt([j(se)],bt.prototype,"setMicAudioConstraints",1);let N0=bt;var M0=Object.defineProperty,F0=Object.getOwnPropertyDescriptor,At=(s,c,e,t)=>{for(var i=t>1?void 0:t?F0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&M0(c,e,i),i};class ut extends xe{constructor(e){super();_(this,"self");_(this,"userMap",{});_(this,"usersViewMap",{});_(this,"rtsManager");_(this,"localStreamManager");_(this,"authInfo");_(this,"signalingManager");_(this,"pluginManager");_(this,"slsReporter");_(this,"statsMonitorId");_(this,"autoSubAudio",!0);_(this,"autoSubVideo",!0);_(this,"autoSubScreen",!0);_(this,"wantSubAudio",!0);_(this,"wantSubVideo",!0);_(this,"wantSubScreen",!0);_(this,"defaultStreamType",Ye.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"audioVolumeIndicationInterval",0);_(this,"indicationTimer",0);_(this,"parameter",{});const{signalingManager:t,slsReporter:i}=e;this.signalingManager=t,this.addSignalingManagerListener(),this.slsReporter=i,this.pluginManager=new T0,this.localStreamManager=new N0(this.pluginManager,this.slsReporter),this.rtsManager=new Da(this.localStreamManager,this.slsReporter),this.self=new wa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})}addSignalingManagerListener(){this.signalingManager.on("onNotifyPublish",e=>{ne.event("[Signaling] Notify Publish ",e),e.forEach(t=>{this.onRemotePublishStateChange(t)})}),this.signalingManager.stsManager.on("onTokenUpdate",(e,t)=>{ne.updateToken(e),this.slsReporter.updateToken(t,e)})}isAutoSubAudio(){return this.autoSubAudio}setAutoSubAudio(e){this.autoSubAudio=e}isAutoSubVideo(){return this.autoSubVideo}setAutoSubVideo(e){this.autoSubVideo=e}isAutoSubScreen(){return this.autoSubScreen}setAutoSubScreen(e){this.autoSubScreen=e}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e,this.remoteUsers.forEach(t=>{t.setWantSubAudio(e),t.updateSubscribe(Le.User)})}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e,this.remoteUsers.forEach(t=>{t.setWantSubVideo(e),t.updateSubscribe(Le.User)})}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e,this.remoteUsers.forEach(t=>{t.setWantSubScreen(e),t.updateSubscribe(Le.User)})}setRemoteDefaultVideoStreamType(e){this.defaultStreamType=e,this.remoteUsers.forEach(t=>{t.setRemoteDefaultVideoStreamType(e)})}setRemoteUserVideoStreamType(e,t){var i;(i=this.getRemoteUser(e))==null||i.setRemoteDefaultVideoStreamType(t)}setAudioMuted(e){this.audioMuted=e,this.remoteUsers.forEach(t=>{t.setAudioMuted(e)})}setLocalViewConfig(e,t){var r;if(!e)return(r=this.publisher)==null?void 0:r.setViewConfig(null,t);const i=ys(e);i.length!==0&&i.forEach(n=>{var a,o;(a=this.publisher)==null||a.resetElement(n),Object.values(this.usersViewMap).forEach(({cameraViews:u=[],screenViews:h=[]})=>{u.includes(n)&&u.splice(u.indexOf(n),1),h.includes(n)&&h.splice(h.indexOf(n),1)}),(o=this.publisher)==null||o.setViewConfig(i,t)})}setRemoteViewConfig(e,t,i){var n,a;if(!t)return(n=this.userMap[e])==null?void 0:n.setViewConfig(null,i);const r=ys(t);r.length!==0&&(r.forEach(o=>{var u;(u=this.publisher)==null||u.resetElement(o),Object.values(this.usersViewMap).forEach(({cameraViews:h=[],screenViews:g=[]})=>{h.includes(o)&&h.splice(h.indexOf(o),1),g.includes(o)&&g.splice(g.indexOf(o),1)})}),(a=this.userMap[e])==null||a.setViewConfig(r,i))}get channel(){var e;return(e=this.authInfo)==null?void 0:e.channelId}get userId(){var e;return(e=this.authInfo)==null?void 0:e.userId}get remoteUsers(){return Object.values(this.userMap)}get publisher(){return this.self}get isSubscribing(){var e;return((e=this.remoteUsers)!=null?e:[]).some(t=>{const{isAudioSubscribing:i,isVideoSubscribing:r,isScreenSubscribing:n}=t;return i||r||n})}onRemotePublishStateChange(e){var f;const{userid:t,callid:i,subscribe:r,pubid:n="",tracks:a}=e,o=(f=r==null?void 0:r.pullstreamurl)!=null?f:"";let u=this.getRemoteUser(t);if(!u)return;const h=u.streamInfo.audioTrackInfo,g=u.streamInfo.videoTrackInfo;u.updateRemoteTracks(i,o,n,a),u.updateSubscribe(Le.Publish),(h!==u.streamInfo.audioTrackInfo||g!==u.streamInfo.videoTrackInfo)&&this.emit("remoteTrackAvailableChange",t,u.streamInfo.audioTrackInfo,u.streamInfo.videoTrackInfo)}init(e,t){var i;this.authInfo=e,this.self||(this.self=new wa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})),this.self.enableAudioVolumeIndication(this.audioVolumeIndicationInterval),(i=this.self)==null||i.initInfo(e,t.pushstreamurl),t.users.forEach(r=>{const n=r.userid;if(n){const a=this.addUser(n,r.displayname,Le.InRoom),{callid:o,subscribe:u,tracks:h}=r;a.updateRemoteTracks(o,(u==null?void 0:u.pullstreamurl)||"","",h),this.emit("remoteTrackAvailableChange",n,a.streamInfo.audioTrackInfo,a.streamInfo.videoTrackInfo)}}),this.startStatsMonitor()}clear(){return V(this,null,function*(){var e;this.stopStatsMonitor(),this.rtsManager.clear();for(let t in this.userMap)this.userMap[t]&&(yield this.userMap[t].clear(),delete this.userMap[t]);yield(e=this.self)==null?void 0:e.clear(),this.rtsManager=new Da(this.localStreamManager,this.slsReporter),this.authInfo=void 0})}startStatsMonitor(){this.statsMonitorId=window.setInterval(()=>V(this,null,function*(){if(this.publisher){const{audio:i,video:r,candidate:n}=yield this.publisher.getStats();i&&i.length>0&&this.emit("rtcLocalAudioStats",i),r&&r.length>0&&this.emit("rtcLocalVideoStats",r),n&&this.emit("rtcStats",n)}const e=[],t=[];for(const i of this.remoteUsers){const{audio:r,video:n}=yield i.getStats();r&&r.forEach(a=>{e.push(a)}),n&&n.forEach(a=>{t.push(a)})}e.length>0&&this.emit("rtcRemoteAudioStats",e),t.length>0&&this.emit("rtcRemoteVideoStats",t)}),2e3)}stopStatsMonitor(){this.statsMonitorId&&clearInterval(this.statsMonitorId)}addUser(e,t,i){return this.userMap[e]||(this.userMap[e]=this.executeAddUser(e,t,i)),this.userMap[e]}executeAddUser(e,t,i){const r=new D0({userId:e,displayName:t,rtsManager:this.rtsManager,signalingManager:this.signalingManager,usersViewMap:this.usersViewMap,slsReporter:this.slsReporter,localUser:this.self,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,playoutVolume:this.playoutVolume,parameter:this.parameter});return r.on(it.Remote,this.onRemoteDeviceStatusChange.bind(this)),r.on(Re.PullStreamStats,this.onRemoteStatReport.bind(this)),r.on(Re.RtsSubscribeExceeds,this.onSubscribeExceeds.bind(this)),r.on("audioSubscribeStateChanged",(n,a,o,u)=>{this.emit("audioSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("videoSubscribeStateChanged",(n,a,o,u)=>{this.emit("videoSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("screenSubscribeStateChanged",(n,a,o,u)=>{this.emit("screenSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("dataSubscribeStateChanged",(n,a,o,u)=>{this.emit("dataSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("remoteAudioAutoPlayFail",n=>{this.emit("remoteAudioAutoPlayFail",n)}),r.on("remoteVideoAutoPlayFail",(n,a)=>{this.emit("remoteVideoAutoPlayFail",n,a)}),r.on("remoteAudioPlayError",(n,a)=>{this.emit("remoteAudioPlayError",n,a)}),r.on("remoteVideoPlayError",(n,a)=>{this.emit("remoteVideoPlayError",n,a)}),r.on("remoteSubscribeError",n=>{this.emit("remoteSubscribeError",n)}),r.on("remoteDataChannelMessage",(n,a)=>{this.emit("remoteDataChannelMessage",n,a)}),r.setWantSubAudio(this.autoSubAudio&&this.wantSubAudio),r.setWantSubVideo(this.autoSubVideo&&this.wantSubVideo),r.setWantSubScreen(this.autoSubScreen&&this.wantSubScreen),r.setRemoteDefaultVideoStreamType(this.defaultStreamType),r.setAudioMuted(this.audioMuted),(this.autoSubAudio||this.autoSubVideo||this.autoSubScreen)&&r.updateSubscribe(i),r}onRemoteDeviceStatusChange(e,t){e===Re.MuteAudio?this.emit("userAudioMuted",t,!0):e===Re.UnmuteAudio?this.emit("userAudioMuted",t,!1):e===Re.MuteVideo?this.emit("userVideoMuted",t,!0):e===Re.UnmuteVideo?this.emit("userVideoMuted",t,!1):e===Re.MuteScreen?this.emit("userScreenMuted",t,!0):e===Re.UnmuteScreen&&this.emit("userScreenMuted",t,!1)}onRemoteStatReport(e,t,i){this.emit(Re.PullStreamStats,e,t,i)}onSubscribeExceeds(e,t){this.emit(Re.RtsSubscribeExceeds,e,t)}removeLeftUser(e){return V(this,null,function*(){e.userid&&this.userMap[e.userid]&&(yield this.userMap[e.userid].clear(!1),delete this.userMap[e.userid])})}updateUsers(e){const t=[],i=[],r={};e.forEach(o=>{o.userid&&(this.userMap[o.userid]?(i.push(o),r[o.userid]=this.userMap[o.userid]):(t.push(o),r[o.userid]=this.executeAddUser(o.userid,o.displayname,Le.Resume)))});const n=Object.keys(this.userMap),a=[];return n.forEach(o=>{r[o]||a.push({userid:o,reason:"",leavecode:gs.AliRtcUserOfflineQuit})}),this.userMap=r,{joinList:t,leaveList:a,presentList:i}}getRemoteUser(e){return this.userMap[e]}updateRemoteUserDeviceStatus(e){e&&e.userid&&this.userMap[e.userid]&&this.userMap[e.userid].updateRemoteUserDeviceStatus(e.status)}updateAudioWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubAudio(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({audio:!0})}updateVideoWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubVideo(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({video:!0})}updateScreenWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubScreen(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({screen:!0})}stopIndication(){this.indicationTimer&&window.clearInterval(this.indicationTimer)}startIndication(e){this.stopIndication(),this.indicationTimer=window.setInterval(()=>{var i;const t=this.remoteUsers.map(r=>({userId:r.userId,volume:r.getAudioLevel()||0}));t.unshift({userId:"",volume:((i=this.self)==null?void 0:i.getAudioLevel())||0}),this.emit("audioVolume",t)},e)}enableAudioVolumeIndication(e){var t;this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.stopIndication(),e>0&&this.startIndication(e),this.audioVolumeIndicationInterval=e,this.remoteUsers.forEach(i=>{i.enableAudioVolumeIndication(e)}),(t=this.self)==null||t.enableAudioVolumeIndication(e))}setPlayoutVolume(e){this.playoutVolume=e,this.remoteUsers.forEach(t=>{t.setPlayoutVolume(e)})}refreshAuthInfo(e){var t;this.authInfo&&(this.authInfo=be(be({},this.authInfo),e)),e.userId&&((t=this.self)==null||t.refreshUserInfo(e.userId))}setEnableMediaExtensionMsg(e){this.rtsManager.setEncodedInsertableStreams(e)}setAudioRedEnabled(e){this.rtsManager.setAudioRedEnabled(e)}setParameter(e){const t=JSON.parse(e);Object.keys(t).forEach(i=>{const r=this.parameter[i],n=t[i];typeof r=="object"&&typeof n=="object"?this.parameter[i]=be(be({},r),n):this.parameter[i]=n})}getParameter(){return JSON.stringify(this.parameter)}sendDataChannelMessage(e){var t;return(t=this.self)==null?void 0:t.sendDataChannelMessage(e)}}_(ut,"logName","BizControl"),At([j()],ut.prototype,"init",1),At([j()],ut.prototype,"clear",1),At([j(se)],ut.prototype,"addUser",1),At([j()],ut.prototype,"removeLeftUser",1),At([j()],ut.prototype,"updateUsers",1),At([j(se)],ut.prototype,"updateAudioWant",1),At([j(se)],ut.prototype,"updateVideoWant",1),At([j(se)],ut.prototype,"updateScreenWant",1),At([j()],ut.prototype,"stopIndication",1),At([j()],ut.prototype,"startIndication",1),At([j()],ut.prototype,"enableAudioVolumeIndication",1);const Is=s=>V(this,null,function*(){const c=new Uint8Array(160).fill(170),e=new TextEncoder().encode(s),t=yield window.crypto.subtle.importKey("raw",c,{name:"HMAC",hash:{name:"SHA-1"}},!1,["sign"]),i=yield window.crypto.subtle.sign("HMAC",t,e);return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")});class O0{constructor(c){_(this,"authInfo");_(this,"slsReporter");this.slsReporter=c}doRequest(c,e){var u;const t=this.authInfo;if(!t)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const i="https://gw.rtn.aliyuncs.com",r=Zc[c],n={appid:t.appId,userid:t.userId,channelid:t.channelId,timestamp:t.timestamp,token:t.token,nonce:t.nonce?t.nonce:"",requestid:_t.createCallid(),tokensid:!1,session:(u=t.sessionId)!=null?u:_t.createCallid()},a=Object.keys(n).map(h=>`${h}=${encodeURIComponent(n[h])}`).join("&"),o=`${i}${r}?${a}`;return fetch(o,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(e)}).then(h=>h.status!==200?(this.slsReporter.reportTranscodingError(h.status,e.taskid||""),Promise.reject(new ee(oe.ERR_INNER,`transcoding request failed, status: ${h.status}`))):h).catch(h=>Promise.reject(new ee(oe.ERR_INNER,`transcoding request failed, err: ${h.message}`)))}setAuthInfo(c){this.authInfo=c}clear(){this.authInfo=void 0}startPublishLiveStream(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=yield Is(c.split("?")[0]),i=at.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}startPublishLiveStreamWithTaskId(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=at.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}updatePublishLiveStream(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=yield Is(c.split("?")[0]),i=at.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}updatePublishLiveStreamWithTaskId(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=at.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}stopPublishLiveStream(c){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const e=yield Is(c.split("?")[0]),t=at.MPU_TASK_TRANSACTION_STOP,i=new ji().toJson(t,this.authInfo,e,c);return this.doRequest(t,i)})}stopPublishLiveStreamWithTaskId(c){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const e=at.MPU_TASK_TRANSACTION_STOP,t=new ji().toJson(e,this.authInfo,c);return this.doRequest(e,t)}refreshAuthInfo(c){this.authInfo&&this.setAuthInfo(be(be({},this.authInfo),c))}}class Ta{constructor(c){_(this,"name","COMMON");this.name=c||this.name}info(...c){}warn(...c){}print(c,...e){const t=c.toLowerCase();t&&console[t](`[${c}][${this.name}]`,...e)}}_(Ta,"LEVEL",0);class V0{constructor(){_(this,"logger",new Ta("AudioMixer"));_(this,"audioContext",new AudioContext);_(this,"audioDestination",this.audioContext.createMediaStreamDestination());_(this,"audioTrack",l0(this.audioDestination.stream));_(this,"sourceNodeMap",{})}get sourceNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.sourceNode).filter(c=>!!c)}get gainNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.gainNode).filter(c=>!!c)}get sourceCount(){return this.sourceNodeList.length}resume(){var c;return(c=this.audioContext)==null?void 0:c.resume()}addTrack(c){this.connectTrack(c)}hasTrack(c){return!!this.sourceNodeMap[c]}removeTrack(c){const{sourceNode:e,gainNode:t}=this.sourceNodeMap[c]||{};t==null||t.disconnect(),e==null||e.disconnect(),delete this.sourceNodeMap[c],e?this.logger.info("SourceNode disconnected. Active source node:",this.sourceNodeList.length):this.logger.warn(`SourceNode ${c} does not exit. Active source node: ${this.sourceNodeList.length}`)}getAudioTrack(){return this.audioTrack}setVolume(c,e){const{gainNode:t}=this.sourceNodeMap[e]||{};t?(this.logger.info(`Setting node(${e}) volume to ${this.scale(c)}`),t.gain.value=this.scale(c)):this.logger.warn(`GainNode ${e} does not exit.`)}reset(){this.disconnectSourceNode(),this.sourceNodeMap={}}dispose(){var c;this.reset(),(c=this.audioTrack)==null||c.stop(),this.audioDestination.disconnect(),this.audioContext.close()}connectTrack(c){if(!this.audioContext)return this.logger.warn("AudioContext not initialized");let e=new MediaStream;e.addTrack(c);const t=this.audioContext.createMediaStreamSource(e),i=this.audioContext.createGain();i.gain.value=1,t.connect(i),i.connect(this.audioDestination),this.sourceNodeMap[c.id]={track:c,sourceNode:t,gainNode:i},this.logger.info("New sourceNode connected. Active source node:",this.sourceNodeList.length)}disconnectSourceNode(){this.sourceNodeList.forEach(c=>c.disconnect()),this.gainNodeList.forEach(c=>c.disconnect())}scale(c){return c/100}}const U0=4;class z0 extends Gt{constructor(){super("audioMixer",He.AliRtcSdkStreamTypeCapture,vi.AUDIO);_(this,"audioMixer");_(this,"primaryAudioTrackId");_(this,"screenAudioTrackId");_(this,"dirty",!1);this.zIndex=8}get initOptions(){return{audio:1,screen:1}}setOptions(e){Object.entries(e).forEach(([t,i])=>{this.isValidVolume(i)&&(this.options[t]=i)}),this.dirty=!0,this.emit("updated")}isSupported(){return"AudioContext"in window}shouldUpdate(e,t){var n,a;if(e.type!==He.AliRtcSdkStreamTypeCapture)return!1;const i=t.find(o=>o.type===He.AliRtcSdkStreamTypeCapture),r=t.find(o=>o.type===He.AliRtcSdkStreamTypeScreen);return!(this.primaryAudioTrackId===((n=i==null?void 0:i.currentAudioTrack)==null?void 0:n.id)&&this.screenAudioTrackId===((a=r==null?void 0:r.currentAudioTrack)==null?void 0:a.id)&&!this.dirty)}process(e,t){return V(this,null,function*(){var a,o;this.dirty=!1;const i=t.find(u=>u.type===He.AliRtcSdkStreamTypeScreen),r=e.currentAudioTrack,n=i==null?void 0:i.currentAudioTrack;if(!n&&this.options.audio===1){this.audioMixer&&(this.audioMixer.dispose(),this.audioMixer=void 0),this.primaryAudioTrackId=r==null?void 0:r.id,e.updateAudioTrack(r);return}this.audioMixer||(this.audioMixer=new V0),yield this.audioMixer.resume(),this.primaryAudioTrackId&&(r==null?void 0:r.id)!==this.primaryAudioTrackId&&((a=this.audioMixer)==null||a.removeTrack(this.primaryAudioTrackId)),r&&!this.audioMixer.hasTrack(r==null?void 0:r.id)&&this.audioMixer.addTrack(r),this.primaryAudioTrackId=r==null?void 0:r.id,this.screenAudioTrackId&&(n==null?void 0:n.id)!==this.screenAudioTrackId&&((o=this.audioMixer)==null||o.removeTrack(this.screenAudioTrackId)),n&&!this.audioMixer.hasTrack(n==null?void 0:n.id)&&this.audioMixer.addTrack(n),this.screenAudioTrackId=n==null?void 0:n.id,this.updateVolume(),e.updateAudioTrack(this.audioMixer.getAudioTrack())})}isValidVolume(e){return e!==void 0&&e>=0&&e<=U0}updateVolume(){this.audioMixer&&(this.primaryAudioTrackId&&this.audioMixer.setVolume(this.options.audio*100,this.primaryAudioTrackId),this.screenAudioTrackId&&this.audioMixer.setVolume(this.options.screen*100,this.screenAudioTrackId))}clear(e){var t;(t=this.audioMixer)==null||t.dispose(),super.clear(e)}}class Rs{constructor(c,e){_(this,"originTrack");_(this,"originVideo");_(this,"targetWidth");_(this,"targetHeight");_(this,"targetFrameRate");_(this,"targetCanvas");_(this,"animationFrameId");_(this,"resultTrack");this.targetWidth=e.width,this.targetHeight=e.height,this.targetFrameRate=e.frameRate,this.originTrack=c,this.originVideo=document.createElement("video"),this.originVideo.muted=!0,this.originVideo.autoplay=!0,this.originVideo.controls=!1,this.targetCanvas=document.createElement("canvas"),this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight}updateOptions(c){this.targetWidth=c.width,this.targetHeight=c.height,this.targetFrameRate=c.frameRate,this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight,this.resultTrack&&this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})}dispose(){}getVideoTrack(){return this.resultTrack||(this.resultTrack=this.targetCanvas.captureStream().getVideoTracks()[0],this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})),this.resultTrack}cancelAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}getPositionAndSize(c,e,t,i){const r=e/c,n=i/t;let a=t,o=i,u=0,h=0;return n>r?(a=Math.round(o/r),u=Math.round((t-a)/2)):n<r&&(o=Math.round(a*r),h=Math.round((i-o)/2)),{x:u,y:h,width:a,height:o}}}class H0 extends Rs{constructor(e,t){super(e,t);_(this,"targetCtx");this.targetCtx=this.targetCanvas.getContext("2d"),this.startRender=this.startRender.bind(this),this.stopRender=this.startRender.bind(this),this.initStream(e)}initStream(e){const t=new MediaStream;t.addTrack(e),this.originVideo.srcObject=t,this.originVideo.play(),this.originVideo.addEventListener("canplay",this.startRender),this.originVideo.addEventListener("pause",this.stopRender),this.originVideo.addEventListener("ended",this.stopRender)}startRender(){this.cancelAnimation();const e=()=>{if(!this.targetCtx)return;const t=this.getPositionAndSize(this.originVideo.videoWidth,this.originVideo.videoHeight,this.targetWidth,this.targetHeight);this.targetCtx.drawImage(this.originVideo,0,0,this.originVideo.videoWidth,this.originVideo.videoHeight,t.x,t.y,t.width,t.height),!this.originVideo.paused&&!this.originVideo.ended&&(this.animationFrameId=requestAnimationFrame(e))};e()}stopRender(){this.cancelAnimation()}dispose(){this.stopRender(),this.originVideo.removeEventListener("play",this.startRender),this.originVideo.removeEventListener("pause",this.stopRender),this.originVideo.removeEventListener("ended",this.stopRender),this.originVideo.pause(),this.originVideo.srcObject=null}}const j0=`
39
+ `));const r=yield i.generateAsync({type:"blob"}),n=yield Sc(r),a=ns(new Date,"UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'"),o={"x-oss-date":a,"content-md5":n,"content-type":"application/zip"};o.date=a,o["x-oss-security-token"]=this.stsToken.security_token;const u=`client/${e}/${this.appId}/${c}.zip`;o.authorization=yield yc(this.stsToken.access_key_id,this.stsToken.access_key_secret,o,`/${this.stsToken.bucket_name}/${u}`);const h=`https://${this.stsToken.bucket_name}.${this.stsToken.region_endpoint}/${u}`,g=yield fetch(h,{method:"PUT",headers:o,body:r});if(g.status===200){gi.reportOSSUpload(c,e);const f=yield this.dbPromise;t.forEach(l=>{mn(f,l.id)})}else gi.reportOSSUpload(c,e,g.status)})}uploadSessionLog(c){c&&this.dbPromise.then(e=>V(this,null,function*(){if(!this.stsToken)return;const t=yield pn(e,c),i={},r=[];t.forEach(n=>{const a=n.date;if(Date.now()-Gc(a).getTime()>qc)try{mn(e,n.id)}catch(o){}else i[a]||(i[a]=[],r.push(a)),i[a].push(n)}),Promise.all(r.map(n=>this.uploadSessionDateLog(c,n,i[n]))).then(()=>V(this,null,function*(){(yield pn(e,c)).length===0&&$o(e,c)}))}))}tryUploadHistorySessionLog(){this.dbPromise.then(c=>V(this,null,function*(){(yield Ko(c)).filter(t=>t.sid!==this.sessionId).forEach(t=>{this.uploadSessionLog(t.sid)})}))}uploadCurrent(){const c=this.sessionId;this.sessionId="",this.uploadSessionLog(c)}setSessionID(c,e){!c||!e||(this.appId=c,this.dbPromise.then(t=>{this.sessionId=e,Wo(t,e),this.logCache&&(this.logCache.forEach(i=>{fn(t,this.sessionId,i.date,`${i.log}`)}),this.logCache=[])}))}addLog(c){if(!this.logToServer)return;const e=this.getCurrentTime(),t=this.getCurrentDate(),i=`${e} ${c}`;this.sessionId?this.dbPromise.then(r=>{fn(r,this.sessionId,t,i)}):this.logCache.push({date:t,log:i})}getCurrentTime(){return ns(new Date,"HH:MM:ss.l")}getCurrentDate(){return ns(new Date,"yyyymmdd")}static paramArrayToString(c){let e="";for(let t=0;t<c.length;t++){e!==""&&(e+=" ");let i=Ui.toString(c[t]);e+=i}return e}}class ne{static getLogger(){return this.logger||(this.logger=new Ui),this.logger}static setLogLevel(c){this.getLogger().changeConfig({logLevel:c})}static config(c){this.getLogger().changeConfig(c)}static updateToken(c){this.getLogger().updateSTSToken(c)}static setSessionID(c,e){this.getLogger().setSessionID(c,e)}static uploadLog(){this.getLogger().uploadCurrent()}static interface(...c){this.getLogger().a("[API]",...c)}static interfaceResult(c,e,t,...i){t?this.getLogger().ar("[ARE]",c,e,...i):this.getLogger().ae("[ARE]",c,e,...i)}static event(...c){this.getLogger().ev("[EVT]",...c)}static debug(...c){this.getLogger().d("[DBG]",...c)}static info(...c){this.getLogger().i("[INF]",...c)}static warn(...c){this.getLogger().w("[WARN]",...c)}static error(...c){this.getLogger().e("[ERR]",...c)}}_(ne,"logger");const Jc=s=>V(this,null,function*(){const c=new me.AliRTS.SupportUtil;let e={support:!1,detail:{isWebRTCSupported:c.checkMediaDevices()&&c.checkWebRtcSupport(),isH264DecodeSupported:!1,isH264EncodeSupported:!1,isScreenShareSupported:!1,isSendMediaExtensionMsgSupported:!1,isBrowserSupported:c.checkBrowser({errorCode:0,message:""})}};if(e.support=e.detail.isWebRTCSupported&&e.detail.isBrowserSupported,c.checkWebRtcSupport()&&s!=="sendonly"){const t=yield c.checkH264Decode();e.detail.isH264DecodeSupported=t,e.support=e.support&&t}if(c.checkWebRtcSupport()&&s!=="recvonly"){const t=yield c.checkH264Encode();e.detail.isH264EncodeSupported=t,e.support=e.support&&t}return e.detail.isScreenShareSupported=c.checkWebRtcSupport()&&c.checkScreenCapture()&&!me.AliRTS.SystenUtil.isAndroid&&!me.AliRTS.SystenUtil.isIos,e.detail.isSendMediaExtensionMsgSupported=c.checkWebRtcSupport()&&c.checkEncodedTransformSupport(),e});var He=(s=>(s[s.AliRtcSdkStreamTypeCapture=0]="AliRtcSdkStreamTypeCapture",s[s.AliRtcSdkStreamTypeScreen=1]="AliRtcSdkStreamTypeScreen",s))(He||{}),la=(s=>(s[s.PRE_PROCESSOR=0]="PRE_PROCESSOR",s[s.POST_PROCESSOR=1]="POST_PROCESSOR",s))(la||{}),vi=(s=>(s[s.AUDIO=0]="AUDIO",s[s.VIDEO=1]="VIDEO",s[s.BOTH=2]="BOTH",s))(vi||{});class Gt extends xe{constructor(e,t=He.AliRtcSdkStreamTypeCapture,i=1){super();_(this,"name");_(this,"options");_(this,"type",0);_(this,"streamType");_(this,"trackType");_(this,"zIndex",1);_(this,"_isEnable",!0);_(this,"lastInputAudioTrack");_(this,"lastOutputAudioTrack");_(this,"lastInputVideoTrack");_(this,"lastOutputVideoTrack");_(this,"_hasCleared",!0);this.name=e,this.streamType=t,this.trackType=i,this.options=this.initOptions}get initOptions(){return{}}getOptions(){return this.options}init(){return V(this,null,function*(){})}enable(){this._isEnable||(this._isEnable=!0,this.init(),this.emit("enabled"))}disable(){this._isEnable&&(this._isEnable=!1,this.clear(),this.emit("disabled"))}get isEnable(){return this._isEnable}audioUpdated(e){var t,i;return((t=this.lastInputAudioTrack)==null?void 0:t.id)!==((i=e.currentAudioTrack)==null?void 0:i.id)}videoUpdated(e){var t,i;return((t=this.lastInputVideoTrack)==null?void 0:t.id)!==((i=e.currentVideoTrack)==null?void 0:i.id)}execute(e,t){return V(this,null,function*(){const i=this.shouldUpdate(e,t);this.lastInputAudioTrack=e.currentAudioTrack,this.lastInputVideoTrack=e.currentVideoTrack,this._hasCleared||i?(yield this.process(e,t),this._hasCleared=!1):(this.lastOutputAudioTrack&&(this.trackType===2||this.trackType===0)&&this.lastOutputAudioTrack&&e.updateAudioTrack(this.lastOutputAudioTrack),this.lastOutputVideoTrack&&(this.trackType===2||this.trackType===1)&&this.lastOutputVideoTrack&&e.updateVideoTrack(this.lastOutputVideoTrack)),this.lastOutputAudioTrack=e.currentAudioTrack,this.lastOutputVideoTrack=e.currentVideoTrack})}clear(e){this._hasCleared=!0,this.lastInputAudioTrack=void 0,this.lastInputVideoTrack=void 0,this.lastOutputAudioTrack=void 0,this.lastOutputVideoTrack=void 0}}var bi=(s=>(s[s.LiveTranscodingSingle=0]="LiveTranscodingSingle",s[s.LiveTranscodingMix=1]="LiveTranscodingMix",s))(bi||{}),us=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingAudio=1]="LiveTranscodingAudio",s[s.LiveTranscodingVideo=2]="LiveTranscodingVideo",s))(us||{}),ai=(s=>(s[s.LiveTranscodingCamera=0]="LiveTranscodingCamera",s[s.LiveTranscodingShareScreen=1]="LiveTranscodingShareScreen",s))(ai||{});const xi={0:"camera",1:"shareScreen"};var hs=(s=>(s[s.LiveTranscoding_Profile_1IN_1080P=0]="LiveTranscoding_Profile_1IN_1080P",s[s.LiveTranscoding_Profile_1IN_720P=1]="LiveTranscoding_Profile_1IN_720P",s[s.LiveTranscoding_Profile_1IN_360P=2]="LiveTranscoding_Profile_1IN_360P",s[s.LiveTranscoding_Profile_2IN_1080P=3]="LiveTranscoding_Profile_2IN_1080P",s[s.LiveTranscoding_Profile_2IN_720P=4]="LiveTranscoding_Profile_2IN_720P",s[s.LiveTranscoding_Profile_2IN_360P=5]="LiveTranscoding_Profile_2IN_360P",s[s.LiveTranscoding_Profile_4IN_1080P=6]="LiveTranscoding_Profile_4IN_1080P",s[s.LiveTranscoding_Profile_4IN_720P=7]="LiveTranscoding_Profile_4IN_720P",s[s.LiveTranscoding_Profile_4IN_360P=8]="LiveTranscoding_Profile_4IN_360P",s[s.LiveTranscoding_Profile_9IN_1080P=9]="LiveTranscoding_Profile_9IN_1080P",s[s.LiveTranscoding_Profile_9IN_720P=10]="LiveTranscoding_Profile_9IN_720P",s[s.LiveTranscoding_Profile_9IN_360P=11]="LiveTranscoding_Profile_9IN_360P",s[s.LiveTranscoding_Profile_12IN_1080P=12]="LiveTranscoding_Profile_12IN_1080P",s[s.LiveTranscoding_Profile_12IN_720P=13]="LiveTranscoding_Profile_12IN_720P",s[s.LiveTranscoding_Profile_12IN_360P=14]="LiveTranscoding_Profile_12IN_360P",s[s.LiveTranscoding_Profile_16IN_1080P=15]="LiveTranscoding_Profile_16IN_1080P",s[s.LiveTranscoding_Profile_16IN_720P=16]="LiveTranscoding_Profile_16IN_720P",s[s.LiveTranscoding_Profile_16IN_360P=17]="LiveTranscoding_Profile_16IN_360P",s[s.LiveTranscoding_Profile_Mixed=9999]="LiveTranscoding_Profile_Mixed",s))(hs||{});const Xc={0:"1IN_1080P",1:"1IN_720P",2:"1IN_360P",3:"2IN_1080P",4:"2IN_720P",5:"2IN_360P",6:"4IN_1080P",7:"4IN_720P",8:"4IN_360P",9:"9IN_1080P",10:"9IN_720P",11:"9IN_360P",12:"12IN_1080P",13:"12IN_720P",14:"12IN_360P",15:"16IN_1080P",16:"16IN_720P",17:"16IN_360P",9999:"Mixed_Audio"};var zi=(s=>(s[s.LiveTranscoding_HZ_48000=48e3]="LiveTranscoding_HZ_48000",s[s.LiveTranscoding_HZ_44100=44100]="LiveTranscoding_HZ_44100",s[s.LiveTranscoding_HZ_32000=32e3]="LiveTranscoding_HZ_32000",s[s.LiveTranscoding_HZ_16000=16e3]="LiveTranscoding_HZ_16000",s[s.LiveTranscoding_HZ_8000=8e3]="LiveTranscoding_HZ_8000",s))(zi||{}),Si=(s=>(s[s.LiveTranscodingNoBody=0]="LiveTranscodingNoBody",s[s.LiveTranscodingBody=1]="LiveTranscodingBody",s))(Si||{}),_i=(s=>(s[s.NOTO_SERIF_CJKSC_REGULAR=0]="NOTO_SERIF_CJKSC_REGULAR",s[s.ALIBABA_PUHUITI_REGULAR=1]="ALIBABA_PUHUITI_REGULAR",s[s.ALIBABA_PUHUITI_BOLD=2]="ALIBABA_PUHUITI_BOLD",s[s.ALIBABA_PUHUITI_Heavy=3]="ALIBABA_PUHUITI_Heavy",s[s.ALIBABA_PUHUITI_LIGHT=4]="ALIBABA_PUHUITI_LIGHT",s[s.ALIBABA_PUHUITI_MEDIUM=5]="ALIBABA_PUHUITI_MEDIUM",s))(_i||{}),ds=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingCrop=1]="LiveTranscodingCrop",s[s.LiveTranscodingFill=2]="LiveTranscodingFill",s))(ds||{}),Hi=(s=>(s[s.LiveTranscodingNormal=0]="LiveTranscodingNormal",s[s.LiveTranscodingVirtualBackground=1]="LiveTranscodingVirtualBackground",s))(Hi||{}),ls=(s=>(s[s.LiveTranscodingState_IDLE=0]="LiveTranscodingState_IDLE",s[s.LiveTranscodingState_CONNNECT=1]="LiveTranscodingState_CONNNECT",s[s.LiveTranscodingState_RUNNING=2]="LiveTranscodingState_RUNNING",s[s.LiveTranscodingState_RECOVERING=3]="LiveTranscodingState_RECOVERING",s[s.LiveTranscodingState_FAILURE=4]="LiveTranscodingState_FAILURE",s[s.LiveTranscodingState_END=5]="LiveTranscodingState_END",s))(ls||{}),wt=(s=>(s[s.LiveTranscodingErrorPublishOk=0]="LiveTranscodingErrorPublishOk",s[s.LiveTranscodingErrorStreamNotFound=17825793]="LiveTranscodingErrorStreamNotFound",s[s.LiveTranscodingErrorStreamAlreadyExist=17825794]="LiveTranscodingErrorStreamAlreadyExist",s[s.LiveTranscodingErrorInvalidParam=17825795]="LiveTranscodingErrorInvalidParam",s[s.LiveTranscodingErrorInternalError=17825796]="LiveTranscodingErrorInternalError",s[s.LiveTranscodingErrorRtmpServerError=17825797]="LiveTranscodingErrorRtmpServerError",s[s.LiveTranscodingErrorRtmpStreamUrlError=17825798]="LiveTranscodingErrorRtmpStreamUrlError",s[s.LiveTranscodingErrorPublishTimeout=17825799]="LiveTranscodingErrorPublishTimeout",s[s.LiveTranscodingErrorNotAuthorized=17825800]="LiveTranscodingErrorNotAuthorized",s))(wt||{}),fs=(s=>(s[s.TrascodingPublishTaskStatusStart=0]="TrascodingPublishTaskStatusStart",s[s.TrascodingPublishTaskStatusUpdate=1]="TrascodingPublishTaskStatusUpdate",s[s.TrascodingPublishTaskStatusStop=2]="TrascodingPublishTaskStatusStop",s))(fs||{}),at=(s=>(s[s.MPU_TASK_TRANSACTION_START=0]="MPU_TASK_TRANSACTION_START",s[s.MPU_TASK_TRANSACTION_UPDATE=1]="MPU_TASK_TRANSACTION_UPDATE",s[s.MPU_TASK_TRANSACTION_STOP=2]="MPU_TASK_TRANSACTION_STOP",s[s.MPU_TASK_TRANSACTION_LIST=3]="MPU_TASK_TRANSACTION_LIST",s[s.MPU_TASK_TRANSACTION_POLLING=4]="MPU_TASK_TRANSACTION_POLLING",s[s.MPU_TASK_TRANSACTION_ACKNOWLEDGE=5]="MPU_TASK_TRANSACTION_ACKNOWLEDGE",s[s.MPU_TASK_TRANSACTION_END=6]="MPU_TASK_TRANSACTION_END",s))(at||{});const Zc={0:"/libra/v1/sdk/start-task",1:"/libra/v1/sdk/update-task",2:"/libra/v1/sdk/stop-task",3:"/libra/v1/sdk/list-task",4:"/libra/v1/sdk/polling",5:"/libra/v1/sdk/acknowledge",6:"/"};class ps{constructor(c,e,t,i,r,n,a,o){_(this,"videoWidth");_(this,"videoHeight");_(this,"videoFramerate",20);_(this,"videoBitrate",2e3);_(this,"videoGop",30);_(this,"audioSamplerate",zi.LiveTranscoding_HZ_44100);_(this,"audioBitrate",500);_(this,"audioChannels",1);this.videoWidth=c,this.videoHeight=e,t&&(this.videoFramerate=t),i&&(this.videoBitrate=i),r&&(this.videoGop=r),n&&(this.audioSamplerate=n),a&&(this.audioBitrate=a),o&&(this.audioChannels=o)}}const ms=s=>((s&16711680)>>16)+(s&65280)+((s&255)<<16),vt=(s=0,c)=>{if(c==0)return 0;let e=s/c;return e<0&&(e=0),e>1&&(e=1),e};class ji{constructor(c,e,t){_(this,"mixMode",bi.LiveTranscodingSingle);_(this,"singleParam");_(this,"mixParam");c&&(this.mixMode=c),e&&(this.singleParam=e),t&&(this.mixParam=t)}toJson(c,e,t,i,r){const n={appid:e.appId,channelid:e.channelId};if(c===at.MPU_TASK_TRANSACTION_POLLING||c===at.MPU_TASK_TRANSACTION_LIST||c===at.MPU_TASK_TRANSACTION_ACKNOWLEDGE)return c===at.MPU_TASK_TRANSACTION_ACKNOWLEDGE&&(n.messageid=r),n;if(n.taskid=t,c!==at.MPU_TASK_TRANSACTION_STOP){if(n.mixmode=this.mixMode,i&&(n.streamurl=i),this.mixMode===bi.LiveTranscodingSingle){const a=this.singleParam;if(a){n.streamtype=a.streamType,a.sourceType===ai.LiveTranscodingShareScreen?n.sourcetype=xi[a.sourceType]:n.sourcetype=xi[ai.LiveTranscodingCamera];const o=[];a.userId&&o.push(a.userId),n.subspecusers=o}}else if(c===at.MPU_TASK_TRANSACTION_START||c===at.MPU_TASK_TRANSACTION_UPDATE){const a=this.mixParam;if(a){a.taskProfile&&(n.taskprofile=Xc[a.taskProfile]);const o=a.encodeParam||new ps(1280,720);let u=o.videoWidth,h=o.videoHeight;const g={};Object.keys(o).forEach(l=>{const p=o[l];p>0&&(g[l.toLowerCase()]=p)}),g.lowbitratehighquality=0,n.encodeparam=g,n.backgrounds=a.backgrounds.map(l=>l.toJson(u,h)),n.watermarks=a.watermarks.map(l=>l.toJson(u,h)),n.clockwidgets=a.clockWidgets.map(l=>l.toJson(u,h));const f=a.users.map(l=>l.userId);n.subspecusers=[...new Set(f)],n.layouts=[{audiomixcount:a.users.length,panes:a.users.map((l,p)=>l.toJson(p,u,h,a.mediaProcessMode))}],n.layoutids=["0"],n.cropmode=a.cropMode,n.backgroundcolor=ms(a.backgroundColor),n.taskmode=a.mediaProcessMode}}}return n}}var Rt=(s=>(s.pre="pre",s.prod="prod",s))(Rt||{}),Dt=(s=>(s.AliRtcSdkCommunication="communication",s.AliRtcSdkInteractiveLive="interactive_live",s.AliRtcSdkInteractiveWithLowLatencyLive="cdn_live",s))(Dt||{}),Pt=(s=>(s.AliRtcSdkInteractive="interactive",s.AliRtcSdkLive="live",s))(Pt||{}),Ct=(s=>(s[s.AliEngineLocalDeviceTypeUnknown=0]="AliEngineLocalDeviceTypeUnknown",s[s.AliEngineLocalDeviceTypeMic=1]="AliEngineLocalDeviceTypeMic",s[s.AliEngineLocalDeviceTypeSpeaker=2]="AliEngineLocalDeviceTypeSpeaker",s[s.AliEngineLocalDeviceTypeAudioDevice=3]="AliEngineLocalDeviceTypeAudioDevice",s[s.AliEngineLocalDeviceTypeCamera=4]="AliEngineLocalDeviceTypeCamera",s[s.AliEngineLocalDeviceTypeDisplay=5]="AliEngineLocalDeviceTypeDisplay",s[s.AliEngineLocalDeviceTypeVideoDevice=6]="AliEngineLocalDeviceTypeVideoDevice",s))(Ct||{}),Oe=(s=>(s[s.AliEngineLocalDeviceExceptionTypeUnknown=0]="AliEngineLocalDeviceExceptionTypeUnknown",s[s.AliEngineLocalDeviceExceptionTypeMicOpenFail=1]="AliEngineLocalDeviceExceptionTypeMicOpenFail",s[s.AliEngineLocalDeviceExceptionTypeMicInterrupt=2]="AliEngineLocalDeviceExceptionTypeMicInterrupt",s[s.AliEngineLocalDeviceExceptionTypeMicAuthFail=3]="AliEngineLocalDeviceExceptionTypeMicAuthFail",s[s.AliEngineLocalDeviceExceptionTypeMicNotAvailable=4]="AliEngineLocalDeviceExceptionTypeMicNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeSpeakerOpenFail=5]="AliEngineLocalDeviceExceptionTypeSpeakerOpenFail",s[s.AliEngineLocalDeviceExceptionTypeSpeakerInterrupt=6]="AliEngineLocalDeviceExceptionTypeSpeakerInterrupt",s[s.AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable=7]="AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeAudioDeviceException=8]="AliEngineLocalDeviceExceptionTypeAudioDeviceException",s[s.AliEngineLocalDeviceExceptionTypeCameraOpenFail=9]="AliEngineLocalDeviceExceptionTypeCameraOpenFail",s[s.AliEngineLocalDeviceExceptionTypeCameraInterrupt=10]="AliEngineLocalDeviceExceptionTypeCameraInterrupt",s[s.AliEngineLocalDeviceExceptionTypeCameraAuthFail=11]="AliEngineLocalDeviceExceptionTypeCameraAuthFail",s[s.AliEngineLocalDeviceExceptionTypeDisplayException=12]="AliEngineLocalDeviceExceptionTypeDisplayException",s[s.AliEngineLocalDeviceExceptionTypeVideoDeviceException=13]="AliEngineLocalDeviceExceptionTypeVideoDeviceException",s))(Oe||{}),ke=(s=>(s[s.AliRtcConnectionStatusInit=0]="AliRtcConnectionStatusInit",s[s.AliRtcConnectionStatusDisconnected=1]="AliRtcConnectionStatusDisconnected",s[s.AliRtcConnectionStatusConnecting=2]="AliRtcConnectionStatusConnecting",s[s.AliRtcConnectionStatusConnected=3]="AliRtcConnectionStatusConnected",s[s.AliRtcConnectionStatusReconnecting=4]="AliRtcConnectionStatusReconnecting",s[s.AliRtcConnectionStatusFailed=5]="AliRtcConnectionStatusFailed",s))(ke||{}),Jt=(s=>(s[s.AliRtcConnectionChangedDummyReason=0]="AliRtcConnectionChangedDummyReason",s[s.AliRtcConnectionMediaPathChanged=1]="AliRtcConnectionMediaPathChanged",s[s.AliRtcConnectionSignalingHeartbeatTimeout=2]="AliRtcConnectionSignalingHeartbeatTimeout",s[s.AliRtcConnectionSignalingHeartbeatAlive=3]="AliRtcConnectionSignalingHeartbeatAlive",s[s.AliRtcConnectionSignalingHttpDnsResolved=4]="AliRtcConnectionSignalingHttpDnsResolved",s[s.AliRtcConnectionSignalingHttpDnsFailure=5]="AliRtcConnectionSignalingHttpDnsFailure",s[s.AliRtcConnectionSignalingGslbFailure=6]="AliRtcConnectionSignalingGslbFailure",s[s.AliRtcConnectionSignalingGslbSuccess=7]="AliRtcConnectionSignalingGslbSuccess",s[s.AliRtcConnectionSignalingJoinRoomFailure=8]="AliRtcConnectionSignalingJoinRoomFailure",s[s.AliRtcConnectionSignalingJoinRoomSuccess=9]="AliRtcConnectionSignalingJoinRoomSuccess",s[s.AliRtcConnectionSignalingLeaveRoom=10]="AliRtcConnectionSignalingLeaveRoom",s[s.AliRtcConnectionSignalingConnecting=11]="AliRtcConnectionSignalingConnecting",s[s.AliRtcConnectionChangedNetworkInterrupted=12]="AliRtcConnectionChangedNetworkInterrupted",s))(Jt||{}),gs=(s=>(s[s.AliRtcUserOfflineQuit=0]="AliRtcUserOfflineQuit",s[s.AliRtcUserOfflineDropped=1]="AliRtcUserOfflineDropped",s[s.AliRtcUserOfflineBecomeAudience=2]="AliRtcUserOfflineBecomeAudience",s))(gs||{}),oi=(s=>(s[s.AliRtcAudioTrackNo=0]="AliRtcAudioTrackNo",s[s.AliRtcAudioTrackMic=1]="AliRtcAudioTrackMic",s[s.AliRtcAudioTrackDual=2]="AliRtcAudioTrackDual",s))(oi||{}),Ae=(s=>(s[s.AliRtcVideoTrackNo=0]="AliRtcVideoTrackNo",s[s.AliRtcVideoTrackCamera=1]="AliRtcVideoTrackCamera",s[s.AliRtcVideoTrackScreen=2]="AliRtcVideoTrackScreen",s[s.AliRtcVideoTrackBoth=3]="AliRtcVideoTrackBoth",s))(Ae||{}),ve=(s=>(s[s.AliRtcStatePublishIdle=0]="AliRtcStatePublishIdle",s[s.AliRtcStateNoPublish=1]="AliRtcStateNoPublish",s[s.AliRtcStatePublishing=2]="AliRtcStatePublishing",s[s.AliRtcStatePublished=3]="AliRtcStatePublished",s))(ve||{}),Pe=(s=>(s[s.AliRtcStateSubscribeIdle=0]="AliRtcStateSubscribeIdle",s[s.AliRtcStateNoSubscribe=1]="AliRtcStateNoSubscribe",s[s.AliRtcStateSubscribing=2]="AliRtcStateSubscribing",s[s.AliRtcStateSubscribed=3]="AliRtcStateSubscribed",s))(Pe||{}),Ye=(s=>(s[s.AliRtcVideoStreamTypeNone=0]="AliRtcVideoStreamTypeNone",s[s.AliRtcVideoStreamTypeHigh=1]="AliRtcVideoStreamTypeHigh",s[s.AliRtcVideoStreamTypeLow=2]="AliRtcVideoStreamTypeLow",s))(Ye||{}),yi=(s=>(s[s.CAMERA_INVALID=-1]="CAMERA_INVALID",s[s.CAMERA_REAR=0]="CAMERA_REAR",s[s.CAMERA_FRONT=1]="CAMERA_FRONT",s))(yi||{});const fa=10,pa=5e3,hi=class hi extends xe{constructor(e){super();_(this,"ws");_(this,"socketStatus",0);_(this,"wsUrl","");_(this,"lastConnectStartTime",0);_(this,"maxConnectRetryCount",fa);_(this,"connectRetryCount",0);_(this,"gotErr",!1);_(this,"closedByInvoke",!0);_(this,"isReconnecting",!1);_(this,"networkAvailableChecked",!0);_(this,"reconnectTimeoutId",0);this.maxConnectRetryCount=e!=null?e:fa,this.onOpen=this.onOpen.bind(this),this.onMessage=this.onMessage.bind(this),this.onError=this.onError.bind(this),this.onClose=this.onClose.bind(this)}get connectUrl(){return this.wsUrl}get connectStatus(){return this.socketStatus}start(e){this.wsUrl=e,this.initWebSocket()}send(e){return this.ws&&this.socketStatus===2?(this.ws.send(JSON.stringify(e)),!0):!1}close(){this.closedByInvoke=!0,this.uninitWebscoket()}reconnect(){this.reconnectTimeoutId&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=0),this.emit("onReconnectStart"),this.isReconnecting=!0,this.initWebSocket()}onOpen(e){ne.info(`[${hi.logName}]`,"onOpen"),this.socketStatus=2,this.connectRetryCount=0,this.networkAvailableChecked=!1,this.closedByInvoke=!1,this.gotErr=!1,this.isReconnecting=!1,this.emit("onOpen",e)}onMessage(e){this.emit("onMessage",e)}onError(e){this.isReconnecting&&this.emit("onReconnectFail",e),this.emit("onError",e),this.isReconnecting=!1,this.socketStatus!==2&&_t.isNetworkAvailable().then(t=>{t&&console.error(hi.logName,"onError, Network is available, token may be invalid")})}onClose(e){return V(this,null,function*(){if(this.closedByInvoke){this.socketStatus=0;return}if(ne.info(`[${hi.logName}]`,`onClose, code: ${e.code}, reason: ${e.reason}, status: ${status}, retryCount: ${this.connectRetryCount}`),(yield _t.isNetworkAvailable())&&!this.networkAvailableChecked){this.reconnect(),this.networkAvailableChecked=!0;return}else this.connectRetryCount||this.emit("onNetworkError"),this.reconnectTimeoutId||(this.connectRetryCount+=1,this.connectRetryCount>this.maxConnectRetryCount?this.emit("onConnectFail"):Date.now()-this.lastConnectStartTime>=pa?this.reconnect():this.reconnectTimeoutId=window.setTimeout(()=>{this.reconnect()},pa));this.socketStatus=0,this.emit("onClose",e)})}initWebSocket(){this.uninitWebscoket(),this.socketStatus=1,this.lastConnectStartTime=Date.now(),this.ws=new WebSocket(this.wsUrl),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)}uninitWebscoket(){this.ws&&(this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("message",this.onMessage),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("close",this.onClose),this.ws.readyState!==WebSocket.CLOSED&&this.ws.close(),this.ws=void 0,this.socketStatus=0)}};_(hi,"logName","Socket");let vs=hi;var Ve=(s=>(s.KEEPALIVE="keepalive",s.JOINCHANNEL="joinchannel",s.NOTIFYJOIN="notifyjoin",s.NOTIFYSTATUS="notifystatus",s.STATUSREPORT="statusreport",s.LEAVECHANNEL="leavechannel",s.NOTIFYLEAVE="notifyleave",s.NOTIFYPUBLISH="notifypublish",s.BYE="bye",s.RECONNECT="reconnect",s.PUBLISH="publish",s.REFRESHURL="refreshurl",s.UNSUBSCRIBE="unsubscribe",s.ROLEUPDATE="roleupdate",s))(Ve||{});class Yc{constructor(c,e){_(this,"authInfo");_(this,"userName");_(this,"seqIndex",0);this.authInfo=c,this.userName=e}get roleAuth(){if(this.authInfo.role){const{timestamp:c,nonce:e,token:t,role:i}=this.authInfo;return{timestamp:c,nonce:e,token:t,tokenrole:i}}}refreshAuthInfo(c){this.authInfo=c}getSeqIndex(){return this.seqIndex}createKeepAlivePackage(){return this.createBaseSendPackage("keepalive")}createJoinPackage(){let c=this.createBaseSendPackage("joinchannel");return c.header.displayName=this.userName,c.header.clientversion=_t.getVersionNumber().toString(),c.header.platform=rn,this.roleAuth&&(c.data.auth=this.roleAuth),c}crateLeavePackage(){return this.createBaseSendPackage("leavechannel")}createStatusPackage(c){let e=this.createBaseSendPackage("statusreport");return e.header.displayName=this.userName,e.data.status=c,e}createPublishPackage(){let c=this.createBaseSendPackage("publish");return c.data.users=[{}],this.roleAuth&&(c.data.auth=this.roleAuth),c}createRoleUpdatePackage(){let c=this.createBaseSendPackage("roleupdate");return c.header.displayName=this.userName,c}createReconnectPackage(c){let e=this.createBaseSendPackage("reconnect");return e.header.displayName=this.userName,e.header.clientversion=_t.getVersionNumber().toString(),e.header.platform=rn,e.data=be(be({},e.data),c!=null?c:{}),this.roleAuth&&(e.data.auth=this.roleAuth),e}createRefreshUrlPackage(){let c=this.createBaseSendPackage("refreshurl");return c.header.displayName=this.userName,c}createResponsePackage(c,e){return{version:1,code:200,tid:c,msgtype:e}}createBaseSendPackage(c){var t;return++this.seqIndex,{version:1,msgtype:c,tid:Ht(),header:{appid:this.authInfo.appId,channelid:this.authInfo.channelId,sessionid:(t=this.authInfo.sessionId)!=null?t:"",userid:this.authInfo.userId},data:{seq:this.seqIndex}}}}var oe=(s=>(s[s.ERR_JOIN_ALREADY_JOINED=16843521]="ERR_JOIN_ALREADY_JOINED",s[s.ERR_JOIN_BAD_APPID=33620481]="ERR_JOIN_BAD_APPID",s[s.ERR_JOIN_INVALID_APPID=33620482]="ERR_JOIN_INVALID_APPID",s[s.ERR_JOIN_BAD_CHANNEL=33620484]="ERR_JOIN_BAD_CHANNEL",s[s.ERR_JOIN_INVALID_CHANNEL=33620483]="ERR_JOIN_INVALID_CHANNEL",s[s.ERR_JOIN_BAD_TOKEN=33620485]="ERR_JOIN_BAD_TOKEN",s[s.ERR_JOIN_TIMEOUT=16908804]="ERR_JOIN_TIMEOUT",s[s.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD=16974081]="ERR_JOIN_ERR_JOIN_BAD_PARAMBAD",s[s.ERR_JOIN_CHANNEL_FAILED=16974338]="ERR_JOIN_CHANNEL_FAILED",s[s.ERR_LOG_ALREADY_INIT=16974085]="ERR_LOG_ALREADY_INIT",s[s.ERR_LOG_ROOT_PATH_ERROR=16974086]="ERR_LOG_ROOT_PATH_ERROR",s[s.ERR_MIC_OPEN_FAIL=17040388]="ERR_MIC_OPEN_FAIL",s[s.ERR_SPEAKER_OPEN_FAIL=17040389]="ERR_SPEAKER_OPEN_FAIL",s[s.ERR_MIC_INTERRUPT=17040390]="ERR_MIC_INTERRUPT",s[s.ERR_SPEAKER_INTERRUPT=17040391]="ERR_SPEAKER_INTERRUPT",s[s.ERR_MIC_AUTH_FAIL=17040392]="ERR_MIC_AUTH_FAIL",s[s.ERR_MIC_NOT_AVAILABLE=17040393]="ERR_MIC_NOT_AVAILABLE",s[s.ERR_SPEAKER_NO_AVAILABLE=17040400]="ERR_SPEAKER_NO_AVAILABLE",s[s.ERR_CAMERA_OPEN_FAIL=17039620]="ERR_CAMERA_OPEN_FAIL",s[s.ERR_CAMERA_INTERRUPT=17039622]="ERR_CAMERA_INTERRUPT",s[s.ERR_VIDEO_DISPLAY_OPEN_FAIL=17039873]="ERR_VIDEO_DISPLAY_OPEN_FAIL",s[s.ERR_VIDEO_DISPLAY_INTERRUPT=1064992]="ERR_VIDEO_DISPLAY_INTERRUPT",s[s.ERR_ICE_CONNECTION_CONNECT_FAIL=17105409]="ERR_ICE_CONNECTION_CONNECT_FAIL",s[s.ERR_ICE_CONNECTION_RECONNECT_FAI=17105410]="ERR_ICE_CONNECTION_RECONNECT_FAI",s[s.ERR_ICE_CONNECTION_MOBILITY_FAIL=17105411]="ERR_ICE_CONNECTION_MOBILITY_FAIL",s[s.ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT=16908812]="ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT",s[s.ERR_LATENCY_LIVE_COMMUNICATION_FAILED=17235971]="ERR_LATENCY_LIVE_COMMUNICATION_FAILED",s[s.ERR_LATENCY_LIVE_MEIDASETTING_FAILED=17235972]="ERR_LATENCY_LIVE_MEIDASETTING_FAILED",s[s.ERR_LATENCY_LIVE_NONE_BROADCASTER=17235973]="ERR_LATENCY_LIVE_NONE_BROADCASTER",s[s.ERR_LATENCY_LIVE_NEED_RESTART=17235974]="ERR_LATENCY_LIVE_NEED_RESTART",s[s.ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER=17235975]="ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER",s[s.ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE=17235976]="ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE",s[s.ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION=17235977]="ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION",s[s.ERR_SDK_PUBLISH_INVAILD=16974597]="ERR_SDK_PUBLISH_INVAILD",s[s.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL=16843782]="ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL",s[s.ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED=16843856]="ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED=16843857]="ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_DUAL_STRAM_FAILED=16843858]="ERR_SDK_PUBLISH_DUAL_STRAM_FAILED",s[s.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED=16843859]="ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED",s[s.ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR=16843860]="ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR",s[s.ERR_SDK_SUBSCRIBE_INVAILD=16974852]="ERR_SDK_SUBSCRIBE_INVAILD",s[s.ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL=16844112]="ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL",s[s.ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED=16844113]="ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED=16844114]="ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED=16844115]="ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED=16844116]="ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED",s[s.ERR_SDK_SUBSCRIBE_DATA_FAILED=16844117]="ERR_SDK_SUBSCRIBE_DATA_FAILED",s[s.ERR_SDK_INVALID_STATE=16974340]="ERR_SDK_INVALID_STATE",s[s.ERR_INVALID_ARGUMENTS=16974083]="ERR_INVALID_ARGUMENTS",s[s.ERR_SESSION_REMOVED=33620229]="ERR_SESSION_REMOVED",s[s.ERR_SDK_UPDATE_ROLE_CHANNEL=16908801]="ERR_SDK_UPDATE_ROLE_CHANNEL",s[s.ERR_INNER=-1]="ERR_INNER",s[s.ERR_SDK_MPU_TASK_PUBLISH_OK=0]="ERR_SDK_MPU_TASK_PUBLISH_OK",s[s.ERR_SDK_MPU_TASK_STREAM_NOT_FOUND=17825793]="ERR_SDK_MPU_TASK_STREAM_NOT_FOUND",s[s.ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST=17825794]="ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST",s[s.ERR_SDK_MPU_TASK_INVALID_PARAM=17825795]="ERR_SDK_MPU_TASK_INVALID_PARAM",s[s.ERR_SDK_MPU_TASK_INTERNAL_ERROR=17825796]="ERR_SDK_MPU_TASK_INTERNAL_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR=17825797]="ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR=17825798]="ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR",s[s.ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT=17825799]="ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT",s[s.ERR_SDK_MPU_TASK_NOT_AUTHORIZED=17825800]="ERR_SDK_MPU_TASK_NOT_AUTHORIZED",s[s.ERR_SDK_CHANNEL_RELAY_STATE_ERROR=18874369]="ERR_SDK_CHANNEL_RELAY_STATE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW=18874370]="ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW",s[s.ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED=18874371]="ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED",s[s.ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID=18874372]="ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID",s[s.ERR_SDK_CHANNEL_RELAY_ROLE_ERROR=18874373]="ERR_SDK_CHANNEL_RELAY_ROLE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_INVALID_PARAM=18874374]="ERR_SDK_CHANNEL_RELAY_INVALID_PARAM",s[s.ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR=18874375]="ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR",s))(oe||{});class ee extends Error{constructor(e,t,i){super(t);_(this,"_code");_(this,"_extra");this._code=e,this._extra=i}static fromRtsError(e){return new ee(e.errorCode||-1,e.message||e.errorCodeName||"rts error",e.extraInfo)}static fromError(e,t=-1,i=""){return new ee(t,e.message||e.reason||i||"error",e.extraInfo)}get code(){return this._code}set code(e){this._code=e}get reason(){return this.message}get extra(){return this._extra}}const Qc=3e4,ht=class ht extends xe{constructor(e,t,i,r,n,a){super();_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"wsClient");_(this,"packageCreater");_(this,"keepAliveTimer",0);_(this,"packageCache",new Map);_(this,"isFirstConnect",!0);_(this,"aliveChecker",0);_(this,"reconnectData");this.authInfo=e,this.userName=t,this.packageCreater=new Yc(e,t),this.channelProfile=i,this.clientRole=r,this.slsReporter=n,this.wsClient=new vs(a),this.wsClient.on("onOpen",this.onOpen.bind(this)),this.wsClient.on("onMessage",this.onMessage.bind(this)),this.wsClient.on("onError",this.onError.bind(this)),this.wsClient.on("onClose",this.onClose.bind(this)),this.wsClient.on("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.on("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.on("onNetworkError",this.onNetworkError.bind(this)),this.wsClient.on("onReconnectStart",this.onReconnectStart.bind(this)),this.wsClient.on("onReconnectFail",this.onReconnectFail.bind(this))}get retryCount(){return this.wsClient.connectRetryCount}start(e){this.wsClient.start(e)}startKeepAlive(){this.keepAliveTimer===0&&(this.keepAliveTimer=window.setInterval(()=>{let e=this.packageCreater.createKeepAlivePackage();this.sendPackage(e)},5e3)),this.checkAlive()}stopKeepAlive(){this.keepAliveTimer!==0&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=0),this.aliveChecker&&(window.clearTimeout(this.aliveChecker),this.aliveChecker=0)}sendPkgCache(){this.packageCache.forEach(e=>{this.wsClient.send(e)})}leave(){let e=this.packageCreater.crateLeavePackage();this.sendPackage(e)}reportStatus(e){let t=this.packageCreater.createStatusPackage(e);this.sendPackage(t)}publish(e){let t=this.packageCreater.createPublishPackage();t.data.users=[],e.subscribe.signal=this.wsClient.connectUrl;const{tracks:i,resume:r}=e;i.forEach(n=>{const{codec:a,ssrc:o}=n;n.userdata=JSON.stringify({codec:a}),n.ssrc=`${o}`,r&&(n.attr={reason:"reconnect"})}),t.data.users.push(e),this.sendPackage(t)}roleUpdate(e){let t=this.packageCreater.createRoleUpdatePackage();t.data.clientrole=e,this.sendPackage(t)}refreshUrl(e){const t=this.packageCreater.createRefreshUrlPackage();t.data=be(It(be({},t.data),{sessionid:t.header.sessionid}),e),this.sendPackage(t)}refreshAuthInfo(e){this.authInfo=e,this.packageCreater.refreshAuthInfo(e)}close(){ne.info(`[${ht.logName}] close`),this.stopKeepAlive(),this.wsClient.off("onOpen",this.onOpen.bind(this)),this.wsClient.off("onMessage",this.onMessage.bind(this)),this.wsClient.off("onError",this.onError.bind(this)),this.wsClient.off("onClose",this.onClose.bind(this)),this.wsClient.off("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.off("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.off("onReconnectStart"),this.wsClient.off("onReconnectFail"),this.wsClient.close()}sendPackage(e){[Ve.KEEPALIVE,Ve.RECONNECT,Ve.JOINCHANNEL].includes(e.msgtype)||this.packageCache.set(e.tid,e),this.wsClient.send(e),e.msgtype!==Ve.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!0,e.msgtype,e.tid,e)}updateReconnectData(e){this.reconnectData=e}onOpen(){if(ne.info(`[${ht.logName}] onOpen`),this.isFirstConnect){let e=this.packageCreater.createJoinPackage();e.data.configure={channelprofile:this.channelProfile},(this.channelProfile===Dt.AliRtcSdkInteractiveLive||this.channelProfile===Dt.AliRtcSdkInteractiveWithLowLatencyLive)&&(e.data.configure.clientrole=this.clientRole),this.sendPackage(e)}else{this.stopKeepAlive();const e=this.packageCreater.createReconnectPackage(this.reconnectData);this.sendPackage(e)}}onMessage(e){try{let t=JSON.parse(e.data);this.packageCache.delete(t.tid),this.onRecvMessage(t),t!=null&&t.msgtype&&(t==null?void 0:t.msgtype)!==Ve.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!1,t.msgtype,t.tid,t)}catch(t){ne.warn(`[${ht.logName}] onMessage err`,t,e)}}onError(e){ne.warn(`[${ht.logName}] onError`,e),this.isFirstConnect&&this.onConnectFail()}onConnectFail(){ne.warn(`[${ht.logName}] onConnectFail`);const e=new ee(oe.ERR_INNER,"Signaling connect failed.");this.isFirstConnect?this.emit("onJoinChannelResult",e):this.emit("onConnectFail",e)}onAuthInvalid(){ne.warn(`[${ht.logName}] onAuthInvalid`),this.isFirstConnect&&this.emit("onAuthInvalid")}onNetworkError(){ne.warn(`[${ht.logName}] onNetworkError`);const e=new ee(oe.ERR_INNER,"Network error, signaling connect failed.");this.emit("onNetworkError",e)}onClose(e){ne.info(`[${ht.logName}] onClose`,e),this.stopKeepAlive()}onKeepAliveRsp(){this.emit("onKeepAliveRsp"),this.checkAlive()}onReconnectStart(){this.emit("onReconnectStart")}onReconnectFail(){this.emit("onReconnectFail",new ee(oe.ERR_INNER,"signaling reconnect failed."))}checkAlive(){window.clearTimeout(this.aliveChecker),this.aliveChecker=window.setTimeout(()=>{ne.info(`[${ht.logName}] not alive, reconnect`),this.stopKeepAlive(),this.emit("onReconnectStart"),this.wsClient.reconnect()},Qc)}onRecvMessage(e){switch(e.msgtype!==Ve.KEEPALIVE&&ne.info(`[${ht.logName}] recv msg: ${e.msgtype}`),e.msgtype){case Ve.JOINCHANNEL:this.onJoinResult(e);break;case Ve.KEEPALIVE:this.onKeepAliveRsp();break;case Ve.PUBLISH:this.onPublishResult(e);break;case Ve.NOTIFYJOIN:this.onNotifyJoin(e);break;case Ve.NOTIFYSTATUS:this.onNotifyStatus(e);break;case Ve.LEAVECHANNEL:this.onLeaveResult(e);break;case Ve.NOTIFYLEAVE:this.onNotifyLeave(e);break;case Ve.NOTIFYPUBLISH:this.onNotifyPublish(e);break;case Ve.STATUSREPORT:this.onStatusReport(e);break;case Ve.BYE:this.onBye(e);break;case Ve.ROLEUPDATE:this.onRoleUpdateResult(e);break;case Ve.REFRESHURL:this.onRefreshUrlResult(e);break;case Ve.RECONNECT:this.onReconnectResult(e);break}}onJoinResult(e){this.isFirstConnect=!1,this.emit("onJoinChannelResult",e)}onLeaveResult(e){this.emit("onLeaveResult",e.code,e.tid)}onPublishResult(e){this.emit("onPublishResult",e.code,e.tid,e.description)}onRoleUpdateResult(e){this.emit("onRoleUpdateResult",e.code,e.tid,e.description)}onRefreshUrlResult(e){this.emit("onRefreshUrlResult",e)}onReconnectResult(e){if(e.code===200)this.sendPkgCache(),this.startKeepAlive(),this.emit("onReconnectSuccess",e.data.users);else{const t=new ee(oe.ERR_INNER,`reconnect failed, code: ${e.code};description: ${e.description}`);e.code===403&&(t.code=403),this.emit("onReconnectFail",t),this.close()}}onNotifyJoin(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e&&e.data&&e.data.users&&this.emit("onNotifyJoin",e.data.users)}onNotifyStatus(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.status&&e.data.status.length&&this.emit("onNotifyStatus",e.data.status)}onNotifyLeave(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyLeave",e.data.users)}onNotifyPublish(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyPublish",e.data.users)}onStatusReport(e){this.emit("onStatusReport",e.code,e.tid,e.description)}onBye(e){this.stopKeepAlive(),this.emit("onBye",e.reason,e.description)}};_(ht,"logName","RSMessageCenter");let bs=ht;const j=(s,c)=>(e,t,i)=>{const r=i.value;return i.value=function(...n){var g;const a=`[${((g=e.constructor)==null?void 0:g.logName)||""}]`,o=Date.now();let u=[];if(s)try{u=s(n)}catch(f){}ne.interface(a,t,...u);const h=r.apply(this,n);return Promise.resolve(h).then(f=>f).catch(f=>f).then(f=>{var m;let l="";const p=f instanceof Error,d=p&&((m=e.constructor)==null?void 0:m.logError);if(!(!c&&!p)){if(d)l=f;else if(p)l=f.message||"";else if(c)if(f===void 0)l="";else try{l=c(f)}catch(b){}else return;ne.interfaceResult(a,t,!(p&&d),`${Date.now()-o}ms`,l)}}),h},i},se=s=>s;var e0=Object.defineProperty,t0=Object.getOwnPropertyDescriptor,xs=(s,c,e,t)=>{for(var i=t>1?void 0:t?t0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&e0(c,e,i),i};const Wi=(rt=class extends xe{constructor(e,t,i,r=Rt.prod){super();_(this,"messageCenter");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"reconnectData");_(this,"roomServerUri","");this.channelProfile=e,this.clientRole=t,this.slsReporter=i,this.reconnectData={role:{channelprofile:e,clientrole:t}};const n=r===Rt.pre?Bi.pre:Bi.prod;this.roomServerUri=`wss://${n}/roomserver/v1/ws`}updateReconnectData(e){var t;this.reconnectData=e,(t=this.messageCenter)==null||t.updateReconnectData(this.reconnectData)}reset(){ne.info("[roomsig] reset"),this.messageCenter&&(this.messageCenter.close(),this.messageCenter=void 0),this.authInfo=void 0}join(e,t,i){return V(this,null,function*(){return new Promise((r,n)=>{const a={};this.authInfo=e,this.userName=t,this.messageCenter=new bs(e,t,this.channelProfile,this.clientRole,this.slsReporter,i),this.initMessageCenter(),this.messageCenter.once("onJoinChannelResult",u=>{var h,g,f;if(ne.info(`[${rt.logName}]`,"join result: ",u),a.taskretrynum=((h=this.messageCenter)==null?void 0:h.retryCount)||0,u.code==200){(g=this.messageCenter)==null||g.sendPkgCache(),(f=this.messageCenter)==null||f.startKeepAlive();let l=u.data;l.tid=u.tid,l.users=u.data.users,l.timestamp=u.timestamp,a.est&&(a.joinconnecttc=Date.now()-a.est),this.slsReporter.reportJoinConnection(a),r(l)}else this.reset(),n(this.handleSignalError(u.code,u.reason,oe.ERR_JOIN_CHANNEL_FAILED))}),this.messageCenter.once("onAuthInvalid",()=>{this.reset(),n(new ee(oe.ERR_JOIN_BAD_TOKEN,"join failed because authentication failed"))}),ne.info(`[${rt.logName}]`,"start ws connecting roomserver and auto join when connected");const o={appid:this.authInfo.appId,callid:this.authInfo.sessionId,channelid:this.authInfo.channelId,userid:this.authInfo.userId,nonce:this.authInfo.nonce||"",timestamp:this.authInfo.timestamp,token:this.authInfo.token,authtype:"app",tid:Ht()};e.role&&(o.tokenrole=e.role),a.est=Date.now(),this.messageCenter.start(this.roomServerUri+"?"+_t.queryingParam(o))})})}leave(){return ne.info("[roomsig] leave .."),new Promise((e,t)=>{this.messageCenter?(this.messageCenter.on("onLeaveResult",(i,r)=>{ne.info(`[${rt.logName}]`,"recv leave response "+i),i===200?(this.updateReconnectData(),this.reset(),e({tid:r})):t(this.handleSignalError(i,"leave error"))}),ne.info(`[${rt.logName}]`,"send leave request"),this.messageCenter.leave()):(ne.info(`[${rt.logName}]`,"no message center, ok to leave"),e({tid:""}))})}publish(e){return new Promise((t,i)=>{var r;this.messageCenter?(this.messageCenter.once("onPublishResult",(n,a,o)=>{ne.info(`[${rt.logName}]`,"recv pubish response "+n),n===200?(this.updateReconnectData(It(be({},this.reconnectData),{publish:{users:[e]}})),t({tid:a})):i(this.handleSignalError(n,`publish error, ${o}`))}),this.authInfo&&(e.sessionid=(r=this.authInfo.sessionId)!=null?r:""),e.callid||(e.callid=Ht()),ne.info(`[${rt.logName}]`,"assign callid "+e.callid+" and send publish request"),this.messageCenter.publish(e)):i(this.handleSignalError(-1,"publish error, no message center"))})}roleUpdate(e){return new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"role update error, no message center"));return}this.messageCenter.on("onRoleUpdateResult",(r,n,a)=>{var o,u;ne.info(`[${rt.logName}]`,"recv role update response "+r),r===200?((u=(o=this.reconnectData)==null?void 0:o.role)!=null&&u.clientrole&&(this.reconnectData.role.clientrole=e,this.updateReconnectData(this.reconnectData)),t({tid:n})):i(this.handleSignalError(r,`role update error, ${a}`))}),this.messageCenter.roleUpdate(e)})}setChannelProfile(e){this.channelProfile=e}refreshUrl(e){return ne.info(`[${rt.logName}]`,"refreshUrl .."),new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"refresh url error, no message center"));return}this.messageCenter.on("onRefreshUrlResult",r=>{const{code:n,description:a,data:o={}}=r||{};ne.info("recv refresh url response "+n),n===200?t(o):i(this.handleSignalError(n,`refresh url error, ${a}`))}),ne.info("send refresh url request"),this.messageCenter.refreshUrl(e)})}reportStatus(e){return ne.info(`[${rt.logName}]`,"reportStatus "+e),new Promise((t,i)=>{this.messageCenter?(this.messageCenter.once("onStatusReport",(r,n)=>{r===200?t():i(new ee(r,n))}),this.messageCenter.reportStatus(e)):i(new ee(-1,"No messageCenter"))})}handleSignalError(e,t,i=oe.ERR_INNER){const r=`signal error: code - ${e}; description - ${t}`;return new ee(i,r)}refreshAuthInfo(e){return V(this,null,function*(){var t;this.authInfo&&(this.authInfo=e,(t=this.messageCenter)==null||t.refreshAuthInfo(this.authInfo))})}initMessageCenter(){var e,t,i,r,n,a,o,u,h,g,f,l;(e=this.messageCenter)==null||e.on("onKeepAliveRsp",()=>{this.emit("onKeepAliveRsp")}),(t=this.messageCenter)==null||t.on("onNotifyJoin",p=>{this.emit("onNotifyJoin",p)}),(i=this.messageCenter)==null||i.on("onNotifyStatus",p=>{this.emit("onNotifyStatus",p)}),(r=this.messageCenter)==null||r.on("onNotifyLeave",p=>{this.emit("onNotifyLeave",p)}),(n=this.messageCenter)==null||n.on("onNotifyPublish",p=>{this.emit("onNotifyPublish",p)}),(a=this.messageCenter)==null||a.on("onBye",(p,d)=>{this.emit("onBye",p,d)}),(o=this.messageCenter)==null||o.on("onReconnectStart",()=>{this.emit("onReconnectStart")}),(u=this.messageCenter)==null||u.on("onReconnectSuccess",p=>{this.emit("onReconnectSuccess",p)}),(h=this.messageCenter)==null||h.on("onReconnectFail",p=>{this.emit("onReconnectFail",p)}),(g=this.messageCenter)==null||g.on("onConnectFail",p=>{this.emit("onConnectFail",p),this.reset()}),(f=this.messageCenter)==null||f.on("onNetworkError",p=>{this.emit("onNetworkError",p)}),(l=this.messageCenter)==null||l.on("onAuthInvalid",()=>{this.emit("onAuthInvalid")})}},_(rt,"logName","RoomServerSignaling"),rt);xs([j()],Wi.prototype,"join",1),xs([j()],Wi.prototype,"publish",1),xs([j()],Wi.prototype,"roleUpdate",1);let i0=Wi;const r0="https://pgw.rtn.aliyuncs.com",s0="https://gw.rtn.aliyuncs.com",ma=10*60*1e3,n0=12,Di=class Di extends xe{constructor(e,t){super();_(this,"env");_(this,"authInfo");_(this,"timer");_(this,"slsReporter");_(this,"expiration",0);_(this,"skipTime",0);_(this,"requestToken",()=>V(this,null,function*(){if(this.skipTime=0,!this.authInfo)return;const{appId:e,channelId:t,userId:i,nonce:r="",token:n,timestamp:a,sessionId:o,role:u}=this.authInfo;let h=s0;this.env===Rt.pre&&(h=r0);const g=`${h}/gslb/v1/stsupdate?appid=${e}&channelid=${t}&userid=${i}&nonce=${r}&token=${n}&timestamp=${a}&session=${o}${u?`&tokenrole=${u}`:""}&slstoken=true&osstoken=true&tokensid=false`;fetch(g).then(f=>f.json()).then(f=>{var l,p;if(f.code===0){const d=(l=f.data)==null?void 0:l.oss,m=(p=f.data)==null?void 0:p.sls;return this.expiration=d.expiration||m.expiration,this.emit("onTokenUpdate",d,m),ne.event(`[${Di.logName}]`,"getToken",d,m),f}this.slsReporter.reportSTSResult(200)}).catch(f=>{this.slsReporter.reportSTSResult(-1),ne.error(`[${Di.logName}]`,"getToken",f.message)})}));this.slsReporter=e,this.env=t}refreshAuthInfo(e){this.authInfo=e}startSTSUpdate(e){this.authInfo=e,this.requestToken(),this.timer&&clearInterval(this.timer),this.timer=window.setInterval(()=>{if(this.expiration&&Math.floor((Date.now()+ma*1.5)/1e3)<this.expiration&&this.skipTime<n0){this.skipTime+=1;return}this.requestToken()},ma)}clear(){this.timer&&clearInterval(this.timer)}};_(Di,"logName","StsManager");let Ss=Di;var a0=Object.defineProperty,o0=Object.getOwnPropertyDescriptor,c0=(s,c,e,t)=>{for(var i=t>1?void 0:t?o0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&a0(c,e,i),i};class _s extends xe{constructor(e,t,i,r=Rt.prod){super();_(this,"signaling");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"env",Rt.prod);_(this,"maxConnectRetryCount");_(this,"stsManager");_(this,"slsReporter");this.channelProfile=e,this.clientRole=t,this.env=r,this.slsReporter=i,this.stsManager=new Ss(i,r)}reset(){var e;ne.info("[signalingmanager] reset"),(e=this.signaling)==null||e.reset(),this.stsManager.clear(),this.signaling=void 0,this.authInfo=void 0}join(e,t=e.userId,i,r){return this.maxConnectRetryCount=i,this.userName=t,new Promise((n,a)=>{this.signaling?a(new ee(oe.ERR_JOIN_ALREADY_JOINED,"already joined")):(ne.info("[signalingmanager] create signaling"),this.signaling=new i0(this.channelProfile,this.clientRole,this.slsReporter,this.env),this.initSignaling(),r&&(r.rs=Date.now()),this.signaling.join(e,t,i).then(o=>{this.authInfo=e,r&&(r.re=Date.now()),n(o)}).catch(o=>{this.reset(),a(o)}),this.stsManager.startSTSUpdate(e))})}retryJoin(){const e=this.authInfo;this.reset(),e&&this.join(e,this.userName,this.maxConnectRetryCount)}leave(){return new Promise((e,t)=>{this.signaling?this.signaling.leave().then(i=>{this.reset(),e(i)}).catch(i=>{t(i)}):e({tid:""})})}publish(e){return new Promise((t,i)=>{var r;this.signaling&&this.authInfo?(e.userid=this.authInfo.userId,e.displayname=(r=this.userName)!=null?r:this.authInfo.userId,this.signaling.publish(e).then(n=>{t(n)}).catch(n=>{i(n)})):i(new ee(oe.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL,"no signaling"))})}reportStatus(e){return new Promise((t,i)=>{this.signaling?this.signaling.reportStatus(e).then(()=>{t()}).catch(r=>{i(r)}):i(new ee(-1,"no signaling"))})}setClientRole(e){return V(this,null,function*(){const t=this.clientRole;if(!this.signaling){this.clientRole=e;return}const i=Date.now();try{const r=yield this.signaling.roleUpdate(e);return this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,0),r}catch(r){this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,r.code||-1)}})}setChannelProfile(e){this.signaling?this.signaling.setChannelProfile(e):this.channelProfile=e}refreshUrl(e){return this.signaling?this.signaling.refreshUrl(e):Promise.reject(new ee(oe.ERR_SDK_INVALID_STATE,"should join first"))}refreshAuthInfo(e){return V(this,null,function*(){var t;try{this.authInfo&&(this.authInfo=be(be({},this.authInfo),e),(t=this.signaling)==null||t.refreshAuthInfo(this.authInfo),this.stsManager.refreshAuthInfo(this.authInfo))}catch(i){throw i}})}initSignaling(){var e,t,i,r,n,a,o,u,h,g,f,l,p;(e=this.signaling)==null||e.on("onKeepAliveRsp",this.onKeepAliveRsp.bind(this)),(t=this.signaling)==null||t.on("onNotifyJoin",this.onNotifyJoin.bind(this)),(i=this.signaling)==null||i.on("onNotifyStatus",this.onNotifyStatus.bind(this)),(r=this.signaling)==null||r.on("onNotifyLeave",this.onNotifyLeave.bind(this)),(n=this.signaling)==null||n.on("onNotifyPublish",this.onNotifyPublish.bind(this)),(a=this.signaling)==null||a.on("onBye",this.onBye.bind(this)),(o=this.signaling)==null||o.on("onReconnectStart",this.onReconnectStart.bind(this)),(u=this.signaling)==null||u.on("onReconnectSuccess",this.onReconnectSuccess.bind(this)),(h=this.signaling)==null||h.on("onReconnectFail",this.onReconnectFail.bind(this)),(g=this.signaling)==null||g.on("onConnectFail",this.onConnectFail.bind(this)),(f=this.signaling)==null||f.on("onNetworkError",this.onNetworkError.bind(this)),(l=this.signaling)==null||l.on("onAuthInvalid",this.onAuthInvalid.bind(this)),(p=this.signaling)==null||p.on("onError",this.onError.bind(this))}onKeepAliveRsp(){this.emit("onKeepAliveRsp")}onNotifyJoin(e){this.emit("onNotifyJoin",e)}onNotifyStatus(e){this.emit("onNotifyStatus",e)}onNotifyLeave(e){this.emit("onNotifyLeave",e)}onNotifyPublish(e){this.emit("onNotifyPublish",e)}onBye(e,t){this.emit("onBye",e,t)}onConnectFail(e){this.reset(),this.emit("onConnectFail",e)}onNetworkError(e){this.emit("onNetworkError",e)}onAuthInvalid(e){}onReconnectStart(){this.emit("onReconnectStart")}onReconnectSuccess(e){this.emit("onReconnectSuccess",e)}onReconnectFail(e){this.emit("onReconnectFail",e)}onError(e){this.emit("onError",e)}}_(_s,"logName","SignalingManager"),c0([j(se)],_s.prototype,"publish",1);const ei=class ei{static getInstance(){return ei.instance||(ei.instance=new AudioContext),ei.instance.resume(),ei.instance}};_(ei,"instance");let ci=ei;function u0(s,c,e,t,i){let r=t,n=0,a;const o=s.createAnalyser();o.fftSize=256;const u=new Uint8Array(o.frequencyBinCount);c.connect(o),o.connect(e);const h=()=>{a&&window.clearInterval(a)},g=()=>{a=window.setInterval(()=>{o.getByteFrequencyData(u);let f=Math.round(u.reduce((l,p)=>l+p)/u.length);f=Math.min(100,f),n=f,i&&i(f)},r)};return g(),{updateInterval:f=>{h(),r=f,g()},getLevel:()=>n,dispose:()=>{h(),c.disconnect(),o.disconnect()}}}class h0 extends xe{constructor(){super();_(this,"audioContext");_(this,"stream");_(this,"sourceNode");_(this,"analyser");this.audioContext=ci.getInstance(),this.stream=new MediaStream}getLevel(){return this.analyser?this.analyser.getLevel():0}start(e,t=1e3){this.sourceNode&&this.stop(),this.stream.addTrack(e),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const i=this.audioContext.createMediaStreamDestination();this.analyser=u0(this.audioContext,this.sourceNode,i,t,r=>{this.emit("audioLevel",r)})}stop(){this.analyser&&this.analyser.dispose(),this.analyser=void 0,this.sourceNode=void 0,this.stream.getAudioTracks().forEach(e=>{this.stream.removeTrack(e)})}dispose(){this.stop()}}class ga extends xe{constructor(e,t,i,r){super();_(this,"uid");_(this,"name");_(this,"rtsManager");_(this,"callId","");_(this,"audioLevelMonitor");_(this,"audioVolumeIndicationInterval",0);this.uid=e,this.name=t,this.rtsManager=i,this.audioVolumeIndicationInterval=r,this.audioLevelMonitor=new h0}get userId(){return this.uid}get displayname(){return this.name}createCallId(){this.callId||(this.callId=_t.createCallid())}setUserInfo(e,t){this.uid=e,this.name=t}refreshUserInfo(e){this.uid=e}getAudioLevel(){return this.audioLevelMonitor.getLevel()}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval=e}clear(){this.audioLevelMonitor.dispose()}}class va{static getCurrentStatus(c){let e=0;c.micOpen&&(e+=1),c.micInterrupted&&(e+=2),c.cameraOpen&&(e+=4),c.screenShare&&(e+=128),c.audioDisable&&(e+=8),c.videoDisable&&(e+=16),c.screenDisable&&(e+=256);let t=e.toString(16);for(;t.length<16;)t="0"+t;return t}static parseStatus(c){let e=parseInt(c,16);return{micOpen:!!(e&1),micInterrupted:!!(e&2),cameraOpen:!!(e&4),screenShare:!!(e&128),audioDisable:!!(e&8),videoDisable:!!(e&16),screenDisable:!!(e&256),backgroundMode:!!(e&32),accompanyPlaying:!!(e&64)}}}const ba="customVideoProfile",xa="customScreenProfile",Ai={width:1280,height:720,frameRate:30,maxBitrate:2e3},Ei={width:1920,height:1080,frameRate:30,maxBitrate:2600},d0={1e4:Oe.AliEngineLocalDeviceExceptionTypeUnknown,2e4:Oe.AliEngineLocalDeviceExceptionTypeUnknown,10001:Oe.AliEngineLocalDeviceExceptionTypeMicNotAvailable,10002:Oe.AliEngineLocalDeviceExceptionTypeMicAuthFail,10003:Oe.AliEngineLocalDeviceExceptionTypeMicOpenFail,10005:Oe.AliEngineLocalDeviceExceptionTypeCameraAuthFail,10004:Oe.AliEngineLocalDeviceExceptionTypeVideoDeviceException,10006:Oe.AliEngineLocalDeviceExceptionTypeCameraOpenFail,10010:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10011:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10012:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10013:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10014:Oe.AliEngineLocalDeviceExceptionTypeDisplayException,10019:Oe.AliEngineLocalDeviceExceptionTypeDisplayException},l0=s=>s.getAudioTracks()[0];function Sa(s){var c;if(((c=s==null?void 0:s.nodeName)==null?void 0:c.toLowerCase())==="video")return s.setAttribute("playsinline",""),s;if(typeof s=="string"){let e=document.getElementById(s);if(e){if(e.nodeName.toLocaleLowerCase()==="video")return e.setAttribute("playsinline",""),e;throw new ee(oe.ERR_INVALID_ARGUMENTS,"element should be HtmlVideoElement")}else throw new ee(oe.ERR_INVALID_ARGUMENTS,"element not founded")}else throw new ee(oe.ERR_INVALID_ARGUMENTS,"element id should be string")}function ys(s){var e;const c=[];if(Array.isArray(s))s.forEach(t=>{try{c.push(Sa(t))}catch(i){}});else if(typeof s=="string"||((e=s==null?void 0:s.nodeName)==null?void 0:e.toLowerCase())==="video")try{c.push(Sa(s))}catch(t){}return c}function Xt(s){return new Promise(c=>setTimeout(c,s))}function _a(s,c,e=1e3,t=i=>!0){return V(this,null,function*(){let i=0,r;for(;i<c;)try{return yield s(i)}catch(n){if(i++,i>=c||!t(n))throw n||r;yield new Promise(a=>setTimeout(a,e))}})}function f0(s,c){let e=0;const t=[];for(;e<s.byteLength;){const i=Math.min(c,s.byteLength-e),r=s.slice(e,e+i);t.push(r),e+=i}return t}const ya=(s,c,e=!1)=>{const t=()=>(s.muted=!0,Promise.race([Xt(500),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{let i;return e&&s.srcObject===c?i=Promise.resolve():(s.load(),s.srcObject=c,i=s.play(),s._playPromise=i),i}));return new Promise(i=>{if(me.AliRTS.BrowserUtil.isMicroMessenger){const r=window.top!==window.self,n=window.WeixinJSBridge||window.top.WeixinJSBridge;n?n.invoke("getNetworkType",{},()=>{i(t())}):(r?window.top.document:document).addEventListener("WeixinJSBridgeReady",()=>{n.invoke("getNetworkType",{},()=>{i(t())})}),setTimeout(()=>{i(t())},1e3)}else setTimeout(()=>{i(t())},0)})},Bt=s=>{Promise.race([Xt(100),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{s.srcObject=null,s._playPromise=void 0})};var As=(s=>(s[s.AliEngineDataMsgNone=0]="AliEngineDataMsgNone",s[s.AliEngineDataMsgMusicProgress=1]="AliEngineDataMsgMusicProgress",s[s.AliEngineDataMsgCustom=2]="AliEngineDataMsgCustom",s))(As||{});class Ki{constructor(c,e,t,i=0){_(this,"msgType");_(this,"msgId");_(this,"protocolVersion");_(this,"tlvVersion");this.msgType=c,this.msgId=e,this.protocolVersion=t,this.tlvVersion=i}build(){const c=new Uint8Array(4);return c.set(Uint8Array.from([this.protocolVersion,this.tlvVersion<<4|this.msgType&15]),0),c.set(Uint16Array.from([this.msgId]),2),c}static parse(c){const e=new DataView(c),t=e.getUint8(0),i=e.getUint8(1)>>4,r=e.getUint8(1)&15,n=e.getUint16(2);return new Ki(r,n,t,i)}}const Zt=5;class $i{constructor(c,e,t){_(this,"_byteArray");if(this._byteArray=new Uint8Array(0),c!==void 0&&e!==void 0&&t!==void 0){const r=new Ki(c,e,t).build();this._byteArray=new Uint8Array(r.byteLength+this._byteArray.byteLength),this._byteArray.set(r,0)}}write(c,e){const t=this._byteArray,i=new ArrayBuffer(Zt),r=new DataView(i);r.setUint8(0,c),r.setUint32(1,e.byteLength);const n=new Uint8Array(t.byteLength+Zt+e.byteLength);n.set(t,0),n.set(new Uint8Array(i),t.byteLength),n.set(new Uint8Array(e),t.byteLength+Zt),this._byteArray=n}static parse(c){const e={},t=new DataView(c);let i=0;for(;i<c.byteLength;){const r=t.getUint8(i),n=t.getUint32(i+1);if(i+Zt+n<=c.byteLength){const a=c.slice(i+Zt,i+Zt+n);e[r]=a,i+=Zt+n}else break}return e}get buffer(){return this._byteArray.buffer}}class wi{constructor(c=0,e=!0,t=1,i=!1,r=0,n=!1,a=!1,o=3){_(this,"_fin",!0);_(this,"_hasExtension",!1);_(this,"_version",0);_(this,"_frameType",1);_(this,"_isEncrypted",!1);_(this,"_isCompressed",!1);_(this,"_signalType",3);_(this,"_payloadLength",0);this._fin=e,this._hasExtension=i,this._version=r,this._frameType=t,this._isEncrypted=n,this._isCompressed=a,this._signalType=o,this._payloadLength=c}get fin(){return this._fin}get hasExtension(){return this._hasExtension}get version(){return this._version}get frameType(){return this._frameType}get isEncrypted(){return this._isEncrypted}get isCompressed(){return this._isCompressed}get signalType(){return this._signalType}get payloadLength(){return this._payloadLength}toBuffer(){const c=new ArrayBuffer(4),e=new DataView(c);return e.setUint8(0,(this._fin?1:0)<<7|(this._hasExtension?1:0)<<6|this._version<<4|this._frameType&15),e.setUint8(1,(this._isEncrypted?1:0)<<7|(this._isCompressed?1:0)<<6|this._signalType&15),e.setUint16(2,this._payloadLength),c}static parse(c){const e=new DataView(c),t=e.getUint8(0)>>7===1,i=(e.getUint8(0)&64)>>6===1,r=(e.getUint8(0)&48)>>4,n=e.getUint8(0)&15,a=e.getUint8(1)>>7===1,o=(e.getUint8(1)&64)>>6===1,u=e.getUint8(1)&15,h=e.getUint16(2);return new wi(h,t,n,i,r,a,o,u)}}class qi{constructor(c,e){_(this,"_body");_(this,"_header",new wi);this._header=c,this._body=e}get header(){return this._header}get isFin(){return this._header.fin}get body(){return this._body}toGRTNBuffer(){const c=this._header.toBuffer(),e=this._body,t=new ArrayBuffer(4);new DataView(t).setUint8(0,1*Math.pow(2,4));const i=new Uint8Array(t.byteLength+c.byteLength+e.byteLength);return i.set(new Uint8Array(t),0),i.set(new Uint8Array(c),t.byteLength),i.set(new Uint8Array(e),t.byteLength+c.byteLength),i.buffer}static parse(c){const e=c.slice(0,4),t=wi.parse(e);let i=new ArrayBuffer(0);return c.byteLength-4>=t.payloadLength&&(i=c.slice(4,4+t.payloadLength)),new qi(t,i)}}const Es=s=>{const c=s.byteLength,e=new DataView(s);let t=0;for(let i=0;i<c;i++)t=t*256+e.getUint8(i);return t};let Aa=0;class Yt{constructor(c,e=0,t=0,i=0){_(this,"data");_(this,"networkTime");_(this,"futureOrProgress");_(this,"type");this.data=c,this.type=e,this.networkTime=t,this.futureOrProgress=i}toBuffer(){const c=new $i(0,0,0);c.write(1,Uint8Array.from([0]).buffer),c.write(2,Uint16Array.from([0]).buffer),Aa++,c.write(3,Uint32Array.from([Aa]).buffer);const e=new $i;return e.write(1,Uint8Array.from([0]).buffer),e.write(2,Uint8Array.from([this.type]).buffer),e.write(3,Uint32Array.from([this.futureOrProgress]).buffer),e.write(4,Uint32Array.from([Number(this.networkTime>>32&4294967295),Number(this.networkTime&4294967295)]).buffer),e.write(5,this.data),c.write(30,e.buffer),c.buffer}static parse(c){if(!c||c.byteLength<4)return;Ki.parse(c.slice(0,4));const t=$i.parse(c.slice(4))[30];if(!t)return;const i=$i.parse(t),r=i[2],n=i[3],a=i[4],o=i[5];if(o.byteLength!==0)return new Yt(o,Es(r),Es(a),Es(n))}}var p0=Object.defineProperty,m0=Object.getOwnPropertyDescriptor,je=(s,c,e,t)=>{for(var i=t>1?void 0:t?m0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&p0(c,e,i),i};const Ea=30;class Ci extends xe{constructor(){super();_(this,"state");_(this,"time");this.state=ve.AliRtcStatePublishIdle,this.time=Date.now()}setState(e){const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}}const Ue=(Mt=class extends ga{constructor(e){const{rtsManager:t,localStreamManager:i,slsReporter:r,signalingManager:n,audioVolumeIndicationInterval:a,parameter:o}=e;super("","",t,a);_(this,"url","");_(this,"joinTime",0);_(this,"_isPublishing",!1);_(this,"publishPromise",Promise.resolve(""));_(this,"previewElements",[]);_(this,"screenPreviewElements",[]);_(this,"streamManager");_(this,"dc");_(this,"streamTracks");_(this,"publishId",Ht());_(this,"signalingManager");_(this,"traceId","");_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"candidateDataCache",[]);_(this,"pcMediaStatsMap",{});_(this,"slsReporter");_(this,"audioPubState");_(this,"videoPubState");_(this,"videoSmallPubState");_(this,"screenPubState");_(this,"dataPubState");_(this,"parameter",{});_(this,"onTrackEnd",e=>{this.emit(e)});this.streamManager=i,this.signalingManager=n,this.slsReporter=r,this.parameter=o,this.streamManager.on("trackended",u=>{this.onTrackEnd(u)}),this.streamManager.on("publishupdate",()=>{this.publishUpdate()}),this.audioPubState=new Ci,this.audioPubState.on("change",(u,h,g)=>{this.emit("audioPublishStateChanged",u,h,g)}),this.videoPubState=new Ci,this.videoPubState.on("change",(u,h,g)=>{this.emit("videoPublishStateChanged",u,h,g)}),this.videoSmallPubState=new Ci,this.videoSmallPubState.on("change",(u,h,g)=>{this.emit("dualStreamPublishStateChanged",u,h,g)}),this.screenPubState=new Ci,this.screenPubState.on("change",(u,h,g)=>{this.emit("screenPublishStateChanged",u,h,g)}),this.dataPubState=new Ci,this.dataPubState.on("change",(u,h,g)=>{this.emit("dataPublishStateChanged",u,h,g)}),this.startStreamMonitor()}get joined(){return!!this.uid}get isPublishing(){return this._isPublishing}get publishStreams(){return this.streamManager.publishStreams}get cameraTrack(){return this.streamManager.cameraStreamInfo.originVideoTrack}get screenTrack(){return this.streamManager.screenStreamInfo.originVideoTrack}get audioTrack(){return this.streamManager.cameraStreamInfo.originAudioTrack}get hasCamera(){return!!this.streamManager.cameraStreamInfo.originVideoTrack}get hasMicrophone(){return!!this.streamManager.cameraStreamInfo.originAudioTrack}get hasScreenShare(){return!!this.streamManager.screenStreamInfo.originVideoTrack}get hasCameraTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.VideoLarge))}get hasCameraDualTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.VideoSmall))}get hasScreenTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===Z.Screen))}get hasAudioTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="audio"&&t&&r===Z.Audio))}get cameraDirection(){var e,t;return(t=(e=this.streamManager.cameraStreamInfo)==null?void 0:e.cameraVideoConstraints)==null?void 0:t.facingMode}get audioCaptureDisabled(){return this.streamManager.audioCaptureDisabled}get cameraCaptureDisabled(){return this.streamManager.cameraCaptureDisabled}get publishLocalVideoStreamEnabled(){return this.streamManager.publishLocalVideoStreamEnabled}get publishLocalAudioStreamEnabled(){return this.streamManager.publishLocalAudioStreamEnabled}get publishLocalScreenStreamEnabled(){return this.streamManager.publishLocalScreenStreamEnabled}setPublishLocalAudioStreamEnabled(e){this.streamManager.publishLocalAudioStreamEnabled=e}setPublishLocalVideoStreamEnabled(e){this.streamManager.publishLocalVideoStreamEnabled=e}setPublishLocalScreenStreamEnabled(e){this.streamManager.publishLocalScreenStreamEnabled=e}initInfo(e,t){this.joinTime=Date.now(),this.rtsManager.localJoinTime=this.joinTime,this.setUserInfo(e.userId,e.userId),this.url=t,this.callId=e.sessionId||_t.createCallid(),this.updatePubId()}setVideoProfile(e,t){return V(this,null,function*(){yield this.streamManager.setVideoProfile(e,t)})}setVideoContentHint(e){this.streamManager.setVideoContentHint(e)}setScreenContentHint(e){this.streamManager.setScreenContentHint(e)}setAudioProfile(e){return V(this,null,function*(){yield this.streamManager.setAudioProfile(e)})}setScreenProfile(e,t){return V(this,null,function*(){yield this.streamManager.setScreenProfile(e,t)})}setCameraDirection(e){if(e===yi.CAMERA_FRONT)this.streamManager.setCameraVideoConstraints({facingMode:"user"});else if(e===yi.CAMERA_REAR)this.streamManager.setCameraVideoConstraints({facingMode:"environment"});else throw new ee(oe.ERR_CAMERA_OPEN_FAIL,`camera direction set to ${e} failed`)}setCameraDeviceId(e){this.streamManager.setCameraVideoConstraints({deviceId:e})}muteLocalCamera(e){this.streamManager.setCameraMuted(e),this.slsReporter.reportMute(this.callId,!e,"video")}muteLocalMic(e){this.streamManager.setAudioMuted(e),this.slsReporter.reportMute(this.callId,!e,"audio")}muteLocalScreen(e){this.streamManager.setScreenMuted(e),this.slsReporter.reportMute(this.callId,!e,"screen")}setMicrophoneDeviceId(e){this.streamManager.setMicAudioConstraints({deviceId:e})}updatePubId(){this.publishId=Ht()}clearPublishState(){this.streamTracks=void 0}clear(){return V(this,null,function*(){Ls(Mt.prototype,this,"clear").call(this),this._isPublishing&&(yield this.unPublish()),this.stopPreview(),this.resetPreviewElements(),this.resetSecondayPreviewElements(),this.clearStream(),this.streamManager.cameraCaptureDisabled=!1})}resetElement(e){this.previewElements.includes(e)&&(Bt(e),this.previewElements.splice(this.previewElements.indexOf(e),1)),this.screenPreviewElements.includes(e)&&(Bt(e),this.screenPreviewElements.splice(this.screenPreviewElements.indexOf(e),1))}setPreviewElement(e){const{videoElement:t,screen:i}=e;i?this.screenPreviewElements.includes(t)||this.screenPreviewElements.push(t):this.previewElements.includes(t)||this.previewElements.push(t)}setViewConfig(e,t){if(!e){t===Ae.AliRtcVideoTrackCamera?this.stopPreview({primary:!0,screen:!1}):this.stopPreview({primary:!1,screen:!0});return}if(![Ae.AliRtcVideoTrackCamera,Ae.AliRtcVideoTrackScreen].includes(t))throw new ee(oe.ERR_INVALID_ARGUMENTS,"set view config invalid track",{track:t});e.forEach(i=>{this.setPreviewElement({videoElement:i,screen:t===Ae.AliRtcVideoTrackScreen})})}startCameraCapture(e){return V(this,null,function*(){return this.streamManager.cameraCaptureDisabled=!1,yield this.createLocalStream(e)})}stopCameraCapture(){return V(this,null,function*(){this.streamManager.cameraCaptureDisabled=!0,yield this.stopLocalStream({video:!0})})}stopAudioCapture(){return V(this,null,function*(){this.streamManager.audioCaptureDisabled=!0,yield this.stopLocalStream({audio:!0})})}preview(e){return V(this,null,function*(){const{videoElement:t,screen:i}=e!=null?e:{};try{let r=i?this.streamManager.screenStreamInfo.previewStream:this.streamManager.cameraStreamInfo.previewStream;if(!t)throw new ee(oe.ERR_INVALID_ARGUMENTS,"no video element found",{videoElement:t});if(!r){ne.info(`[${Mt.logName}]`,"preview no stream founded");return}return ya(t,r.mediaStream),this.setPreviewElement(e),r.mediaStream}catch(r){const n=oe.ERR_INNER;throw ee.fromError(r,n,"preview failed")}})}previewAll(e){return V(this,null,function*(){const{primary:t=!0,screen:i=!0}=e!=null?e:{};if(t&&this.previewElements.length)for(let r=0;r<this.previewElements.length;r++){const n=this.previewElements[r];yield this.preview({videoElement:n})}if(i&&this.screenPreviewElements.length)for(let r=0;r<this.screenPreviewElements.length;r++){const n=this.screenPreviewElements[r];yield this.preview({videoElement:n,screen:!0})}})}stopPreview(e){const{videoElement:t,primary:i=!0,screen:r=!0}=e||{};if(!t)i&&(this.previewElements.forEach(n=>{Bt(n)}),this.previewElements=[]),r&&(this.screenPreviewElements.forEach(n=>{Bt(n)}),this.screenPreviewElements=[]);else{const n=this.previewElements.findIndex(a=>a===t);if(n>=0)this.previewElements.splice(n,1),Bt(t);else{const a=this.screenPreviewElements.findIndex(o=>o===t);a>=0&&(this.screenPreviewElements.splice(a,1),Bt(t))}}}resumePublish(){return V(this,null,function*(){this._isPublishing=!1,yield this.startPublish(!0)})}createLocalStream(e){return V(this,null,function*(){try{const t=yield this.streamManager.createLocalStream(e);return t!=null&&t.audioTrack&&this.audioVolumeIndicationInterval>0&&this.audioLevelMonitor.start(t.audioTrack,this.audioVolumeIndicationInterval),e.video?this.previewAll({primary:!0}):e.screen&&this.previewAll({screen:!0}),t}catch(t){const i=d0[t.errorCode];throw i&&(e.audio?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeMic,i,""):e.video?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeCamera,i,""):e.screen?this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeDisplay,i,""):this.emit("localDeviceException",Ct.AliEngineLocalDeviceTypeUnknown,i,"")),t}})}stopLocalStream(e){return V(this,null,function*(){e.audio&&this.audioLevelMonitor.stop(),yield this.streamManager.stopLocalStream(e)})}compareAndPublish(e,t,i){return V(this,null,function*(){var n,a;if(!e&&!t)return;if(e&&!t){const o={};return i===Z.Audio?o.audio=!0:i===Z.VideoLarge||i===Z.VideoSmall?(o.video=!0,o.vMsid=i):i===Z.Screen&&(o.screen=!0),yield this.publishDeleteTracks(o)}const r={};if(t!=null&&t.hasVideo&&(r.isScreen=i===Z.Screen,r.vMsid=i),t!=null&&t.hasAudio&&(r.aMsid=i),!e&&t)return yield this.publishAdd(t,r,!1);if(e&&t){const o=e.trackId,u=((n=t.videoTrack)==null?void 0:n.id)||((a=t.audioTrack)==null?void 0:a.id);if(o!==u)return yield this.publishReplace(t,r)}})}reportAudioProfile(){const e=this.streamManager.cameraStreamInfo.audioProfile||"standard",t=me.AliRTS.AudioProfileMap.get(e);this.slsReporter.reportPublishProfile(Z.Audio,{a_profile:e,bits:(t==null?void 0:t.maxBitrate)||0,samplerate:(t==null?void 0:t.sampleRate)||0,channel:(t==null?void 0:t.channelCount)||0})}reportVideoProfile(){const e=this.streamManager.cameraStreamInfo.videoProfile||"",t=me.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(Z.VideoLarge,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}reportScreenProfile(){const e=this.streamManager.screenStreamInfo.videoProfile||"",t=me.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(Z.Screen,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}startPublish(){return V(this,arguments,function*(e=!1,t=zt.MANUAL){var u;if(!this.joined)return;this.createCallId();const i=yield this.streamManager.publishStreams,{audio:r,video:n,videoSmall:a,screen:o}=i;try{const h=new Date().getTime();r&&this.audioPubState.setState(ve.AliRtcStatePublishing),n&&this.videoPubState.setState(ve.AliRtcStatePublishing),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),o&&this.screenPubState.setState(ve.AliRtcStatePublishing),this.publishPromise=this.rtsManager.publish(this.url,this.callId,e,t);const g=yield this.publishPromise;if(this._isPublishing=!0,this.streamTracks=this.rtsManager.publishingTracks,this.traceId=g,(u=this.parameter.data)!=null&&u.enablePubDataChannel){this.dataPubState.setState(ve.AliRtcStatePublishing);const l=yield this.rtsManager.publishAddDataChannel(this.url);l?(this.dc=l,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dataPubState.setState(ve.AliRtcStatePublished)):this.emit("publishDataError",new ee(oe.ERR_INNER,"publishDataError"))}r&&(this.trackTraceIdMap[Z.Audio]=g,this.reportAudioProfile()),a&&(this.trackTraceIdMap[Z.VideoSmall]=g),n&&(this.trackTraceIdMap[Z.VideoLarge]=g,this.reportVideoProfile()),o&&(this.trackTraceIdMap[Z.Screen]=g,this.reportScreenProfile());const f={type:Ut.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:e,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceId:g};yield this.syncPublishToRoomServer(f,i,h),r&&this.audioPubState.setState(ve.AliRtcStatePublished),n&&this.videoPubState.setState(ve.AliRtcStatePublished),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublished),o&&this.screenPubState.setState(ve.AliRtcStatePublished)}catch(h){throw r&&this.audioPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoPubState.setState(ve.AliRtcStateNoPublish),a&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),o&&this.screenPubState.setState(ve.AliRtcStateNoPublish),h}})}publishUpdate(){return V(this,null,function*(){var r,n,a,o;if(!this._isPublishing)return;yield this.publishPromise;const e=this.streamManager.publishStreams;let t;const i=new Date().getTime();try{const u=(r=this.streamTracks)==null?void 0:r.find(({ssrc:b,type:v,msid:x})=>v==="audio"&&b&&x===Z.Audio),h=yield this.compareAndPublish(u,e.audio,Z.Audio);h&&(t=h);const g=(n=this.streamTracks)==null?void 0:n.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.VideoLarge),f=yield this.compareAndPublish(g,e.video,Z.VideoLarge);f&&(t=f);const l=(a=this.streamTracks)==null?void 0:a.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.VideoSmall),p=yield this.compareAndPublish(l,e.videoSmall,Z.VideoSmall);p&&(t=p);const d=(o=this.streamTracks)==null?void 0:o.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===Z.Screen),m=yield this.compareAndPublish(d,e.screen,Z.Screen);if(m&&(t=m),!t)return;yield this.syncPublishToRoomServer(t,e,i)}catch(u){const{code:h}=u!=null?u:{},g=this.url;throw h===403&&g&&(yield this.refreshPushStreamUrl(),t=yield this.publishUpdate()),u}return t})}syncPublishToRoomServer(e,t,i){return V(this,null,function*(){var o;if(!e)throw new ee(oe.ERR_INNER,"sync publish to room server failed because no publishInfo");let r=e;if(this.dc){const a=e,{tracks:u}=a,h=Ti(a,["tracks"]);r=It(be({},h),{tracks:[...u,{type:"data",msid:Z.Data,ssrc:`${((o=this.callId)==null?void 0:o.length)>8?this.callId.substring(0,8):"web"}${this.dc.datachannel.id||"0"}`,codec:"text"}]})}const n=yield this.signalingManager.publish(r);e.signaltid=n.tid})}refreshPushStreamUrl(){return V(this,null,function*(){const e=new ee(oe.ERR_INNER,"refresh push stream url error"),t=this.url;if(!t)throw e;const i=yield this.signalingManager.refreshUrl({pushstreamurl:t});if(!(i!=null&&i.pushstreamurl))throw e;this.url=i==null?void 0:i.pushstreamurl})}publishAdd(e,t,i=!1,r=0){return V(this,null,function*(){this.createCallId();const n=(t==null?void 0:t.aMsid)===Z.Audio,a=(t==null?void 0:t.vMsid)===Z.VideoLarge,o=(t==null?void 0:t.vMsid)===Z.VideoSmall,u=(t==null?void 0:t.vMsid)===Z.Screen;n&&this.audioPubState.setState(ve.AliRtcStatePublishing),a&&this.videoPubState.setState(ve.AliRtcStatePublishing),o&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),u&&this.screenPubState.setState(ve.AliRtcStatePublishing);try{const h=yield this.rtsManager.publishAdd(this.url,e,this.callId,t,!1,!0);n&&(this.audioPubState.setState(ve.AliRtcStatePublished),this.reportAudioProfile(),this.trackTraceIdMap[Z.Audio]=h),a&&(this.videoPubState.setState(ve.AliRtcStatePublished),this.reportVideoProfile(),this.trackTraceIdMap[Z.VideoLarge]=h),o&&(this.videoSmallPubState.setState(ve.AliRtcStatePublished),this.trackTraceIdMap[Z.VideoSmall]=h),u&&(this.screenPubState.setState(ve.AliRtcStatePublished),this.reportScreenProfile(),this.trackTraceIdMap[Z.Screen]=h),this.streamTracks=this.rtsManager.publishingTracks;const g={type:Ut.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:i,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceid:h};return this.reportSelfDeviceStatus(),this.monitorTimerId||this.startStreamMonitor(),g}catch(h){let g=oe.ERR_SDK_PUBLISH_INVAILD;if(n&&(this.audioPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_AUDIO_STRAM_FAILED),a&&(this.videoPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_VIDEO_STRAM_FAILED),o&&(this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_DUAL_STRAM_FAILED),u&&(this.screenPubState.setState(ve.AliRtcStateNoPublish),g=oe.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED),h.errorCode===15006&&r<3)return this.publishAdd(e,t,i,r+1);throw ee.fromError(h,g,"publish add failed")}})}publishReplace(e,t){return V(this,null,function*(){try{yield this.rtsManager.publishReplace(this.url,e,t),this.streamTracks=this.rtsManager.publishingTracks;const i={type:Ut.Replace,userid:this.userId,sessionid:"",pubid:this.publishId,displayname:this.name,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks};return this.reportSelfDeviceStatus(),i}catch(i){throw ee.fromError(i,oe.ERR_INNER,`publish replace failed, vMsid: ${t==null?void 0:t.vMsid} aMsid: ${t==null?void 0:t.aMsid}`)}})}publishDeleteTracks(e){return V(this,null,function*(){const t={type:Ut.Delete,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{return yield this.rtsManager.publishDelete(this.url,e),this.streamTracks=this.rtsManager.publishingTracks,e.audio&&this.audioPubState.setState(ve.AliRtcStateNoPublish),e.video&&(e.vMsid===Z.VideoSmall?this.videoSmallPubState.setState(ve.AliRtcStateNoPublish):this.videoPubState.setState(ve.AliRtcStateNoPublish)),e.screen&&this.screenPubState.setState(ve.AliRtcStateNoPublish),t.tracks=this.streamTracks,this.reportSelfDeviceStatus(),t}catch(i){throw ee.fromError(i,oe.ERR_INNER,"publish delete tracks failed")}})}publishStop(){return V(this,null,function*(){if(!this._isPublishing)throw new ee(oe.ERR_INNER,"publish stop failed, previous localStream is required for publishing stopping");ne.info(`[${Mt.logName}]`,"publishStop",{url:this.url});const e=new Date().getTime();try{const t=this.hasAudioTrackInMS,i=this.hasCameraTrackInMS,r=this.hasCameraDualTrackInMS,n=this.hasScreenTrackInMS;yield this.rtsManager.publishStop(this.url),t&&this.audioPubState.setState(ve.AliRtcStateNoPublish),i&&this.videoPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),n&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this.traceId="",Object.keys(this.monitorDataCache).forEach(o=>{this.reportPublishMonitor(o)}),this.streamTracks=[];const a={type:Ut.Stop,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};return this.syncPublishToRoomServer(a,{},e),a}catch(t){throw ee.fromError(t,oe.ERR_INNER,"publish stop failed")}})}unPublish(){return V(this,null,function*(){const e=new Date().getTime();let t={type:Ut.UnPublish,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{if(this._isPublishing){const i=this.hasAudioTrackInMS,r=this.hasCameraTrackInMS,n=this.hasCameraDualTrackInMS,a=this.hasScreenTrackInMS;yield this.rtsManager.unpublish(),this.streamTracks=[],this.stopStreamMonitor(),i&&this.audioPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),a&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this._isPublishing=!1,this.traceId="",this.clearStream()}return this.dc&&(this.rtsManager.publishStopDataChannel(this.url,this.dc),this.dataPubState.setState(ve.AliRtcStateNoPublish),this.dc=void 0),this.slsReporter.reportUnpublish(this.callId||"",e,0,""),t}catch(i){throw ee.fromError(i,oe.ERR_INNER,"unpublish failed")}})}reportSelfDeviceStatus(){this.emit(it.Local,this.getDeviceStatus())}getDeviceStatus(){var t,i,r,n;let e={micOpen:!1,micInterrupted:!1,cameraOpen:!1,screenShare:!1,audioDisable:!0,videoDisable:!0,screenDisable:!0,backgroundMode:!1,accompanyPlaying:!1};return e.cameraOpen=this.hasCamera,e.micOpen=this.hasMicrophone,e.screenShare=this.hasScreenShare,e.audioDisable=!((t=this.streamManager.cameraStreamInfo.originAudioTrack)!=null&&t.enabled),e.videoDisable=!((i=this.streamManager.cameraStreamInfo.originVideoTrack)!=null&&i.enabled),e.screenDisable=!this.hasScreenShare||!((n=(r=this.streamManager.screenStreamInfo)==null?void 0:r.originVideoTrack)!=null&&n.enabled),va.getCurrentStatus(e)}resetPreviewElements(){this.previewElements=[]}resetSecondayPreviewElements(){this.screenPreviewElements=[]}getMediaStats(e){return this.pcMediaStatsMap[e]}reportPublishMonitor(e){if(!e)return;let t;try{e===Z.Audio?t=this.rtsManager.getStreamByMsid({url:this.url,aMsid:e}).audioTrack:t=this.rtsManager.getStreamByMsid({url:this.url,vMsid:e}).videoTrack}catch(i){}this.slsReporter.reportPublishMonitor(this.callId,this.trackTraceIdMap[e]||"",e,t,this.monitorDataCache[e]),this.monitorDataCache[e]=[]}reportNetwork(){this.slsReporter.reportNetworkMonitor(this.candidateDataCache),this.candidateDataCache=[]}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>V(this,null,function*(){var e,i;try{const r=yield this.rtsManager.getPCStats();let n;r==null||r.forEach(u=>{u.type==="media-source"||u.type==="media-playout"?u.id&&(this.pcMediaStatsMap[u.id]=u):u.type==="candidate-pair"&&u.state==="succeeded"&&(n=u)});let a;if(((e=this.candidateDataCache)==null?void 0:e.length)>0){const t=this.candidateDataCache[this.candidateDataCache.length-1]||{},{_last:h}=t;a=Ti(t,["_last"])}((i=this.candidateDataCache)==null?void 0:i.length)>=Ea&&this.reportNetwork(),n&&(n._last=a,this.candidateDataCache.push(n));let o=Object.keys(this.monitorDataCache).filter(u=>{var h;return((h=this.monitorDataCache[u])==null?void 0:h.length)>0});(this.streamTracks||[]).forEach(u=>{const h=u.msid;if(!h)return;o.includes(h)&&(o=o.filter(l=>l!==h));let g;h===Z.Audio?g=this.rtsManager.getPublishAudioStats(this.url):g=this.rtsManager.getPublishVideoStats(this.url,h),g.then(l=>{if(!l.timestamp)return;this.monitorDataCache[h]||(this.monitorDataCache[h]=[]);const p=this.getMediaStats(l.mediaSourceId);l._source=p;const d=this.monitorDataCache[h];let m;if((d==null?void 0:d.length)>0){const b=d[d.length-1]||{},{_last:x}=b;m=Ti(b,["_last"])}(d==null?void 0:d.length)>=Ea&&this.reportPublishMonitor(h),l._last=m,l._codec=u.codec||"",this.monitorDataCache[h].push(l)})}),o.forEach(u=>{this.reportPublishMonitor(u)})}catch(r){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportPublishMonitor(e)})}clearStream(){this.streamManager.stop(),this.audioPubState.setState(ve.AliRtcStatePublishIdle),this.videoPubState.setState(ve.AliRtcStatePublishIdle),this.videoSmallPubState.setState(ve.AliRtcStatePublishIdle),this.screenPubState.setState(ve.AliRtcStatePublishIdle)}getCurrentCameraDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originVideoTrack)==null?void 0:e.getSettings().deviceId}getCurrentMicDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originAudioTrack)==null?void 0:e.getSettings().deviceId}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.streamManager.cameraStreamInfo.originAudioTrack&&this.audioLevelMonitor.start(this.streamManager.cameraStreamInfo.originAudioTrack,e),this.audioVolumeIndicationInterval=e)}sendSEI(e,t,i){return V(this,null,function*(){if(!this.url)return;let r=0;return!t||t<1?r=1:r=t-1,this.rtsManager.sendSEI(this.url,e,r,i)})}sendDataChannelMessage(e){return V(this,null,function*(){var r;if(!((r=this.parameter.data)!=null&&r.enablePubDataChannel))throw new ee(oe.ERR_INNER,"data channel publish is not enabled");if(!this.dc)throw new ee(oe.ERR_INNER,"data channel is not ready");const t=e.toBuffer(),i=f0(t,1156);i.forEach((n,a)=>{const o=new qi(new wi(n.byteLength,a===i.length-1,a===0?1:0),n);this.dc.send(o.toGRTNBuffer())})})}getStats(){return V(this,null,function*(){const e=[];if(this.hasAudioTrackInMS){const n=yield this.rtsManager.getPublishAudioStats(this.url);n&&e.push({stats:n,track:oi.AliRtcAudioTrackMic})}const t=[];if(this.hasCameraTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.VideoLarge);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeHigh,stats:n})}if(this.hasCameraDualTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.VideoSmall);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeLow,stats:n})}if(this.hasScreenTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,Z.Screen);n&&t.push({track:Ae.AliRtcVideoTrackScreen,stats:n})}let i;const r=yield this.rtsManager.getPCStats();return r==null||r.forEach(n=>{n.type==="candidate-pair"&&n.state==="succeeded"&&(i=n)}),{audio:e,video:t,candidate:i}})}},_(Mt,"logName","LocalUser"),Mt);je([j()],Ue.prototype,"clearPublishState",1),je([j()],Ue.prototype,"clear",1),je([j()],Ue.prototype,"setViewConfig",1),je([j()],Ue.prototype,"startCameraCapture",1),je([j()],Ue.prototype,"stopCameraCapture",1),je([j()],Ue.prototype,"stopAudioCapture",1),je([j()],Ue.prototype,"stopPreview",1),je([j()],Ue.prototype,"resumePublish",1),je([j()],Ue.prototype,"createLocalStream",1),je([j()],Ue.prototype,"stopLocalStream",1),je([j(se)],Ue.prototype,"startPublish",1),je([j(([s])=>[s])],Ue.prototype,"syncPublishToRoomServer",1),je([j()],Ue.prototype,"refreshPushStreamUrl",1),je([j(([s,c,e])=>[JSON.stringify(e)])],Ue.prototype,"publishAdd",1),je([j(([s,c])=>[JSON.stringify(c)])],Ue.prototype,"publishReplace",1),je([j(se)],Ue.prototype,"publishDeleteTracks",1),je([j()],Ue.prototype,"publishStop",1),je([j()],Ue.prototype,"unPublish",1),je([j(([s,c,e])=>[s.length,c,e])],Ue.prototype,"sendSEI",1);let wa=Ue;var Lt=(s=>(s.OPUS="opus",s.H264="H264",s.UNKNOWN="",s))(Lt||{}),Ee=(s=>(s[s.NotSubscribe=0]="NotSubscribe",s[s.Subscribing=1]="Subscribing",s[s.Subscribed=2]="Subscribed",s))(Ee||{}),Qt=(s=>(s.VideoTrackEnded="videoTrackEnded",s.AudioTrackEnded="audioTrackEnded",s.ScreenTrackEnded="screenTrackEnded",s))(Qt||{});const g0=s=>{const c=new MediaStream;return c.addTrack(s),c},Ca=s=>V(this,null,function*(){return yield me.AliRTS.createStream({custom:!0,mediaStream:s})}),Ii=s=>V(this,null,function*(){const c=g0(s);return yield Ca(c)}),v0=s=>{const{audio:c,video:e,screen:t}=s;if(e&&t)throw new ee(oe.ERR_INNER,"create stream error, cannot create video && screen together");return!(!e&&!c&&!t)},b0=s=>s===Z.Audio||s===dr.Audio,x0=s=>s===Z.VideoLarge||s===dr.VideoLarge,S0=s=>s===Z.VideoSmall,_0=s=>s===Z.Screen,y0=s=>s===Z.Data;var A0=Object.defineProperty,E0=Object.getOwnPropertyDescriptor,w0=(s,c,e,t)=>{for(var i=t>1?void 0:t?E0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&A0(c,e,i),i};class Gi extends xe{constructor(){super();_(this,"audioInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"videoLargeInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"videoSmallInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"screenInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"dataInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Lt.UNKNOWN});_(this,"audioVolume",1);_(this,"audioMuted",!1);_(this,"userStatus")}getAudioInfo(){return this.audioInfo}getVideoSmallInfo(){return this.videoSmallInfo}getVideoLargeInfo(){return this.videoLargeInfo}getScreenInfo(){return this.screenInfo}getDataInfo(){return this.dataInfo}get subscribingInfos(){return[this.audioInfo,this.videoLargeInfo,this.videoSmallInfo,this.screenInfo].filter(e=>e.msid&&e.subscribeState===Ee.Subscribed)}get hasTrack(){return this.hasAudio||this.hasVideo||this.hasScreen||this.hasData}get hasAudio(){return this.audioInfo.ssrc!==""}get hasVideo(){return this.videoLargeInfo.ssrc!==""||this.videoSmallInfo.ssrc!==""}get hasVideoLarge(){return this.videoLargeInfo.ssrc!==""}get hasVideoSmall(){return this.videoSmallInfo.ssrc!==""}get hasScreen(){return this.screenInfo.ssrc!==""}get hasData(){return this.dataInfo.ssrc!==""}get isAudioSubscribed(){return this.audioInfo.subscribeState===Ee.Subscribed}get isAudioSubscribing(){return this.audioInfo.subscribeState===Ee.Subscribing}get isVideoSubscribed(){return this.isVideoLargeSubscribed||this.isVideoSmallSubscribed}get isVideoSubscribing(){return this.isVideoLargeSubscribing||this.isVideoSmallSubscribing}get isVideoLargeSubscribed(){return this.videoLargeInfo.subscribeState===Ee.Subscribed}get isVideoLargeSubscribing(){return this.videoLargeInfo.subscribeState===Ee.Subscribing}get isVideoSmallSubscribed(){return this.videoSmallInfo.subscribeState===Ee.Subscribed}get isVideoSmallSubscribing(){return this.videoSmallInfo.subscribeState===Ee.Subscribing}get isScreenSubscribed(){return this.screenInfo.subscribeState===Ee.Subscribed}get isScreenSubscribing(){return this.screenInfo.subscribeState===Ee.Subscribing}get isDataSubscribed(){return this.dataInfo.subscribeState===Ee.Subscribed}get isDataSubscribing(){return this.dataInfo.subscribeState===Ee.Subscribing}get audioCodec(){return this.audioInfo.codec}get videoCodec(){return this.hasVideoLarge?this.videoLargeInfo.codec:this.hasVideoSmall?this.videoSmallInfo.codec:this.hasScreen?this.screenInfo.codec:Lt.UNKNOWN}get audioTrackInfo(){return this.hasAudio?oi.AliRtcAudioTrackMic:oi.AliRtcAudioTrackNo}get videoTrackInfo(){return this.hasVideo&&this.hasScreen?Ae.AliRtcVideoTrackBoth:this.hasVideo?Ae.AliRtcVideoTrackCamera:this.hasScreen?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackNo}updateTracks(e){let t="",i="",r="",n="",a="";return e?(e.forEach(o=>{var g;let u=Lt.UNKNOWN;const h=((g=o==null?void 0:o.attr)==null?void 0:g.reason)==="reconnect";if(o.userdata){const{codec:f}=JSON.parse(o.userdata);f&&(u=f)}b0(o.msid)?(t=o.ssrc,this.audioInfo.msid=o.msid,this.audioInfo.codec=u,(h||this.audioInfo.ssrc!==t)&&(this.audioInfo.subscribeState=Ee.NotSubscribe)):S0(o.msid)?(r=o.ssrc,this.videoSmallInfo.msid=o.msid,this.videoSmallInfo.codec=u,(h||this.videoSmallInfo.ssrc!==r)&&(this.videoSmallInfo.subscribeState=Ee.NotSubscribe)):x0(o.msid)?(i=o.ssrc,this.videoLargeInfo.msid=o.msid,this.videoLargeInfo.codec=u,(h||this.videoLargeInfo.ssrc!==i)&&(this.videoLargeInfo.subscribeState=Ee.NotSubscribe)):_0(o.msid)?(n=o.ssrc,this.screenInfo.msid=o.msid,this.screenInfo.codec=u,(h||this.screenInfo.ssrc!==n)&&(this.screenInfo.subscribeState=Ee.NotSubscribe)):y0(o.msid)&&(a=o.ssrc,this.dataInfo.msid=o.msid,this.dataInfo.codec=u,(h||this.dataInfo.ssrc!==a)&&(this.dataInfo.subscribeState=Ee.NotSubscribe))}),this.updateRemoteTrackSsrc(t,i,r,n,a)):this.updateRemoteTrackSsrc(t,i,r,n,a),{}}updateRemoteTrackSsrc(e,t,i,r,n){this.audioInfo.ssrc=e,this.videoSmallInfo.ssrc=i,this.videoLargeInfo.ssrc=t,this.screenInfo.ssrc=r,this.dataInfo.ssrc=n}markRemoteTrackSubscribing(e){return e.video&&(e.vMsid===this.videoSmallInfo.msid&&(this.videoSmallInfo.subscribeState=Ee.Subscribing),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=Ee.Subscribing)),e.screen&&(this.screenInfo.subscribeState=Ee.Subscribing),e.audio&&(this.audioInfo.subscribeState=Ee.Subscribing),e.data&&(this.dataInfo.subscribeState=Ee.Subscribing),{videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo}}updateRemoteTrackSubState(e){return e.video!==void 0&&((e.vMsid===this.videoSmallInfo.msid||!e.vMsid)&&(this.videoSmallInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe)),e.screen!==void 0&&(this.screenInfo.subscribeState=e.screen?Ee.Subscribed:Ee.NotSubscribe),e.audio!==void 0&&(this.audioInfo.subscribeState=e.audio?Ee.Subscribed:Ee.NotSubscribe),e.data!==void 0&&(this.dataInfo.subscribeState=e.data?Ee.Subscribed:Ee.NotSubscribe),{audioInfo:this.audioInfo,videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo,screenInfo:this.screenInfo,dataInfo:this.dataInfo}}updateRemoteUserDeviceStatus(e){let t=va.parseStatus(e);const{audioDisable:i,videoDisable:r,screenDisable:n}=t;return this.userStatus?(this.userStatus.audioDisable!=i&&(this.userStatus.audioDisable=i,this.emit(it.Remote,i?Re.MuteAudio:Re.UnmuteAudio)),this.userStatus.videoDisable!=r&&(this.userStatus.videoDisable=r,this.emit(it.Remote,r?Re.MuteVideo:Re.UnmuteVideo)),this.userStatus.screenDisable!=n&&(this.userStatus.screenDisable=n,this.emit(it.Remote,n?Re.MuteScreen:Re.UnmuteScreen))):(this.userStatus=t,this.emit(it.Remote,i?Re.MuteAudio:Re.UnmuteAudio),this.emit(it.Remote,r?Re.MuteVideo:Re.UnmuteVideo),this.emit(it.Remote,n?Re.MuteScreen:Re.UnmuteScreen)),!1}}_(Gi,"logName","RemoteStreamInfo"),w0([j()],Gi.prototype,"updateRemoteTrackSubState",1);class Ia{constructor(c){_(this,"remoteUser");this.remoteUser=c}get userId(){return this.remoteUser.userId}get displayName(){return this.remoteUser.displayname}get isMuteAudioPlaying(){return this.remoteUser.getAudioMuted()}get hasAudio(){return this.remoteUser.hasAudioTrack}get hasCamera(){return this.remoteUser.hasVideoTrack}get hasCameraLarge(){return this.remoteUser.hasVideoLargeTrack}get hasCameraSmall(){return this.remoteUser.hasVideoSmallTrack}get hasScreenShare(){return this.remoteUser.hasScreenTrack}get isAudioSubscribing(){return this.remoteUser.isAudioSubscribing}get isVideoSubscribing(){return this.remoteUser.isVideoSubscribing}get isVideoLargeSubscribing(){return this.remoteUser.isVideoLargeSubscribing}get isVideoSmallSubscribing(){return this.remoteUser.isVideoSmallSubscribing}get isScreenSubscribing(){return this.remoteUser.isScreenSubscribing}}var C0=Object.defineProperty,I0=Object.getOwnPropertyDescriptor,Qe=(s,c,e,t)=>{for(var i=t>1?void 0:t?I0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&C0(c,e,i),i};class ui extends xe{constructor(){super();_(this,"state");_(this,"time");_(this,"_enabled");this.state=Pe.AliRtcStateSubscribeIdle,this.time=Date.now(),this._enabled=!0}setState(e){if(this.state===e)return;const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}get currentState(){return this.state}getEnabled(){return this._enabled}setEnabled(e){this._enabled=e}}const R0=30,Ge=(Ft=class extends ga{constructor(e){var l;const{userId:t,displayName:i,rtsManager:r,usersViewMap:n,slsReporter:a,signalingManager:o,localUser:u,audioVolumeIndicationInterval:h,playoutVolume:g,parameter:f}=e;super(t,i,r,h);_(this,"remoteCallid","");_(this,"remoteUserInfo");_(this,"localUser");_(this,"lastPubId","");_(this,"stream");_(this,"screenStream");_(this,"viewMap");_(this,"audioTrack");_(this,"audioElement");_(this,"subscribed",!1);_(this,"mediaStream");_(this,"secondaryMediaStream");_(this,"prevSubConfig");_(this,"signalingManager");_(this,"slsReporter");_(this,"wantSubAudio",!1);_(this,"wantSubVideo",!1);_(this,"wantSubScreen",!1);_(this,"defaultVideoStreamType",Ye.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"playoutGainNode");_(this,"audioSubState");_(this,"videoSubState");_(this,"videoLargeSubState",new ui);_(this,"videoSmallSubState",new ui);_(this,"screenSubState");_(this,"dataSubState");_(this,"dc");_(this,"dcMsgWaitingPieces",[]);_(this,"streamInfo");_(this,"streamUrl","");_(this,"parameter",{});_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"handleAudioContextSuspended",e=>{e.target.state==="suspended"&&this.emit("remoteAudioPlayError",this.uid,"AudioContext suspended")});_(this,"onDataChannelMessage",e=>{ne.event(`[${Ft.logName}]`,`receive data channel message: ${e.byteLength}`);const t=qi.parse(e.slice(4));let i;if(t.body)if(t.isFin){if(this.dcMsgWaitingPieces.length>0){const r=this.dcMsgWaitingPieces.reduce((n,a)=>n+a.byteLength,t.body.byteLength);try{const n=new ArrayBuffer(r);let a=0;for(let u=0;u<this.dcMsgWaitingPieces.length;u++){const h=this.dcMsgWaitingPieces[u];new Uint8Array(n,a,h.byteLength).set(new Uint8Array(h)),a+=h.byteLength}new Uint8Array(n,a,t.body.byteLength).set(new Uint8Array(t.body)),i=Yt.parse(n)}catch(n){}this.dcMsgWaitingPieces=[],i||(i=Yt.parse(t.body))}else i=Yt.parse(t.body);i||ne.event(`[${Ft.logName}]`,"parse data channel message fail")}else{t.header.frameType===1&&(this.dcMsgWaitingPieces=[]),this.dcMsgWaitingPieces.push(t.body);return}i&&this.emit("remoteDataChannelMessage",this.uid,i)});_(this,"handleAudioPaused",()=>{this.emit("remoteAudioPlayError","paused")});this.streamInfo=new Gi,this.remoteUserInfo=new Ia(this),this.parameter=f,this.streamInfo.on(it.Remote,p=>{this.emit(it.Remote,p,this.userId)}),this.signalingManager=o,this.viewMap=(l=n[t])!=null?l:{cameraViews:[],screenViews:[]},n[t]=this.viewMap,this.slsReporter=a,this.localUser=u,this.audioSubState=new ui,this.audioSubState.on("change",(p,d,m)=>{this.emit("audioSubscribeStateChanged",this.uid,p,d,m)}),this.videoSubState=new ui,this.videoSubState.on("change",(p,d,m)=>{this.emit("videoSubscribeStateChanged",this.uid,p,d,m)}),this.screenSubState=new ui,this.screenSubState.on("change",(p,d,m)=>{this.emit("screenSubscribeStateChanged",this.uid,p,d,m)}),this.dataSubState=new ui,this.dataSubState.on("change",(p,d,m)=>{this.emit("dataSubscribeStateChanged",this.uid,p,d,m)}),this.playoutVolume=g}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e}setRemoteDefaultVideoStreamType(e){e!==this.defaultVideoStreamType&&(this.defaultVideoStreamType=e,this.updateSubscribe(Le.User))}setAudioMuted(e){this.audioMuted=e,this.toggleAudio(!e)}setPlayoutVolume(e){if(this.playoutVolume=e,this.audioElement)if(this.parameter.enableAudioContextPlayoutVolume)if(this.playoutGainNode)this.playoutGainNode.gain.value=e;else{const t=this.audioElement.srcObject;if(t){const i=ci.getInstance();i.addEventListener("statechange",this.handleAudioContextSuspended);const r=i.createMediaStreamSource(t);this.audioElement.muted=!0,this.playoutGainNode=i.createGain(),r.connect(this.playoutGainNode),this.playoutGainNode.gain.value=e,this.playoutGainNode.connect(i.destination)}}else this.audioElement.volume=e}getAudioMuted(){return this.audioMuted}get hasAudioTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasAudio)}get hasVideoTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideo)}get hasVideoLargeTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoLarge)}get hasVideoSmallTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoSmall)}get hasScreenTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasScreen)}get isAudioSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isAudioSubscribed)||!!((t=this.streamInfo)!=null&&t.isAudioSubscribing)}get isVideoSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSubscribing)}get isVideoLargeSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoLargeSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoLargeSubscribing)}get isVideoSmallSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSmallSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSmallSubscribing)}get isScreenSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isScreenSubscribed)||!!((t=this.streamInfo)!=null&&t.isScreenSubscribing)}get isDataSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isDataSubscribed)||!!((t=this.streamInfo)!=null&&t.isDataSubscribing)}get audioEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.audioTrack)!=null&&t.enabled)}get videoEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get screenEnabled(){var e,t;return!!((t=(e=this.screenStream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get getAudioTrack(){return this.audioTrack}get getCameraStream(){return this.stream}get getScreenStream(){return this.screenStream}setViewConfig(e,t){if(t!==Ae.AliRtcVideoTrackScreen&&t!==Ae.AliRtcVideoTrackCamera)throw new ee(oe.ERR_INVALID_ARGUMENTS,"track is not AliRtcVideoTrackScreen or AliRtcVideoTrackCamera");e?ys(e).forEach(r=>{r.setAttribute("playsinline",""),me.AliRTS.BrowserUtil.isMicroMessenger&&(r.setAttribute("x5-video-player-type","h5-page"),r.setAttribute("x5-playsinline",""),me.AliRTS.SystenUtil.isAndroid||me.AliRTS.SystenUtil.isIos&&r.setAttribute("x-webkit-airplay","allow")),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews.push(r):this.viewMap.cameraViews.push(r),this.play(r,t===Ae.AliRtcVideoTrackScreen)}):(this.stopPlayAll(t===Ae.AliRtcVideoTrackScreen),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews=[]:this.viewMap.cameraViews=[])}clear(e=!0){return V(this,null,function*(){var t;this.subscribeStopDataChannel(),e&&this.doStopSubscribe(this.streamUrl),Ls(Ft.prototype,this,"clear").call(this),this.clearStream(),this.clearScreenStream(),this.playoutGainNode&&(this.playoutGainNode.disconnect(),this.playoutGainNode=void 0,ci.getInstance().removeEventListener("statechange",this.handleAudioContextSuspended)),(t=this.streamInfo)==null||t.removeAllListeners(it.Remote)})}updateRemoteUserDeviceStatus(e){var t;(t=this.streamInfo)==null||t.updateRemoteUserDeviceStatus(e)}updateRemoteTracks(e,t,i,r){return V(this,null,function*(){var a;return this.remoteCallid=e,(!this.streamUrl||!this.streamInfo.hasTrack)&&(this.streamUrl=t!=null?t:""),this.callId=e!=null?e:"",this.streamInfo||(this.streamInfo=new Gi),(a=this.streamInfo)==null?void 0:a.updateTracks(r)})}subscribe(r,n){return V(this,arguments,function*(e,t,i=Date.now()){var l,p;let a=e;if(!a){const{hasAudio:d,hasVideo:m,hasScreen:b,hasData:v}=(l=this.streamInfo)!=null?l:{};a={audio:this.wantSubAudio&&d,video:this.wantSubVideo&&m,screen:this.wantSubScreen&&b,data:((p=this.parameter.data)==null?void 0:p.enableSubDataChannel)&&v}}this.streamInfo.markRemoteTrackSubscribing(a);const{screen:o,audio:u,video:h,vMsid:g}=a,f=[];(h||u)&&f.push({audio:u,video:h,vMsid:g}),o&&f.push({screen:o}),f.length!==0&&(yield Promise.all(f.map(d=>this.subscribeProxy(d,t||Le.User,i))),e!=null&&e.data&&this.subscribeDataChannel())})}subscribeProxy(e,t,i){return V(this,null,function*(){var a,o,u,h;let r=new Date().getTime(),n="";try{e.audio&&this.audioSubState.setState(Pe.AliRtcStateSubscribing),e.video&&(this.videoSubState.currentState===Pe.AliRtcStateSubscribeIdle||this.videoSubState.currentState===Pe.AliRtcStateNoSubscribe)&&this.videoSubState.setState(Pe.AliRtcStateSubscribing),e.screen&&this.screenSubState.setState(Pe.AliRtcStateSubscribing);const g=yield this.rtsManager.subscribe({remoteUser:this,options:e},t,((a=this.localUser)==null?void 0:a.callId)||"",this.callId,i);this.streamInfo.updateRemoteTrackSubState(e),n=g.traceId||"";const{stream:f}=g;if(e.audio){this.trackTraceIdMap[Z.Audio]=n;const p=f.audioTrack;p&&(this.audioTrack=p,(o=f.mediaStream)==null||o.removeTrack(p),this.playAudio(),this.audioVolumeIndicationInterval&&this.audioLevelMonitor.start(p,this.audioVolumeIndicationInterval)),this.audioSubState.setState(Pe.AliRtcStateSubscribed),this.audioSubState.getEnabled()||this.toggleAudio(!1)}e.video&&(e.vMsid===Z.VideoSmall?(this.trackTraceIdMap[Z.VideoSmall]=n,this.videoSmallSubState.setState(Pe.AliRtcStateSubscribed)):(this.trackTraceIdMap[Z.VideoLarge]=n,this.videoLargeSubState.setState(Pe.AliRtcStateSubscribed)),this.videoSubState.setState(Pe.AliRtcStateSubscribed),this.videoSubState.getEnabled()||this.toggleVideo(!1),this.updateStream(f,this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing)),e.screen&&(this.trackTraceIdMap[Z.Screen]=n,this.screenSubState.setState(Pe.AliRtcStateSubscribed),this.videoSubState.getEnabled()||this.toggleScreen(!1),this.updateScreenStream(f));const l=new Date().getTime()-r;this.slsReporter.reportSubscribe(((u=this.localUser)==null?void 0:u.callId)||"",this.callId,!!e.video&&e.vMsid===Z.VideoLarge,!!e.video&&e.vMsid===Z.VideoSmall,!!e.screen,!!e.audio,0,"",l,{pctid:this.rtsManager.pcTraceId,subtid:n,ajsub:t===Le.Join?1:0,url:this.streamUrl,est:r}),this.startStreamMonitor()}catch(g){const f=new Date().getTime()-r;e.audio&&this.audioSubState.setState(Pe.AliRtcStateNoSubscribe),e.video&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe),e.screen&&this.screenSubState.setState(Pe.AliRtcStateNoSubscribe),g&&(g.message=`user(${this.uid}) subscribe error, ${(g==null?void 0:g.message)||""}`);let l=oe.ERR_INNER;e.audio&&(l=oe.ERR_SDK_SUBSCRIBE_AUDIO_STRAM_FAILED),e.video&&(e.vMsid===Z.VideoSmall?l=oe.ERR_SDK_SUBSCRIBE_DUAL_STRAM_FAILED:l=oe.ERR_SDK_SUBSCRIBE_VIDEO_STRAM_FAILED),e.screen&&(l=oe.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED),this.slsReporter.reportSubscribe(((h=this.localUser)==null?void 0:h.callId)||"",this.callId,!!e.video&&e.vMsid===Z.VideoLarge,!!e.video&&e.vMsid===Z.VideoSmall,!!e.screen,!!e.audio,l,"",f,{pctid:this.rtsManager.pcTraceId,subtid:"",ajsub:t===Le.Join?1:0,url:this.streamUrl,est:r});const p=ee.fromError(g,l);throw this.emit("remoteSubscribeError",p),p}})}subscribeDeleteTracks(e){return V(this,null,function*(){const{audio:t,video:i,screen:r,data:n,vMsid:a}=e,o=[];(t||i||n)&&o.push({audio:t,video:i,vMsid:a}),r&&o.push({screen:r}),o.length!==0&&(yield Promise.all(o.map(u=>this.subscribeDeleteProxy(u))),e.data&&this.subscribeStopDataChannel())})}subscribeDeleteProxy(e){return V(this,null,function*(){try{const t=yield this.rtsManager.subscibeDelete({remoteUser:this,options:e}),{stream:i}=t!=null?t:{},r={};e.audio===!0&&(r.audio=!1,this.audioSubState.setState(Pe.AliRtcStateNoSubscribe)),e.video===!0&&(r.video=!1,e.vMsid===Z.VideoSmall?(this.videoSmallSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoLargeSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoLargeSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe)):(this.videoLargeSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoSmallSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoSmallSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe))),e.screen===!0&&(r.screen=!1,this.screenSubState.setState(Pe.AliRtcStateNoSubscribe));const{callId:n,remoteCallid:a}=this,o={callid:n,remoteCallid:a,remoteStream:i};return e.audio&&(this.audioLevelMonitor.stop(),this.stopPlayAudio(),this.audioTrack=void 0),this.streamInfo.updateRemoteTrackSubState({audio:e.audio===!0?!1:void 0,video:e.video===!0?!1:void 0,screen:e.screen===!0?!1:void 0,vMsid:e.vMsid}),o}catch(t){throw ee.fromError(t,oe.ERR_INNER,"subscribe delete failed")}})}restore(){this.callId="",this.clearStream(),this.clearScreenStream(),this.audioTrack=void 0,this.streamInfo.updateRemoteTrackSubState({audio:!1,video:!1,screen:!1,data:!1}),this.audioElement&&this.audioElement.removeEventListener("pause",this.handleAudioPaused)}resumeAudio(){return V(this,null,function*(){const e=ci.getInstance();return e.state!=="running"&&e.resume(),this.audioElement?this.audioElement.play():this.playAudio()})}resumeVideo(e){return V(this,null,function*(){if(!e||e===Ae.AliRtcVideoTrackCamera||e===Ae.AliRtcVideoTrackBoth)return this.playAll();if(!e||e===Ae.AliRtcVideoTrackScreen||e===Ae.AliRtcVideoTrackBoth)return this.playAll(!0)})}resumePlay(){this.playAudio(),this.playAll(),this.playAll(!0)}stopSubscribe(e){return V(this,null,function*(){var i,r;let t=new Date().getTime();try{let n;e?n=yield this.subscribeDeleteTracks(e):n=yield this.doStopSubscribe(this.streamUrl),this.slsReporter.reportUnsubscribe(((i=this.localUser)==null?void 0:i.callId)||(n==null?void 0:n.callid)||"",this.callId,new Date().getTime()-t,0,"")}catch(n){throw this.slsReporter.reportUnsubscribe(((r=this.localUser)==null?void 0:r.callId)||"",this.callId,new Date().getTime()-t,0,""),n}})}doStopSubscribe(e){return V(this,null,function*(){var r,n,a,o;const{callId:t,remoteCallid:i}=this;if((this.isAudioSubscribing||this.isVideoSubscribing||this.isScreenSubscribing)&&e)try{this.stopStreamMonitor(),yield this.rtsManager.subscibeStop(e),this.restore();const u={callid:t,remoteCallid:i,remoteStream:this.stream};return this.callId="",u}catch(u){if(((o=(a=(n=(r=u==null?void 0:u.extraInfo)==null?void 0:r.parsedData)==null?void 0:n.streams)==null?void 0:a[0])==null?void 0:o.res_code)!==404)throw ee.fromError(u,oe.ERR_INNER,"subscribe stop failed")}})}updateStream(e,t=!1){return V(this,null,function*(){this.stream&&this.stream.videoTrack&&e.mediaStream&&t&&(yield new Promise(i=>{let r,n;if(e.mediaStream){n=document.createElement("video");const a=()=>{ne.event(`uid: ${this.userId} new mediaStream canplay`),n&&n.removeEventListener("canplaythrough",a,!1),n=void 0,clearTimeout(r),i(!0)};n.addEventListener("canplaythrough",a,!1),(n._playPromise||Promise.resolve()).then(()=>{n&&e.mediaStream&&(n.srcObject=e.mediaStream)})}else i(!0);r=window.setTimeout(()=>{ne.event(`uid: ${this.userId} new mediaStream timeout`),n=void 0,i(!0)},3e3)}),this.updateSubscribe(Le.User)),this.stream=e,this.playAll(!1,t),!this.subscribed&&e&&(this.subscribed=!0),e.hasAudio&&this.isAudioSubscribing&&e.enableAudio(),e.hasVideo&&this.isVideoSubscribing&&e.enableVideo()})}updateScreenStream(e){this.screenStream=e,this.playAll(!0),!this.subscribed&&e&&(this.subscribed=!0),e.hasVideo&&this.isScreenSubscribing&&e.enableVideo()}clearStream(){var e;(e=this.stream)==null||e.stop(),this.stream=void 0}clearScreenStream(){var e;(e=this.screenStream)==null||e.stop(),this.screenStream=void 0}subscribeDataChannel(){if(this.dc)try{this.dc.dispose(),this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dc=void 0}catch(e){}!this.streamInfo.hasAudio&&!this.streamInfo.hasVideo&&!this.streamInfo.hasScreen||(this.dataSubState.setState(Pe.AliRtcStateSubscribing),this.rtsManager.subscribeAddDataChannel(this.streamUrl).then(e=>{if(e){this.dc=e,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dc.on("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateSubscribed),this.streamInfo.updateRemoteTrackSubState({data:!0});return}else throw new Error("no dc founded")}).catch(e=>{const t=ee.fromError(e,oe.ERR_INNER,"subscribe data failed");this.emit("remoteSubscribeError",t),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe)}))}subscribeStopDataChannel(){if(this.dc){try{this.rtsManager.subscribeStopDatachannel(this.streamUrl,this.dc)}catch(e){}this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe),this.dc=void 0,this.streamInfo.updateRemoteTrackSubState({data:!1})}}updateSubscribe(e){var n,a,o,u,h,g,f,l,p,d,m,b;const t=Date.now(),i={},r={};return this.wantSubAudio&&!this.isAudioSubscribing&&((n=this.streamInfo)!=null&&n.hasAudio)?i.audio=!0:(!this.wantSubAudio||!((a=this.streamInfo)!=null&&a.hasAudio))&&this.isAudioSubscribing&&(r.audio=!0),this.wantSubVideo&&((o=this.streamInfo)!=null&&o.hasVideo)?(this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&!this.isVideoSmallSubscribing&&((u=this.streamInfo)!=null&&u.hasVideoSmall)?(i.video=!0,i.vMsid=Z.VideoSmall):!this.isVideoLargeSubscribing&&((h=this.streamInfo)!=null&&h.hasVideoLarge)&&!(this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&this.isVideoSmallSubscribing)&&(i.video=!0,i.vMsid=Z.VideoLarge),this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeLow&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&this.streamInfo.hasVideoSmall?(r.video=!0,r.vMsid=Z.VideoLarge):this.defaultVideoStreamType===Ye.AliRtcVideoStreamTypeHigh&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&(r.video=!0,r.vMsid=Z.VideoSmall)):(!this.wantSubVideo||!((g=this.streamInfo)!=null&&g.hasVideo))&&this.isVideoSubscribing&&(r.video=!0,r.vMsid=this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?Z.VideoSmall:Z.VideoLarge),this.wantSubScreen&&!this.isScreenSubscribing&&((f=this.streamInfo)!=null&&f.hasScreen)?i.screen=!0:(!this.wantSubScreen||!((l=this.streamInfo)!=null&&l.hasScreen))&&this.isScreenSubscribing&&(r.screen=!0),(p=this.parameter.data)!=null&&p.enableSubDataChannel&&!this.isDataSubscribing&&((d=this.streamInfo)!=null&&d.hasData)?i.data=!0:(!((m=this.parameter.data)!=null&&m.enableSubDataChannel)||!((b=this.streamInfo)!=null&&b.hasData))&&this.isDataSubscribing&&(r.data=!0),(i.audio||i.video||i.screen||i.data)&&(this.createCallId(),this.subscribe(i,e,t)),(r.audio||r.video||r.screen)&&this.subscribeDeleteTracks(r),{addOption:i,deleteOption:r}}handleAutoPlayFailed(){this.emit("remoteAudioAutoPlayFail",this.uid);const e=()=>{this.resumeAudio().then(()=>{document.removeEventListener("click",e,!1),document.removeEventListener("touchstart",e,!1)})};document.addEventListener("click",e,!1),document.addEventListener("touchstart",e,!1)}handleVideoPlayFailded(e,t){this.emit("remoteVideoAutoPlayFail",this.uid,t);const i=()=>{var n;const r=(n=t===Ae.AliRtcVideoTrackScreen?this.screenStream:this.stream)==null?void 0:n.mediaStream;e.srcObject===r&&this.play(e,t===Ae.AliRtcVideoTrackScreen),document.removeEventListener("click",i,!1),document.removeEventListener("touchstart",i,!1)};document.addEventListener("click",i,!1),document.addEventListener("touchstart",i,!1)}playAudio(){return V(this,null,function*(){var t,i;if(!this.audioTrack)return;if(this.toggleAudio(!this.audioMuted),this.audioElement||(this.audioElement=document.createElement("audio"),this.audioElement.addEventListener("pause",this.handleAudioPaused),this.setPlayoutVolume(this.playoutVolume)),((i=(t=this.audioElement.srcObject)==null?void 0:t.getAudioTracks())==null?void 0:i[0])!==this.audioTrack){let r=this.audioElement.srcObject;r?r.getAudioTracks().forEach(n=>{r.removeTrack(n)}):(r=new MediaStream,this.audioElement.srcObject=r),r.addTrack(this.audioTrack)}this.audioElement.play().catch(()=>{this.handleAutoPlayFailed()});const e=this.audioElement;this.audioElement.addEventListener("playing",function r(){e.removeEventListener("playing",r),me.AliRTS.SystenUtil.isIos&&parseInt(me.AliRTS.SystenUtil.systemVersion)<=14&&(e.muted||(e.pause(),e.play()))})})}stopPlayAudio(){this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null,this.audioElement.removeEventListener("pause",this.handleAudioPaused),this.audioElement=void 0)}playAll(e=!1,t=!1){e?(this.viewMap.screenViews||[]).forEach(i=>{this.play(i,e,t)}):(this.viewMap.cameraViews||[]).forEach(i=>{this.play(i,e,t)})}play(e,t=!1,i=!1){const r=t?this.screenStream:this.stream;!e||!r||!r.mediaStream||ya(e,r.mediaStream,i).catch(n=>{n.code===20||n.name==="AbortError"||this.handleVideoPlayFailded(e,t?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackCamera)})}stopPlayAll(e=!1){e?this.viewMap.screenViews.forEach(t=>{Bt(t)}):this.viewMap.cameraViews.forEach(t=>{Bt(t)})}toggleAudio(e=!0){this.audioSubState.setEnabled(e),this.audioTrack&&(this.audioTrack.enabled=e)}toggleVideo(e=!0){this.videoSubState.setEnabled(e),this.stream&&(e?this.stream.enableVideo():this.stream.disableVideo())}toggleScreen(e=!0){this.screenSubState.setEnabled(e),this.screenStream&&(e?this.screenStream.enableVideo():this.screenStream.disableVideo())}getStats(){return V(this,null,function*(){var i,r;const e=[];if(this.isAudioSubscribing){const n=yield this.rtsManager.getSubscribeAudioStats(this.streamUrl);n&&e.push({uid:this.uid,track:oi.AliRtcAudioTrackMic,stats:n})}const t=[];if((i=this.streamInfo)!=null&&i.isVideoLargeSubscribed){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.VideoLarge);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeHigh,stats:n})}if((r=this.streamInfo)!=null&&r.isVideoSmallSubscribed){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.VideoSmall);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ye.AliRtcVideoStreamTypeLow,stats:n})}if(this.isScreenSubscribing){const n=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,Z.Screen);n&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackScreen,stats:n})}return{audio:e,video:t}})}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.audioTrack&&this.audioLevelMonitor.start(this.audioTrack,e),this.audioVolumeIndicationInterval=e)}reportSubscribeMonitor(e){var t;e&&(this.slsReporter.reportSubscribeMonitor(((t=this.localUser)==null?void 0:t.callId)||"",this.callId,this.trackTraceIdMap[e]||"",e,this.monitorDataCache[e]),this.monitorDataCache[e]=[])}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>V(this,null,function*(){try{if(this.streamInfo.subscribingInfos.length===0){this.stopStreamMonitor();return}let e=Object.keys(this.monitorDataCache).filter(t=>{var i;return((i=this.monitorDataCache[t])==null?void 0:i.length)>0});this.streamInfo.subscribingInfos.forEach(t=>{const i=t.msid;if(!i)return;e.includes(i)&&(e=e.filter(a=>a!==i));let r;const n=i===Z.Audio;n?r=this.rtsManager.getSubscribeAudioStats(this.streamUrl):r=this.rtsManager.getSubscribeVideoStats(this.streamUrl,i),r.then(a=>{var g;if(!a.timestamp)return;this.monitorDataCache[i]||(this.monitorDataCache[i]=[]);const o=this.monitorDataCache[i];let u;if((o==null?void 0:o.length)>0){const h=o[o.length-1]||{},{_last:l}=h;u=Ti(h,["_last"])}(o==null?void 0:o.length)>=R0&&this.reportSubscribeMonitor(i),a._last=u,a._codec=t.codec,n&&(a._source=(g=this.localUser)==null?void 0:g.getMediaStats(a.playoutId)),this.monitorDataCache[i].push(a)})}),e.forEach(t=>{this.reportSubscribeMonitor(t)})}catch(e){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportSubscribeMonitor(e)})}},_(Ft,"logName","RemoteUser"),Ft);Qe([j()],Ge.prototype,"clear",1),Qe([j()],Ge.prototype,"updateRemoteUserDeviceStatus",1),Qe([j()],Ge.prototype,"updateRemoteTracks",1),Qe([j(se)],Ge.prototype,"subscribe",1),Qe([j()],Ge.prototype,"subscribeProxy",1),Qe([j(se)],Ge.prototype,"subscribeDeleteProxy",1),Qe([j()],Ge.prototype,"restore",1),Qe([j(se)],Ge.prototype,"stopSubscribe",1),Qe([j(se)],Ge.prototype,"doStopSubscribe",1),Qe([j()],Ge.prototype,"clearStream",1),Qe([j()],Ge.prototype,"clearScreenStream",1),Qe([j()],Ge.prototype,"updateSubscribe",1),Qe([j()],Ge.prototype,"playAudio",1),Qe([j()],Ge.prototype,"stopPlayAudio",1),Qe([j(se)],Ge.prototype,"playAll",1),Qe([j()],Ge.prototype,"play",1),Qe([j()],Ge.prototype,"stopPlayAll",1);let D0=Ge;var Nt=(s=>(s[s.AliRtcPluginErrorCodeSuccess=0]="AliRtcPluginErrorCodeSuccess",s[s.AliRtcPluginErrorCodeFailed=-1]="AliRtcPluginErrorCodeFailed",s[s.AliRtcPluginErrorNoFindPlugin=-2]="AliRtcPluginErrorNoFindPlugin",s[s.AliRtcPluginErrorParameterError=-3]="AliRtcPluginErrorParameterError",s[s.AliRtcPluginErrorLoadError=-4]="AliRtcPluginErrorLoadError",s[s.AliRtcPluginErrorCreateError=-5]="AliRtcPluginErrorCreateError",s[s.AliRtcPluginErrorInitError=-6]="AliRtcPluginErrorInitError",s[s.AliRtcPluginErrorInitTokenError=-7]="AliRtcPluginErrorInitTokenError",s))(Nt||{});class T0 extends xe{constructor(){super(...arguments);_(this,"plugins",new Map)}add(e,t){if(this.plugins.has(e.name))throw new ee(Nt.AliRtcPluginErrorCreateError,`Plugin ${e.name} already exists`);this.plugins.set(e.name,e),t&&e.setOptions(t),this.emit("added",e),e.on("enabled",()=>this.emit("added",e)),e.on("disabled",()=>this.emit("removed",e)),e.on("updated",()=>this.emit("updated",e))}remove(e){const t=this.plugins.get(e);if(!t)throw new ee(Nt.AliRtcPluginErrorNoFindPlugin,`Plugin ${e} not founded`);this.plugins.delete(e),t.removeAllListeners(),this.emit("removed",t)}get(e){return this.plugins.get(e)}has(e){return!!this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}}var k0=Object.defineProperty,P0=Object.getOwnPropertyDescriptor,We=(s,c,e,t)=>{for(var i=t>1?void 0:t?P0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&k0(c,e,i),i};const Ji=([s])=>{const{remoteUser:c,options:e}=s;return[`user(${c.userId})`,e]},Ra=5,ze=(st=class extends xe{constructor(e,t){super();_(this,"rts");_(this,"encodedInsertableStreams",!0);_(this,"audioRedEnabled",!1);_(this,"localStreamManager");_(this,"slsReporter");_(this,"connecting",!1);_(this,"connected",!1);_(this,"_pcTraceId","");_(this,"_localJoinTime",0);_(this,"connectionResolve");_(this,"connectingPromise");_(this,"dcResolve");_(this,"dcConnectingPromise");_(this,"_publishingTracks",[]);this.rts=me.AliRTS.createClient(),this.localStreamManager=e,this.slsReporter=t,this.rts.on("connectStatusChange",i=>{var r,n,a,o;if(ne.event(`[${st.logName}]`,"rts connectStatusChange to:",i.status),i.status===me.EConnectStatus.CONNECT_STATUS_DISCONNECTED)this.emit("disconnected"),this.setConnected(!1),this.slsReporter.reportWarning("rts disconnected");else if(i.status===me.EConnectStatus.CONNECT_STATUS_RECONNECTING)this.emit("reconnecting"),this.setConnected(!1),this.slsReporter.reportWarning("rts reconnecting");else if(i.status===me.EConnectStatus.CONNECT_STATUS_CONNECTED){this.setConnected(!0);const u=(o=(a=(n=(r=this.rts.commonController)==null?void 0:r.peerCore)==null?void 0:n.getSignal())==null?void 0:a.getDatachannelCore())==null?void 0:o.readyState;ne.event(`[${st.logName}]`,"dcReadyState:",u),u==="open"&&this.dcResolve&&this.dcResolve(!0),this.emit("connected")}}),this.rts.on("datachannelStatusChange",i=>{ne.event(`[${st.logName}]`,"rts datachannelStatusChange to:",i.status),i.status===me.EDatachannelStatus.DATACHANNEL_STATUS_OPEN?this.dcResolve&&this.dcResolve(!0):i.status===me.EDatachannelStatus.DATACHANNEL_STATUS_CLOSE&&(this.dcConnectingPromise=new Promise(r=>{this.dcResolve=r}))}),this.rts.on("receivedSEI",i=>{this.emit("seimessage",i.url,i.sei.payloadType,i.sei.data)})}get pcTraceId(){return this._pcTraceId}set localJoinTime(e){this._localJoinTime=e}setEncodedInsertableStreams(e){this.encodedInsertableStreams=e}setAudioRedEnabled(e){var t;if(e!==this.audioRedEnabled){try{const r=[...((t=RTCRtpReceiver.getCapabilities("audio"))==null?void 0:t.codecs)||[]];if(r.length>0){if(e){const n=r.findIndex(o=>o.mimeType==="audio/red"),a=r.findIndex(o=>o.mimeType==="audio/opus");if(n>-1&&a>-1&&n>a){const o=r[a];r[a]=r[n],r[n]=o}}this.rts.setSenderCodecPreferences({audio:r}),this.rts.setReceiverCodecPreferences({audio:r})}}catch(i){}this.audioRedEnabled=e}}clear(){this.setConnected(!1),this.rts.unpublish()}startConnect(){this.connecting=!0,this.connectingPromise=new Promise(e=>{this.connectionResolve=e}),this.dcConnectingPromise=new Promise(e=>{this.dcResolve=e})}setConnected(e){var t;this.connected=e,this.connecting=!1,(t=this.connectionResolve)==null||t.call(this,!0),e||(this.dcConnectingPromise=new Promise(i=>{this.dcResolve=i}))}get isConnecting(){return this.connecting}get isConnected(){return this.connected}get publishingTracks(){return this._publishingTracks}getPubMsid(e,t){const{aMsid:i,vMsid:r}=t!=null?t:{},n={};return e.hasAudio&&(n.aMsid=[i!=null?i:Z.Audio]),e.hasScreen&&(n.vMsid=[Z.Screen]),e.hasVideo&&(n.vMsid=[r!=null?r:t!=null&&t.isScreen?Z.Screen:Z.VideoLarge]),n}updatePublishingTracks(e){e&&(this._publishingTracks=e.map(({msid:t,from:i,ssrc:r,codec:n,type:a,trackId:o})=>({msid:t,from:i,type:a,ssrc:`${r}`,codec:n!=null?n:"",trackId:o})))}httpPublish(n,a){return V(this,arguments,function*(e,t,i=!1,r=zt.MANUAL){const{publishStream:o,videoSmallStream:u,screenStream:h,vMsid:g}=yield this.localStreamManager.createHTTPPublishStream();if(!o)return ne.warn(`[${st.logName}]`,"publishStream is null"),"";const f=this.getPubMsid(o,{vMsid:g});f.retryTimes=0,this.encodedInsertableStreams&&(f.encodedInsertableStreams=!0);let l=!o.hasVideo,p=g,d="";this.startConnect();const m=Date.now();try{d=yield this.rts.publish(e,o,f)}catch(b){throw this.setConnected(!1),this.emit("disconnected"),ee.fromRtsError(b)}ne.event(`[${st.logName}]`,"rts publish success",d),this.slsReporter.reportPublish(i,e,t,o.hasVideo&&(!g||g===Z.VideoLarge),o.hasVideo&&g===Z.VideoSmall,o.hasVideo&&g===Z.Screen,o.hasAudio,0,d,d,m);try{const b=Date.now();return this._pcTraceId=d,this.setConnected(!0),this._publishingTracks=this.rts.getPublishTrackInfoList(),u&&(yield this.publishAdd(e,u,t,{vMsid:Z.VideoSmall},i),l=!1,p=Z.VideoSmall),h&&(yield this.publishAdd(e,h,t,{vMsid:Z.Screen},i),l=!1,p=Z.Screen),yield this.waitPublishSender(e,l,p),this.slsReporter.reportPublishFirstPacket(i,t,m,b,this._localJoinTime,l?Z.Audio:f.vMsid,d||"",d||"",r),d}catch(b){throw this.setConnected(!1),ee.fromError(b)}})}waitPublishSender(e,t=!1,i){return V(this,null,function*(){const r=(n,a)=>{let o=0;const u=()=>(t?this.rts.getPublishAudioStats(e,i):this.rts.getPublishVideoStats(e,i)).then(g=>!(g.bytesSent>0)&&o<n?(o++,new Promise(l=>setTimeout(()=>l(u()),a))):Promise.resolve());return u()};return Promise.race([Xt(1e3),r(5,100)]).catch(()=>{})})}getPublishVideoStats(e,t){return V(this,null,function*(){return yield this.rts.getPublishVideoStats(e,t)})}getPublishAudioStats(e,t){return V(this,null,function*(){return yield this.rts.getPublishAudioStats(e,t)})}publishAdd(u,h,g,f){return V(this,arguments,function*(e,t,i,r,n=!1,a=!1,o=zt.MANUAL){var d,m,b,v,x,A,E,I;const l=Date.now(),p=this.getPubMsid(t,r);try{const C=yield _a(R=>V(this,null,function*(){return R>0&&ne.event(`[${st.logName}]`,`publishAdd retry times: ${R}`),this.isConnected?(yield this.dcConnectingPromise,this.rts.publishAdd([be({url:e,stream:t,updateSourceStream:!1},p)])):Promise.reject()}),Ra,0,R=>(R==null?void 0:R.errorCode)===15006);if(C){const R=Date.now(),[L]=C;return this.slsReporter.reportPublish(!1,e,i,((d=p.vMsid)==null?void 0:d[0])===Z.VideoLarge,((m=p.vMsid)==null?void 0:m[0])===Z.VideoSmall,((b=p.vMsid)==null?void 0:b[0])===Z.Screen,((v=p.aMsid)==null?void 0:v[0])===Z.Audio,0,this.pcTraceId,L.traceId||"",l),this.updatePublishingTracks(L.trackInfoList),a&&(yield this.waitPublishSender(e,!t.hasVideo,t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)),this.slsReporter.reportPublishFirstPacket(n,i,l,R,this._localJoinTime,(t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)||"",this.pcTraceId,L.traceId||"",o),L.traceId||""}}catch(C){throw this.slsReporter.reportPublish(!1,e,i,((x=p.vMsid)==null?void 0:x[0])===Z.VideoLarge,((A=p.vMsid)==null?void 0:A[0])===Z.VideoSmall,((E=p.vMsid)==null?void 0:E[0])===Z.Screen,((I=p.aMsid)==null?void 0:I[0])===Z.Audio,C.errorCode||-1,this.pcTraceId,"",l),C.errorCode?ee.fromRtsError(C):ee.fromError(C)}return""})}publishDelete(e,t){return V(this,null,function*(){var u,h,g,f,l,p,d,m;yield this.dcConnectingPromise;const i=(h=(u=this.publishingTracks)==null?void 0:u.find(({msid:b})=>b===Z.Audio))==null?void 0:h.msid,r=(f=(g=this.publishingTracks)==null?void 0:g.find(({msid:b})=>b===Z.VideoLarge))==null?void 0:f.msid,n=(p=(l=this.publishingTracks)==null?void 0:l.find(({msid:b})=>b===Z.Screen))==null?void 0:p.msid,a=[];t.screen&&n?a.push(n):t.video&&a.push(t.vMsid||r);const o=[];t.audio&&i&&o.push(i),ne.event(st.logName,"publishDelete",{streamUrl:e,aMsid:o,vMsid:a});try{const[b]=(yield this.rts.publishDeleteTracks([{url:e,aMsid:o,vMsid:a}]))||[];return ne.event(st.logName,"publishDelete",{result:b}),b&&this.updatePublishingTracks(b.trackInfoList),((m=(d=b==null?void 0:b.trackInfoList)==null?void 0:d[0])==null?void 0:m.trackId)||""}catch(b){throw ee.fromRtsError(b)}})}publishReplace(e,t,i){return V(this,null,function*(){var a,o;yield this.dcConnectingPromise;const{vMsid:r,aMsid:n}=i!=null?i:{};try{const u=yield this.rts.publishReplaceTracks([{url:e,stream:t,updateSourceStream:!1,vMsid:r,aMsid:n}]),[h]=u;return this.updatePublishingTracks(h.trackInfoList),((o=(a=h==null?void 0:h.trackInfoList)==null?void 0:a[0])==null?void 0:o.trackId)||""}catch(u){throw ee.fromRtsError(u)}})}publishStop(e){return V(this,null,function*(){return yield this.rts.publishStop([{url:e}]),this._publishingTracks=[],""})}publishAddDataChannel(e){return V(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.publishAddDatachannel({signalUrl:e,url:e,label:Z.Data,msid:Z.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.datachannel.send(r)}return i})}publishStopDataChannel(e,t){return V(this,null,function*(){return yield this.rts.publishStopDatachannel({url:e,datachannel:t})})}unpublish(){return V(this,null,function*(){yield this.rts.unpublish(),this.connecting=!1,this.connected=!1})}getSubConfig(e,t){let i=t!=null?t:{};t||(i={audio:!0,video:!0,screen:!0});const r={};return i.audio&&(r.aMsid=[(e==null?void 0:e.getAudioInfo().msid)||Z.Audio]),i.video?i.vMsid?r.vMsid=[i.vMsid]:e!=null&&e.hasVideoLarge?r.vMsid=[(e==null?void 0:e.getVideoLargeInfo().msid)||Z.VideoLarge]:e!=null&&e.hasVideoSmall?r.vMsid=[(e==null?void 0:e.getVideoSmallInfo().msid)||Z.VideoSmall]:r.vMsid=[Z.VideoLarge]:i.screen&&e!=null&&e.hasScreen&&(r.vMsid=[(e==null?void 0:e.getScreenInfo().msid)||Z.Screen]),r}httpSubscribe(e){return V(this,null,function*(){const{remoteUser:t,options:i}=e;let r=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(r+="@subaudio=no"):r+="@subvideo=no";const n=this.getSubConfig(t.streamInfo,i);n.retryTimes=0,this.encodedInsertableStreams&&(n.encodedInsertableStreams=!0);try{this.startConnect();const a=yield this.rts.subscribe(r,n);return this._pcTraceId=a.traceId,this.setConnected(!0),{traceId:a.traceId,stream:a}}catch(a){throw this.setConnected(!1),this.emit("disconnected"),ee.fromRtsError(a)}})}subscribeAdd(e){return V(this,null,function*(){var n,a,o,u;const{remoteUser:t,options:i}=e,r=It(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield _a(g=>V(this,null,function*(){return yield this.dcConnectingPromise,g>0&&ne.event(`[${st.logName}]`,`subscribeAdd retry times: ${g}`),this.isConnected?this.rts.subscribeAdd([r]):Promise.reject()}),Ra,0,g=>(g==null?void 0:g.errorCode)===15006))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===508)return this.emit("subscribeexceeds"),null;throw ee.fromRtsError(h)}})}subscibeDelete(e){return V(this,null,function*(){var n,a,o,u;yield this.dcConnectingPromise;const{remoteUser:t,options:i}=e,r=It(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield this.rts.subscribeDeleteTracks([r]))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===404)return;throw ee.fromRtsError(h)}})}subscibeStop(e){return V(this,null,function*(){var t,i,r,n;try{yield this.rts.subscribeStop([{url:e}])}catch(a){if(((n=(r=(i=(t=a==null?void 0:a.extraInfo)==null?void 0:t.parsedData)==null?void 0:i.streams)==null?void 0:r[0])==null?void 0:n.res_code)===404)return;throw ee.fromRtsError(a)}})}subscribeAddDataChannel(e){return V(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.subscribeAddDatachannel({signalUrl:e,url:e,label:Z.Data,msid:Z.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.send(r)}return i})}subscribeStopDatachannel(e,t){return V(this,null,function*(){let i;try{i=yield this.rts.subscribeStopDatachannel({url:e,datachannel:t})}catch(r){}return t==null||t.dispose(),i})}publish(n,a){return V(this,arguments,function*(e,t,i=!1,r=zt.MANUAL){let o="";if(this.connecting&&(yield this.connectingPromise),this.connected){yield this.dcConnectingPromise;let u=!1,h;const{audio:g,video:f,videoSmall:l,screen:p}=this.localStreamManager.publishStreams;g&&(o=yield this.publishAdd(e,g,t,{aMsid:Z.Audio},i),u=!0,h=Z.Audio,yield Xt(100)),f&&(o=yield this.publishAdd(e,f,t,{vMsid:Z.VideoLarge},i),u=!1,h=Z.VideoLarge,yield Xt(100)),l&&(o=yield this.publishAdd(e,l,t,{vMsid:Z.VideoSmall},i),u=!1,h=Z.VideoSmall,yield Xt(100)),p&&(o=yield this.publishAdd(e,p,t,{isScreen:!0,vMsid:Z.Screen},i),u=!1,h=Z.Screen),h&&(yield this.waitPublishSender(e,u,h))}else o=yield this.httpPublish(e,t,i,r);return o})}subscribe(e,t,i,r,n){return V(this,null,function*(){const{options:a,remoteUser:o}=e;if(a.video&&a.screen)throw new ee(oe.ERR_INNER,"subscribe error, video and screen cannot be subscribed at the same time");this.connecting&&(yield this.connectingPromise);let u,h=Date.now();this.connected?(h=Date.now(),u=yield this.subscribeAdd(e)):u=yield this.httpSubscribe(e);const g=Date.now();let f=Z.VideoLarge,l=a.video||a.screen,p=a.audio;a.video&&a.vMsid?f=a.vMsid:a.screen&&(f=Z.Screen);let d=0,m=0,b=0;return((x,A)=>{let E=0;const I=()=>{let C;return p&&!d&&(C=this.rts.getSubscribeAudioStats(o.streamUrl).then(R=>{if(R.packetsReceived>0)d=Date.now();else if(!l)return E<x?(E++,new Promise(L=>setTimeout(()=>L(I()),A))):!1;return!0})),l&&!b&&(C=this.rts.getSubscribeVideoStats(o.streamUrl,f).then(R=>{if(R.packetsReceived>0&&(m=Date.now()),R.framesDecoded>0)b=Date.now();else return E<x?(E++,new Promise(L=>setTimeout(()=>L(I()),A))):(ne.error(`[${st.logName}]`,o.userId,"checkInStatsWithRetry fail"),!1);return!0})),Promise.resolve(C)};return I()})(40,100).then(()=>{m&&this.slsReporter.reportSubscribeFirstPacket(t===Le.Resume,i,r,f,{fprt:m-h,ifsprtc:b?b-h:0,ajsub:t===Le.Join?1:0,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",sstc:g-h}),b&&this.slsReporter.reportSubscribeFirstFrame(t===Le.Resume,i,r,f,{fvfrt:b-h,fp2fftc:b-m,ajsub:t===Le.Join?1:0,tffrtc:t===Le.Join?b-this.localJoinTime:b-n,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",fvfdtc:b-h}),d&&this.slsReporter.reportSubscribeFirstPacket(t===Le.Resume,i,r,Z.Audio,{fprt:d-h,ifsprtc:d-h,ajsub:t===Le.Join?1:0,pctid:this.pcTraceId,subtid:(u==null?void 0:u.traceId)||"",sstc:g-h})}),u})}getSubscribeVideoStats(e,t){return V(this,null,function*(){return yield this.rts.getSubscribeVideoStats(e,t)})}getSubscribeAudioStats(e,t){return V(this,null,function*(){return yield this.rts.getSubscribeAudioStats(e,t)})}getStreamByMsid(e){return this.rts.commonController.streamManager.getStreamByMsid(e)}getPCStats(){return V(this,null,function*(){var e,t;return(t=(e=this.rts.commonController.peerCore)==null?void 0:e.pc)==null?void 0:t.getStats()})}sendSEI(e,t,i,r){return V(this,null,function*(){return this.rts.sendSEI({url:e,vMsid:Z.VideoLarge,data:t,repeatCount:i,payloadType:r})})}},_(st,"logName","RtsManager"),st);We([j()],ze.prototype,"updatePublishingTracks",1),We([j(se,se)],ze.prototype,"httpPublish",1),We([j(se,se)],ze.prototype,"waitPublishSender",1),We([j(([s,c,e])=>[s,JSON.stringify(e)],se)],ze.prototype,"publishAdd",1),We([j(se,se)],ze.prototype,"publishDelete",1),We([j(([s,c,e])=>[s,JSON.stringify(e)])],ze.prototype,"publishReplace",1),We([j(se)],ze.prototype,"publishStop",1),We([j(se)],ze.prototype,"publishAddDataChannel",1),We([j(se)],ze.prototype,"publishStopDataChannel",1),We([j()],ze.prototype,"unpublish",1),We([j(Ji,({traceId:s})=>s)],ze.prototype,"httpSubscribe",1),We([j(Ji,({traceId:s})=>s)],ze.prototype,"subscribeAdd",1),We([j(Ji)],ze.prototype,"subscibeDelete",1),We([j(se)],ze.prototype,"subscibeStop",1),We([j(se)],ze.prototype,"subscribeAddDataChannel",1),We([j(se)],ze.prototype,"subscribeStopDatachannel",1),We([j(se)],ze.prototype,"publish",1),We([j(Ji)],ze.prototype,"subscribe",1),We([j()],ze.prototype,"sendSEI",1);let Da=ze;class ws{constructor(){_(this,"profile");_(this,"profileMap",new Map);_(this,"audioProfile");_(this,"contentHint")}updateProfile(c,e){e&&this.profileMap.set(c,e),this.profile=c}get videoProfile(){return this.profile}updateAudioProfile(c){this.audioProfile=c}setContentHint(c,e){e&&(this.contentHint=e),this.contentHint&&c&&(c.contentHint=this.contentHint)}setVideoProfile(c,e,t=!1){return V(this,null,function*(){if(!this.profile)return;const i=this.profileMap.get(this.profile)||(e==null?void 0:e.VideoProfileMap.get(this.profile));if(i){if(!t&&c&&c.applyConstraints)try{yield c.applyConstraints(i)}catch(r){}e&&(e==null||e.VideoProfileMap.set(this.profile,i),yield e.setVideoProfile(this.profile))}})}}class Cs extends xe{constructor(e){super();_(this,"type");_(this,"originVideoTrack");_(this,"videoSource");_(this,"_videoMuted",!1);_(this,"originAudioTrack");_(this,"audioSource");_(this,"_audioMuted",!1);_(this,"_targetVideoTrack");_(this,"_targetDualVideoTrack");_(this,"_targetAudioTrack");_(this,"_publishVideoStream");_(this,"_publishDualVideoStream");_(this,"_publishAudioStream");_(this,"_previewStream");_(this,"plugins",[]);_(this,"_profileManager");_(this,"cameraVideoConstraints");_(this,"micAudioConstraints");_(this,"onVideoTrackEnded",()=>{this.emit("videotrackended")});_(this,"onAudioTrackEnded",()=>{this.emit("audiotrackended")});this.type=e}get profileManager(){return this._profileManager}get audioProfile(){var e;return(e=this.profileManager)==null?void 0:e.audioProfile}updateSource(e,t,i){return V(this,null,function*(){var a,o,u,h,g,f;const{videoTrack:r,audioTrack:n}=e;r&&((a=this.originVideoTrack)==null||a.removeEventListener("ended",this.onVideoTrackEnded)),n&&((o=this.originAudioTrack)==null||o.removeEventListener("ended",this.onAudioTrackEnded)),this.type===He.AliRtcSdkStreamTypeScreen?this.stop():(r&&((u=this.originVideoTrack)==null||u.stop()),n&&((h=this.originAudioTrack)==null||h.stop())),r&&(this.originVideoTrack=r,(g=this.originVideoTrack)==null||g.addEventListener("ended",this.onVideoTrackEnded),this.videoSource=t||si.Camera,this.updateVideoTrack(r)),n&&(this.originAudioTrack=n,(f=this.originAudioTrack)==null||f.addEventListener("ended",this.onAudioTrackEnded),this.audioSource=i||ki.Microphone,this.updateAudioTrack(n))})}get currentProfile(){var e;return(e=this.profileManager)==null?void 0:e.profile}get currentVideoTrack(){return this._targetVideoTrack}get currentDualVideoTrack(){return this._targetDualVideoTrack}get publishVideoStream(){return this._publishVideoStream}get publishDualVideoStream(){return this._publishDualVideoStream}get currentAudioTrack(){return this._targetAudioTrack}get publishAudioStream(){return this._publishAudioStream}get previewStream(){return this._previewStream}updateVideoTrack(e,t=!1){return V(this,null,function*(){(this._targetVideoTrack!==e||t)&&(this._targetVideoTrack=e)})}updateDualVideoTrack(e,t=!1){return V(this,null,function*(){(this._targetDualVideoTrack!==e||t)&&(this._targetDualVideoTrack=e)})}updateAudioTrack(e,t=!1){return V(this,null,function*(){(this._targetAudioTrack!==e||t)&&(this._targetAudioTrack=e)})}setAudioMuted(e){var t,i;this._audioMuted=e,e?(t=this.publishAudioStream)==null||t.disableAudio():(i=this.publishAudioStream)==null||i.enableAudio()}get isAudioMuted(){return this._audioMuted}setVideoMuted(e){var t,i;this._videoMuted=e,e?(t=this.publishVideoStream)==null||t.disableVideo():(i=this.publishVideoStream)==null||i.enableVideo()}get isVideoMuted(){return this._videoMuted}process(e){return V(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l,p;this._targetAudioTrack=this.originAudioTrack,this._targetVideoTrack=this.originVideoTrack;for(const d of this.plugins)try{yield d.execute(this,e)}catch(m){console.error(`error in plugin-${d.name}, error: ${m}`)}this._targetVideoTrack?((i=(t=this._publishVideoStream)==null?void 0:t.videoTrack)==null?void 0:i.id)!==this._targetVideoTrack.id&&(this._publishVideoStream=yield Ii(this._targetVideoTrack),this.setVideoMuted(this._videoMuted),(r=this.profileManager)==null||r.setVideoProfile(this.originVideoTrack,this._publishVideoStream,!0),(n=this.profileManager)==null||n.setContentHint(this._targetVideoTrack),this.previewStream?(a=this.previewStream)==null||a.mergeStream(this._publishVideoStream):this._previewStream=yield Ii(this._targetVideoTrack)):(this._publishVideoStream=void 0,(o=this.previewStream)==null||o.deleteTracks({video:!0})),this._targetDualVideoTrack?((h=(u=this._publishDualVideoStream)==null?void 0:u.videoTrack)==null?void 0:h.id)!==this._targetDualVideoTrack.id&&(this._publishDualVideoStream=yield Ii(this._targetDualVideoTrack),this._videoMuted?this._publishDualVideoStream.disableVideo():this._publishDualVideoStream.enableVideo()):this._publishDualVideoStream=void 0,this._targetAudioTrack?((f=(g=this._publishAudioStream)==null?void 0:g.audioTrack)==null?void 0:f.id)!==this._targetAudioTrack.id&&(this._publishAudioStream=yield Ii(this._targetAudioTrack),this.setAudioMuted(this._audioMuted),this.previewStream?(l=this.previewStream)==null||l.mergeStream(this._publishAudioStream):this._previewStream=yield Ii(this._targetAudioTrack)):(this._publishAudioStream=void 0,(p=this.previewStream)==null||p.deleteTracks({audio:!0}))})}stopVideo(){var e,t;this.originVideoTrack&&((e=this.originVideoTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originVideoTrack)==null||t.stop(),this.originVideoTrack=void 0),this.updateVideoTrack(void 0)}stopAudio(){var e,t;this.originAudioTrack&&((e=this.originAudioTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originAudioTrack)==null||t.stop(),this.originAudioTrack=void 0),this.updateAudioTrack(void 0)}stop(){this.stopVideo(),this.stopAudio()}updateVideoProfile(e,t){return V(this,null,function*(){this._profileManager||(this._profileManager=new ws),e&&this._profileManager.updateProfile(e,t),yield this._profileManager.setVideoProfile(this.originVideoTrack,this._publishVideoStream,this.type===He.AliRtcSdkStreamTypeScreen)})}get videoProfile(){var e;return(e=this.profileManager)==null?void 0:e.videoProfile}setVideoContentHint(e){this._profileManager||(this._profileManager=new ws),this._profileManager.setContentHint(this.currentVideoTrack,e)}updateAudioProfile(e){return V(this,null,function*(){this._profileManager||(this._profileManager=new ws),this._profileManager.updateAudioProfile(e)})}cloneVideoProfile(e){return V(this,null,function*(){var t;yield(t=this.profileManager)==null?void 0:t.setVideoProfile(void 0,e)})}addPlugin(e){const t=this.plugins.findIndex(i=>i.zIndex>e.zIndex);t>-1?this.plugins.splice(t,0,e):this.plugins.push(e)}removePlugin(e){const t=this.plugins.indexOf(e);return t>-1?(e.clear(this),this.plugins.splice(t,1),!0):!1}}var B0=Object.defineProperty,L0=Object.getOwnPropertyDescriptor,yt=(s,c,e,t)=>{for(var i=t>1?void 0:t?L0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&B0(c,e,i),i};const bt=(ti=class extends xe{constructor(e,t){super();_(this,"pluginManager");_(this,"slsReporter");_(this,"publishingCameraVideoStream");_(this,"publishingScreenVideoStream");_(this,"cameraStreamInfo",new Cs(He.AliRtcSdkStreamTypeCapture));_(this,"screenStreamInfo",new Cs(He.AliRtcSdkStreamTypeScreen));_(this,"streamInfos",[this.cameraStreamInfo,this.screenStreamInfo]);_(this,"_audioCaptureDisabled",!1);_(this,"_cameraCaptureDisabled",!1);_(this,"_publishLocalAudioStreamEnabled",!0);_(this,"_publishLocalVideoStreamEnabled",!0);_(this,"_publishLocalScreenStreamEnabled",!0);this.screenStreamInfo.setVideoContentHint("motion"),this.pluginManager=e,this.slsReporter=t;const i=r=>V(this,null,function*(){if(ne.info(`[${ti.logName}]`,"plugin added",r.name),!r.isSupported("6.12.0-beta.3")){console.warn(`${r.name} is not supported!!!`),r.emit("unsupported");return}try{yield r.init()}catch(n){r.emit("error",ee.fromError(n,Nt.AliRtcPluginErrorInitError))}r.streamType===He.AliRtcSdkStreamTypeCapture&&(this.cameraStreamInfo.addPlugin(r),yield this.cameraStreamInfo.process(this.streamInfos)),r.streamType===He.AliRtcSdkStreamTypeScreen&&(this.screenStreamInfo.addPlugin(r),yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")});this.cameraStreamInfo.updateVideoProfile(ba,Ai),this.cameraStreamInfo.on("videotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({video:!0}),this.emit("trackended",Qt.VideoTrackEnded)})),this.cameraStreamInfo.on("audiotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({audio:!0}),this.emit("trackended",Qt.AudioTrackEnded)})),this.screenStreamInfo.updateVideoProfile(xa,Ei),this.screenStreamInfo.on("videotrackended",()=>V(this,null,function*(){yield this.stopLocalStream({screen:!0}),this.emit("trackended",Qt.ScreenTrackEnded)})),this.pluginManager.on("added",i),this.pluginManager.on("removed",r=>V(this,null,function*(){this.cameraStreamInfo.removePlugin(r)&&(yield this.cameraStreamInfo.process(this.streamInfos)),this.screenStreamInfo.removePlugin(r)&&(yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")})),this.pluginManager.on("updated",()=>V(this,null,function*(){yield this.updateStreams()}))}get hasCamera(){return!!this.cameraStreamInfo.originVideoTrack}get audioCaptureDisabled(){return this._audioCaptureDisabled}set audioCaptureDisabled(e){this._audioCaptureDisabled=e}get cameraCaptureDisabled(){return this._cameraCaptureDisabled}setAudioMuted(e){this.cameraStreamInfo.setAudioMuted(e)}get isAudioMuted(){return this.cameraStreamInfo.isAudioMuted}setCameraMuted(e){this.cameraStreamInfo.setVideoMuted(e)}get isCameraMuted(){return this.cameraStreamInfo.isVideoMuted}setScreenMuted(e){this.screenStreamInfo.setVideoMuted(e)}get isScreenMuted(){return this.screenStreamInfo.isVideoMuted}set cameraCaptureDisabled(e){this._cameraCaptureDisabled=e}get publishLocalAudioStreamEnabled(){return this._publishLocalAudioStreamEnabled}set publishLocalAudioStreamEnabled(e){this._publishLocalAudioStreamEnabled=e}get publishLocalVideoStreamEnabled(){return this._publishLocalVideoStreamEnabled}set publishLocalVideoStreamEnabled(e){this._publishLocalVideoStreamEnabled=e}get publishLocalScreenStreamEnabled(){return this._publishLocalScreenStreamEnabled}set publishLocalScreenStreamEnabled(e){this._publishLocalScreenStreamEnabled=e}updateStreams(){return V(this,null,function*(){yield this.cameraStreamInfo.process(this.streamInfos),yield this.screenStreamInfo.process(this.streamInfos),this.emit("publishupdate")})}setAvailableCameraDeviceId(){return V(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.cameraVideoConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.cameraVideoConstraints)==null?void 0:t.deviceId;const a=yield me.AliRTS.getCameraList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.cameraVideoConstraints.deviceId=n}})}setAvailableMicrophoneDeviceId(){return V(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.micAudioConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.micAudioConstraints)==null?void 0:t.deviceId;const a=yield me.AliRTS.getMicList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.micAudioConstraints.deviceId=n}})}createLocalStream(e){return V(this,null,function*(){var g;const{screen:t,mediaStream:i,videoProfile:r,screenProfile:n}=e;let{video:a,audio:o}=e;const u=v0(e);let h;if(u){i||(a===!0&&this.cameraStreamInfo.cameraVideoConstraints?(yield this.setAvailableCameraDeviceId(),a=be({},this.cameraStreamInfo.cameraVideoConstraints)):typeof a=="object"&&(yield this.setAvailableCameraDeviceId(),a=be(be({},a),this.cameraStreamInfo.cameraVideoConstraints)),o===void 0&&this.audioCaptureDisabled?o=!1:o&&(o===!0&&this.cameraStreamInfo.micAudioConstraints?(yield this.setAvailableMicrophoneDeviceId(),o=be({},this.cameraStreamInfo.micAudioConstraints)):typeof o=="object"&&(yield this.setAvailableMicrophoneDeviceId(),o=be(be({},o),this.cameraStreamInfo.micAudioConstraints)),this._audioCaptureDisabled=!1));const f=Date.now();try{h=yield me.AliRTS.createStream({audio:o,video:a,screen:t,custom:!!i,mediaStream:i,skipProfile:!0}),o&&!i&&this.slsReporter.reportAudio(null,Date.now()-f,((g=h==null?void 0:h.audioTrack)==null?void 0:g.label)||""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f)}catch(l){throw o&&!i&&this.slsReporter.reportAudio(l,Date.now()-f,""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f),l}if(t)yield this.screenStreamInfo.updateSource(h,si.Screen,ki.Screen),yield this.setScreenProfile(n),this.setScreenContentHint(),this.publishingScreenVideoStream=void 0;else if(yield this.cameraStreamInfo.updateSource(h,si.Camera,ki.Microphone),h.hasVideo&&(yield this.setVideoProfile(r),this.setVideoContentHint(),this.publishingCameraVideoStream=void 0),h.hasAudio&&typeof o=="boolean"){const l=this.cameraStreamInfo.audioProfile;l&&(yield h.setAudioProfile(l))}}return me.AliRTS.SystenUtil.isIos&&me.AliRTS.SystenUtil.compareVersion("15.1")&&!me.AliRTS.SystenUtil.compareVersion("15.2")&&(yield Xt(1e3)),yield this.updateStreams(),h})}stopLocalStream(e){return V(this,null,function*(){const{screen:t,video:i,audio:r}=e!=null?e:{};let n=!1;i&&this.cameraStreamInfo.originVideoTrack&&(n=!0,this.cameraStreamInfo.stopVideo(),this.publishingCameraVideoStream=void 0),r&&this.cameraStreamInfo.originAudioTrack&&(n=!0,this.cameraStreamInfo.stopAudio()),t&&this.screenStreamInfo.originVideoTrack&&(n=!0,this.screenStreamInfo.stop(),this.publishingScreenVideoStream=void 0,this.slsReporter.reportScreenStop(null)),n&&(yield this.updateStreams())})}get publishStreams(){const{publishLocalVideoStreamEnabled:e,publishLocalAudioStreamEnabled:t,publishLocalScreenStreamEnabled:i}=this;return{video:e?this.cameraStreamInfo.publishVideoStream:void 0,videoSmall:e?this.cameraStreamInfo.publishDualVideoStream:void 0,audio:t?this.cameraStreamInfo.publishAudioStream:void 0,screen:i?this.screenStreamInfo.publishVideoStream:void 0}}createHTTPPublishStream(){return V(this,null,function*(){var o,u,h,g;let e,t=!1,i,r,n;const a=yield this.publishStreams;try{if(!a.audio&&!a.video&&!a.videoSmall&&!a.screen)throw ne.error(`[${ti.logName}]`,"no tracks founded"),new ee(oe.ERR_SDK_PUBLISH_INVAILD,"no tracks founded");const f=new MediaStream;(o=a.audio)!=null&&o.audioTrack&&f.addTrack(a.audio.audioTrack),(u=a.video)!=null&&u.videoTrack?(f.addTrack(a.video.videoTrack),r=a.videoSmall,n=a.screen):(h=a.screen)!=null&&h.videoTrack&&(i=Z.Screen,f.addTrack((g=a.screen)==null?void 0:g.videoTrack),t=!0),e=yield Ca(f),t?(this.screenStreamInfo.cloneVideoProfile(e),this.publishingScreenVideoStream=e):(this.cameraStreamInfo.cloneVideoProfile(e),this.publishingCameraVideoStream=e)}catch(f){}return{publishStream:e,videoSmallStream:r,screenStream:n,vMsid:i}})}stop(){this.cameraStreamInfo.stop(),this.screenStreamInfo.stop()}setVideoProfile(e,t){return V(this,null,function*(){yield this.cameraStreamInfo.updateVideoProfile(e,t),this.publishingCameraVideoStream&&this.cameraStreamInfo.cloneVideoProfile(this.publishingCameraVideoStream)})}setVideoContentHint(e){this.cameraStreamInfo.setVideoContentHint(e)}setAudioProfile(e){return V(this,null,function*(){var t;yield this.cameraStreamInfo.updateAudioProfile(e),yield(t=this.publishingCameraVideoStream)==null?void 0:t.setAudioProfile(e)})}setScreenProfile(e,t){return V(this,null,function*(){yield this.screenStreamInfo.updateVideoProfile(e,t),this.publishingScreenVideoStream&&this.screenStreamInfo.cloneVideoProfile(this.publishingScreenVideoStream)})}setScreenContentHint(e){this.screenStreamInfo.setVideoContentHint(e)}setCameraVideoConstraints(e){var t;this.cameraStreamInfo.cameraVideoConstraints=be(be({},(t=this.cameraStreamInfo.cameraVideoConstraints)!=null?t:{}),e)}setMicAudioConstraints(e){var t;this.cameraStreamInfo.micAudioConstraints=be(be({},(t=this.cameraStreamInfo.micAudioConstraints)!=null?t:{}),e)}},_(ti,"logName","LocalStreamManager"),ti);yt([j(([s])=>{const{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}=s;return[{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}]})],bt.prototype,"createLocalStream",1),yt([j(se)],bt.prototype,"stopLocalStream",1),yt([j()],bt.prototype,"createHTTPPublishStream",1),yt([j()],bt.prototype,"stop",1),yt([j(se)],bt.prototype,"setVideoProfile",1),yt([j(se)],bt.prototype,"setVideoContentHint",1),yt([j(se)],bt.prototype,"setAudioProfile",1),yt([j(se)],bt.prototype,"setScreenProfile",1),yt([j(se)],bt.prototype,"setScreenContentHint",1),yt([j(se)],bt.prototype,"setCameraVideoConstraints",1),yt([j(se)],bt.prototype,"setMicAudioConstraints",1);let N0=bt;var M0=Object.defineProperty,F0=Object.getOwnPropertyDescriptor,At=(s,c,e,t)=>{for(var i=t>1?void 0:t?F0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&M0(c,e,i),i};class ut extends xe{constructor(e){super();_(this,"self");_(this,"userMap",{});_(this,"usersViewMap",{});_(this,"rtsManager");_(this,"localStreamManager");_(this,"authInfo");_(this,"signalingManager");_(this,"pluginManager");_(this,"slsReporter");_(this,"statsMonitorId");_(this,"autoSubAudio",!0);_(this,"autoSubVideo",!0);_(this,"autoSubScreen",!0);_(this,"wantSubAudio",!0);_(this,"wantSubVideo",!0);_(this,"wantSubScreen",!0);_(this,"defaultStreamType",Ye.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"audioVolumeIndicationInterval",0);_(this,"indicationTimer",0);_(this,"parameter",{});const{signalingManager:t,slsReporter:i}=e;this.signalingManager=t,this.addSignalingManagerListener(),this.slsReporter=i,this.pluginManager=new T0,this.localStreamManager=new N0(this.pluginManager,this.slsReporter),this.rtsManager=new Da(this.localStreamManager,this.slsReporter),this.self=new wa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})}addSignalingManagerListener(){this.signalingManager.on("onNotifyPublish",e=>{ne.event("[Signaling] Notify Publish ",e),e.forEach(t=>{this.onRemotePublishStateChange(t)})}),this.signalingManager.stsManager.on("onTokenUpdate",(e,t)=>{ne.updateToken(e),this.slsReporter.updateToken(t,e)})}isAutoSubAudio(){return this.autoSubAudio}setAutoSubAudio(e){this.autoSubAudio=e}isAutoSubVideo(){return this.autoSubVideo}setAutoSubVideo(e){this.autoSubVideo=e}isAutoSubScreen(){return this.autoSubScreen}setAutoSubScreen(e){this.autoSubScreen=e}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e,this.remoteUsers.forEach(t=>{t.setWantSubAudio(e),t.updateSubscribe(Le.User)})}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e,this.remoteUsers.forEach(t=>{t.setWantSubVideo(e),t.updateSubscribe(Le.User)})}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e,this.remoteUsers.forEach(t=>{t.setWantSubScreen(e),t.updateSubscribe(Le.User)})}setRemoteDefaultVideoStreamType(e){this.defaultStreamType=e,this.remoteUsers.forEach(t=>{t.setRemoteDefaultVideoStreamType(e)})}setRemoteUserVideoStreamType(e,t){var i;(i=this.getRemoteUser(e))==null||i.setRemoteDefaultVideoStreamType(t)}setAudioMuted(e){this.audioMuted=e,this.remoteUsers.forEach(t=>{t.setAudioMuted(e)})}setLocalViewConfig(e,t){var r;if(!e)return(r=this.publisher)==null?void 0:r.setViewConfig(null,t);const i=ys(e);i.length!==0&&i.forEach(n=>{var a,o;(a=this.publisher)==null||a.resetElement(n),Object.values(this.usersViewMap).forEach(({cameraViews:u=[],screenViews:h=[]})=>{u.includes(n)&&u.splice(u.indexOf(n),1),h.includes(n)&&h.splice(h.indexOf(n),1)}),(o=this.publisher)==null||o.setViewConfig(i,t)})}setRemoteViewConfig(e,t,i){var n,a;if(!t)return(n=this.userMap[e])==null?void 0:n.setViewConfig(null,i);const r=ys(t);r.length!==0&&(r.forEach(o=>{var u;(u=this.publisher)==null||u.resetElement(o),Object.values(this.usersViewMap).forEach(({cameraViews:h=[],screenViews:g=[]})=>{h.includes(o)&&h.splice(h.indexOf(o),1),g.includes(o)&&g.splice(g.indexOf(o),1)})}),(a=this.userMap[e])==null||a.setViewConfig(r,i))}get channel(){var e;return(e=this.authInfo)==null?void 0:e.channelId}get userId(){var e;return(e=this.authInfo)==null?void 0:e.userId}get remoteUsers(){return Object.values(this.userMap)}get publisher(){return this.self}get isSubscribing(){var e;return((e=this.remoteUsers)!=null?e:[]).some(t=>{const{isAudioSubscribing:i,isVideoSubscribing:r,isScreenSubscribing:n}=t;return i||r||n})}onRemotePublishStateChange(e){var f;const{userid:t,callid:i,subscribe:r,pubid:n="",tracks:a}=e,o=(f=r==null?void 0:r.pullstreamurl)!=null?f:"";let u=this.getRemoteUser(t);if(!u)return;const h=u.streamInfo.audioTrackInfo,g=u.streamInfo.videoTrackInfo;u.updateRemoteTracks(i,o,n,a),u.updateSubscribe(Le.Publish),(h!==u.streamInfo.audioTrackInfo||g!==u.streamInfo.videoTrackInfo)&&this.emit("remoteTrackAvailableChange",t,u.streamInfo.audioTrackInfo,u.streamInfo.videoTrackInfo)}init(e,t){var i;this.authInfo=e,this.self||(this.self=new wa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})),this.self.enableAudioVolumeIndication(this.audioVolumeIndicationInterval),(i=this.self)==null||i.initInfo(e,t.pushstreamurl),t.users.forEach(r=>{const n=r.userid;if(n){const a=this.addUser(n,r.displayname,Le.InRoom),{callid:o,subscribe:u,tracks:h}=r;a.updateRemoteTracks(o,(u==null?void 0:u.pullstreamurl)||"","",h),this.emit("remoteTrackAvailableChange",n,a.streamInfo.audioTrackInfo,a.streamInfo.videoTrackInfo)}}),this.startStatsMonitor()}clear(){return V(this,null,function*(){var e;this.stopStatsMonitor(),this.rtsManager.clear();for(let t in this.userMap)this.userMap[t]&&(yield this.userMap[t].clear(),delete this.userMap[t]);yield(e=this.self)==null?void 0:e.clear(),this.rtsManager=new Da(this.localStreamManager,this.slsReporter),this.authInfo=void 0})}startStatsMonitor(){this.statsMonitorId=window.setInterval(()=>V(this,null,function*(){if(this.publisher){const{audio:i,video:r,candidate:n}=yield this.publisher.getStats();i&&i.length>0&&this.emit("rtcLocalAudioStats",i),r&&r.length>0&&this.emit("rtcLocalVideoStats",r),n&&this.emit("rtcStats",n)}const e=[],t=[];for(const i of this.remoteUsers){const{audio:r,video:n}=yield i.getStats();r&&r.forEach(a=>{e.push(a)}),n&&n.forEach(a=>{t.push(a)})}e.length>0&&this.emit("rtcRemoteAudioStats",e),t.length>0&&this.emit("rtcRemoteVideoStats",t)}),2e3)}stopStatsMonitor(){this.statsMonitorId&&clearInterval(this.statsMonitorId)}addUser(e,t,i){return this.userMap[e]||(this.userMap[e]=this.executeAddUser(e,t,i)),this.userMap[e]}executeAddUser(e,t,i){const r=new D0({userId:e,displayName:t,rtsManager:this.rtsManager,signalingManager:this.signalingManager,usersViewMap:this.usersViewMap,slsReporter:this.slsReporter,localUser:this.self,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,playoutVolume:this.playoutVolume,parameter:this.parameter});return r.on(it.Remote,this.onRemoteDeviceStatusChange.bind(this)),r.on(Re.PullStreamStats,this.onRemoteStatReport.bind(this)),r.on(Re.RtsSubscribeExceeds,this.onSubscribeExceeds.bind(this)),r.on("audioSubscribeStateChanged",(n,a,o,u)=>{this.emit("audioSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("videoSubscribeStateChanged",(n,a,o,u)=>{this.emit("videoSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("screenSubscribeStateChanged",(n,a,o,u)=>{this.emit("screenSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("dataSubscribeStateChanged",(n,a,o,u)=>{this.emit("dataSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("remoteAudioAutoPlayFail",n=>{this.emit("remoteAudioAutoPlayFail",n)}),r.on("remoteVideoAutoPlayFail",(n,a)=>{this.emit("remoteVideoAutoPlayFail",n,a)}),r.on("remoteAudioPlayError",(n,a)=>{this.emit("remoteAudioPlayError",n,a)}),r.on("remoteVideoPlayError",(n,a)=>{this.emit("remoteVideoPlayError",n,a)}),r.on("remoteSubscribeError",n=>{this.emit("remoteSubscribeError",n)}),r.on("remoteDataChannelMessage",(n,a)=>{this.emit("remoteDataChannelMessage",n,a)}),r.setWantSubAudio(this.autoSubAudio&&this.wantSubAudio),r.setWantSubVideo(this.autoSubVideo&&this.wantSubVideo),r.setWantSubScreen(this.autoSubScreen&&this.wantSubScreen),r.setRemoteDefaultVideoStreamType(this.defaultStreamType),r.setAudioMuted(this.audioMuted),(this.autoSubAudio||this.autoSubVideo||this.autoSubScreen)&&r.updateSubscribe(i),r}onRemoteDeviceStatusChange(e,t){e===Re.MuteAudio?this.emit("userAudioMuted",t,!0):e===Re.UnmuteAudio?this.emit("userAudioMuted",t,!1):e===Re.MuteVideo?this.emit("userVideoMuted",t,!0):e===Re.UnmuteVideo?this.emit("userVideoMuted",t,!1):e===Re.MuteScreen?this.emit("userScreenMuted",t,!0):e===Re.UnmuteScreen&&this.emit("userScreenMuted",t,!1)}onRemoteStatReport(e,t,i){this.emit(Re.PullStreamStats,e,t,i)}onSubscribeExceeds(e,t){this.emit(Re.RtsSubscribeExceeds,e,t)}removeLeftUser(e){return V(this,null,function*(){e.userid&&this.userMap[e.userid]&&(yield this.userMap[e.userid].clear(!1),delete this.userMap[e.userid])})}updateUsers(e){const t=[],i=[],r={};e.forEach(o=>{o.userid&&(this.userMap[o.userid]?(i.push(o),r[o.userid]=this.userMap[o.userid]):(t.push(o),r[o.userid]=this.executeAddUser(o.userid,o.displayname,Le.Resume)))});const n=Object.keys(this.userMap),a=[];return n.forEach(o=>{r[o]||a.push({userid:o,reason:"",leavecode:gs.AliRtcUserOfflineQuit})}),this.userMap=r,{joinList:t,leaveList:a,presentList:i}}getRemoteUser(e){return this.userMap[e]}updateRemoteUserDeviceStatus(e){e&&e.userid&&this.userMap[e.userid]&&this.userMap[e.userid].updateRemoteUserDeviceStatus(e.status)}updateAudioWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubAudio(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({audio:!0})}updateVideoWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubVideo(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({video:!0})}updateScreenWant(e,t){const i=this.userMap[e];if(!i)throw new ee(oe.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubScreen(t),t?i.updateSubscribe(Le.User):i.stopSubscribe({screen:!0})}stopIndication(){this.indicationTimer&&window.clearInterval(this.indicationTimer)}startIndication(e){this.stopIndication(),this.indicationTimer=window.setInterval(()=>{var i;const t=this.remoteUsers.map(r=>({userId:r.userId,volume:r.getAudioLevel()||0}));t.unshift({userId:"",volume:((i=this.self)==null?void 0:i.getAudioLevel())||0}),this.emit("audioVolume",t)},e)}enableAudioVolumeIndication(e){var t;this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.stopIndication(),e>0&&this.startIndication(e),this.audioVolumeIndicationInterval=e,this.remoteUsers.forEach(i=>{i.enableAudioVolumeIndication(e)}),(t=this.self)==null||t.enableAudioVolumeIndication(e))}setPlayoutVolume(e){this.playoutVolume=e,this.remoteUsers.forEach(t=>{t.setPlayoutVolume(e)})}refreshAuthInfo(e){var t;this.authInfo&&(this.authInfo=be(be({},this.authInfo),e)),e.userId&&((t=this.self)==null||t.refreshUserInfo(e.userId))}setEnableMediaExtensionMsg(e){this.rtsManager.setEncodedInsertableStreams(e)}setAudioRedEnabled(e){this.rtsManager.setAudioRedEnabled(e)}setParameter(e){const t=JSON.parse(e);Object.keys(t).forEach(i=>{const r=this.parameter[i],n=t[i];typeof r=="object"&&typeof n=="object"?this.parameter[i]=be(be({},r),n):this.parameter[i]=n})}getParameter(){return JSON.stringify(this.parameter)}sendDataChannelMessage(e){var t;return(t=this.self)==null?void 0:t.sendDataChannelMessage(e)}}_(ut,"logName","BizControl"),At([j()],ut.prototype,"init",1),At([j()],ut.prototype,"clear",1),At([j(se)],ut.prototype,"addUser",1),At([j()],ut.prototype,"removeLeftUser",1),At([j()],ut.prototype,"updateUsers",1),At([j(se)],ut.prototype,"updateAudioWant",1),At([j(se)],ut.prototype,"updateVideoWant",1),At([j(se)],ut.prototype,"updateScreenWant",1),At([j()],ut.prototype,"stopIndication",1),At([j()],ut.prototype,"startIndication",1),At([j()],ut.prototype,"enableAudioVolumeIndication",1);const Is=s=>V(this,null,function*(){const c=new Uint8Array(160).fill(170),e=new TextEncoder().encode(s),t=yield window.crypto.subtle.importKey("raw",c,{name:"HMAC",hash:{name:"SHA-1"}},!1,["sign"]),i=yield window.crypto.subtle.sign("HMAC",t,e);return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")});class O0{constructor(c){_(this,"authInfo");_(this,"slsReporter");this.slsReporter=c}doRequest(c,e){var u;const t=this.authInfo;if(!t)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const i="https://gw.rtn.aliyuncs.com",r=Zc[c],n={appid:t.appId,userid:t.userId,channelid:t.channelId,timestamp:t.timestamp,token:t.token,nonce:t.nonce?t.nonce:"",requestid:_t.createCallid(),tokensid:!1,session:(u=t.sessionId)!=null?u:_t.createCallid()},a=Object.keys(n).map(h=>`${h}=${encodeURIComponent(n[h])}`).join("&"),o=`${i}${r}?${a}`;return fetch(o,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(e)}).then(h=>h.status!==200?(this.slsReporter.reportTranscodingError(h.status,e.taskid||""),Promise.reject(new ee(oe.ERR_INNER,`transcoding request failed, status: ${h.status}`))):h).catch(h=>Promise.reject(new ee(oe.ERR_INNER,`transcoding request failed, err: ${h.message}`)))}setAuthInfo(c){this.authInfo=c}clear(){this.authInfo=void 0}startPublishLiveStream(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=yield Is(c.split("?")[0]),i=at.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}startPublishLiveStreamWithTaskId(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=at.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}updatePublishLiveStream(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=yield Is(c.split("?")[0]),i=at.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}updatePublishLiveStreamWithTaskId(c,e){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const t=at.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}stopPublishLiveStream(c){return V(this,null,function*(){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const e=yield Is(c.split("?")[0]),t=at.MPU_TASK_TRANSACTION_STOP,i=new ji().toJson(t,this.authInfo,e,c);return this.doRequest(t,i)})}stopPublishLiveStreamWithTaskId(c){if(!this.authInfo)return Promise.reject(wt.LiveTranscodingErrorInvalidParam);const e=at.MPU_TASK_TRANSACTION_STOP,t=new ji().toJson(e,this.authInfo,c);return this.doRequest(e,t)}refreshAuthInfo(c){this.authInfo&&this.setAuthInfo(be(be({},this.authInfo),c))}}class Ta{constructor(c){_(this,"name","COMMON");this.name=c||this.name}info(...c){}warn(...c){}print(c,...e){const t=c.toLowerCase();t&&console[t](`[${c}][${this.name}]`,...e)}}_(Ta,"LEVEL",0);class V0{constructor(){_(this,"logger",new Ta("AudioMixer"));_(this,"audioContext",new AudioContext);_(this,"audioDestination",this.audioContext.createMediaStreamDestination());_(this,"audioTrack",l0(this.audioDestination.stream));_(this,"sourceNodeMap",{})}get sourceNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.sourceNode).filter(c=>!!c)}get gainNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.gainNode).filter(c=>!!c)}get sourceCount(){return this.sourceNodeList.length}resume(){var c;return(c=this.audioContext)==null?void 0:c.resume()}addTrack(c){this.connectTrack(c)}hasTrack(c){return!!this.sourceNodeMap[c]}removeTrack(c){const{sourceNode:e,gainNode:t}=this.sourceNodeMap[c]||{};t==null||t.disconnect(),e==null||e.disconnect(),delete this.sourceNodeMap[c],e?this.logger.info("SourceNode disconnected. Active source node:",this.sourceNodeList.length):this.logger.warn(`SourceNode ${c} does not exit. Active source node: ${this.sourceNodeList.length}`)}getAudioTrack(){return this.audioTrack}setVolume(c,e){const{gainNode:t}=this.sourceNodeMap[e]||{};t?(this.logger.info(`Setting node(${e}) volume to ${this.scale(c)}`),t.gain.value=this.scale(c)):this.logger.warn(`GainNode ${e} does not exit.`)}reset(){this.disconnectSourceNode(),this.sourceNodeMap={}}dispose(){var c;this.reset(),(c=this.audioTrack)==null||c.stop(),this.audioDestination.disconnect(),this.audioContext.close()}connectTrack(c){if(!this.audioContext)return this.logger.warn("AudioContext not initialized");let e=new MediaStream;e.addTrack(c);const t=this.audioContext.createMediaStreamSource(e),i=this.audioContext.createGain();i.gain.value=1,t.connect(i),i.connect(this.audioDestination),this.sourceNodeMap[c.id]={track:c,sourceNode:t,gainNode:i},this.logger.info("New sourceNode connected. Active source node:",this.sourceNodeList.length)}disconnectSourceNode(){this.sourceNodeList.forEach(c=>c.disconnect()),this.gainNodeList.forEach(c=>c.disconnect())}scale(c){return c/100}}const U0=4;class z0 extends Gt{constructor(){super("audioMixer",He.AliRtcSdkStreamTypeCapture,vi.AUDIO);_(this,"audioMixer");_(this,"primaryAudioTrackId");_(this,"screenAudioTrackId");_(this,"dirty",!1);this.zIndex=8}get initOptions(){return{audio:1,screen:1}}setOptions(e){Object.entries(e).forEach(([t,i])=>{this.isValidVolume(i)&&(this.options[t]=i)}),this.dirty=!0,this.emit("updated")}isSupported(){return"AudioContext"in window}shouldUpdate(e,t){var n,a;if(e.type!==He.AliRtcSdkStreamTypeCapture)return!1;const i=t.find(o=>o.type===He.AliRtcSdkStreamTypeCapture),r=t.find(o=>o.type===He.AliRtcSdkStreamTypeScreen);return!(this.primaryAudioTrackId===((n=i==null?void 0:i.currentAudioTrack)==null?void 0:n.id)&&this.screenAudioTrackId===((a=r==null?void 0:r.currentAudioTrack)==null?void 0:a.id)&&!this.dirty)}process(e,t){return V(this,null,function*(){var a,o;this.dirty=!1;const i=t.find(u=>u.type===He.AliRtcSdkStreamTypeScreen),r=e.currentAudioTrack,n=i==null?void 0:i.currentAudioTrack;if(!n&&this.options.audio===1){this.audioMixer&&(this.audioMixer.dispose(),this.audioMixer=void 0),this.primaryAudioTrackId=r==null?void 0:r.id,e.updateAudioTrack(r);return}this.audioMixer||(this.audioMixer=new V0),yield this.audioMixer.resume(),this.primaryAudioTrackId&&(r==null?void 0:r.id)!==this.primaryAudioTrackId&&((a=this.audioMixer)==null||a.removeTrack(this.primaryAudioTrackId)),r&&!this.audioMixer.hasTrack(r==null?void 0:r.id)&&this.audioMixer.addTrack(r),this.primaryAudioTrackId=r==null?void 0:r.id,this.screenAudioTrackId&&(n==null?void 0:n.id)!==this.screenAudioTrackId&&((o=this.audioMixer)==null||o.removeTrack(this.screenAudioTrackId)),n&&!this.audioMixer.hasTrack(n==null?void 0:n.id)&&this.audioMixer.addTrack(n),this.screenAudioTrackId=n==null?void 0:n.id,this.updateVolume(),e.updateAudioTrack(this.audioMixer.getAudioTrack())})}isValidVolume(e){return e!==void 0&&e>=0&&e<=U0}updateVolume(){this.audioMixer&&(this.primaryAudioTrackId&&this.audioMixer.setVolume(this.options.audio*100,this.primaryAudioTrackId),this.screenAudioTrackId&&this.audioMixer.setVolume(this.options.screen*100,this.screenAudioTrackId))}clear(e){var t;(t=this.audioMixer)==null||t.dispose(),super.clear(e)}}class Rs{constructor(c,e){_(this,"originTrack");_(this,"originVideo");_(this,"targetWidth");_(this,"targetHeight");_(this,"targetFrameRate");_(this,"targetCanvas");_(this,"animationFrameId");_(this,"resultTrack");this.targetWidth=e.width,this.targetHeight=e.height,this.targetFrameRate=e.frameRate,this.originTrack=c,this.originVideo=document.createElement("video"),this.originVideo.muted=!0,this.originVideo.autoplay=!0,this.originVideo.controls=!1,this.targetCanvas=document.createElement("canvas"),this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight}updateOptions(c){this.targetWidth=c.width,this.targetHeight=c.height,this.targetFrameRate=c.frameRate,this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight,this.resultTrack&&this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})}dispose(){}getVideoTrack(){return this.resultTrack||(this.resultTrack=this.targetCanvas.captureStream().getVideoTracks()[0],this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})),this.resultTrack}cancelAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}getPositionAndSize(c,e,t,i){const r=e/c,n=i/t;let a=t,o=i,u=0,h=0;return n>r?(a=Math.round(o/r),u=Math.round((t-a)/2)):n<r&&(o=Math.round(a*r),h=Math.round((i-o)/2)),{x:u,y:h,width:a,height:o}}}class H0 extends Rs{constructor(e,t){super(e,t);_(this,"targetCtx");this.targetCtx=this.targetCanvas.getContext("2d"),this.startRender=this.startRender.bind(this),this.stopRender=this.startRender.bind(this),this.initStream(e)}initStream(e){const t=new MediaStream;t.addTrack(e),this.originVideo.srcObject=t,this.originVideo.play(),this.originVideo.addEventListener("canplay",this.startRender),this.originVideo.addEventListener("pause",this.stopRender),this.originVideo.addEventListener("ended",this.stopRender)}startRender(){this.cancelAnimation();const e=()=>{if(!this.targetCtx)return;const t=this.getPositionAndSize(this.originVideo.videoWidth,this.originVideo.videoHeight,this.targetWidth,this.targetHeight);this.targetCtx.drawImage(this.originVideo,0,0,this.originVideo.videoWidth,this.originVideo.videoHeight,t.x,t.y,t.width,t.height),!this.originVideo.paused&&!this.originVideo.ended&&(this.animationFrameId=requestAnimationFrame(e))};e()}stopRender(){this.cancelAnimation()}dispose(){this.stopRender(),this.originVideo.removeEventListener("play",this.startRender),this.originVideo.removeEventListener("pause",this.stopRender),this.originVideo.removeEventListener("ended",this.stopRender),this.originVideo.pause(),this.originVideo.srcObject=null}}const j0=`
40
40
  attribute vec2 a_position;
41
41
  attribute vec2 a_texCoord;
42
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aliyun-rtc-sdk",
3
- "version": "6.12.0-beta.2",
3
+ "version": "6.12.0-beta.3",
4
4
  "type": "module",
5
5
  "description": "rtc web sdk of aliyun",
6
6
  "main": "dist/aliyun-rtc-sdk.js",