ue-softphone-sdk 3.0.16 → 3.0.17

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.
@@ -4,4 +4,4 @@
4
4
  * (c) 2014-2023 Guillermo Rauch
5
5
  * Released under the MIT License.
6
6
  */
7
- const a=Object.create(null);a.open="0",a.close="1",a.ping="2",a.pong="3",a.message="4",a.upgrade="5",a.noop="6";const c=Object.create(null);Object.keys(a).forEach((e=>{c[a[e]]=e}));const u={type:"error",data:"parser error"},l="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),h="function"==typeof ArrayBuffer,p=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f=({type:e,data:t},s,n)=>l&&t instanceof Blob?s?n(t):d(t,n):h&&(t instanceof ArrayBuffer||p(t))?s?n(t):d(new Blob([t]),n):n(a[e]+(t||"")),d=(e,t)=>{const s=new FileReader;return s.onload=function(){const e=s.result.split(",")[1];t("b"+(e||""))},s.readAsDataURL(e)};function g(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let m;const y="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)y["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(e)]=e;const b="function"==typeof ArrayBuffer,v=(e,t)=>{if("string"!=typeof e)return{type:"message",data:T(e,t)};const s=e.charAt(0);return"b"===s?{type:"message",data:k(e.substring(1),t)}:c[s]?e.length>1?{type:c[s],data:e.substring(1)}:{type:c[s]}:u},k=(e,t)=>{if(b){const s=(e=>{let t,s,n,o,i,r=.75*e.length,a=e.length,c=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);const u=new ArrayBuffer(r),l=new Uint8Array(u);for(t=0;t<a;t+=4)s=y[e.charCodeAt(t)],n=y[e.charCodeAt(t+1)],o=y[e.charCodeAt(t+2)],i=y[e.charCodeAt(t+3)],l[c++]=s<<2|n>>4,l[c++]=(15&n)<<4|o>>2,l[c++]=(3&o)<<6|63&i;return u})(e);return T(s,t)}return{base64:!0,data:e}},T=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,w=String.fromCharCode(30);function I(){return new TransformStream({transform(e,t){!function(e,t){l&&e.data instanceof Blob?e.data.arrayBuffer().then(g).then(t):h&&(e.data instanceof ArrayBuffer||p(e.data))?t(g(e.data)):f(e,!1,(e=>{m||(m=new TextEncoder),t(m.encode(e))}))}(e,(s=>{const n=s.length;let o;if(n<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,n);else if(n<65536){o=new Uint8Array(3);const e=new DataView(o.buffer);e.setUint8(0,126),e.setUint16(1,n)}else{o=new Uint8Array(9);const e=new DataView(o.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(n))}e.data&&"string"!=typeof e.data&&(o[0]|=128),t.enqueue(o),t.enqueue(s)}))}})}let O;function A(e){return e.reduce(((e,t)=>e+t.length),0)}function _(e,t){if(e[0].length===t)return e.shift();const s=new Uint8Array(t);let n=0;for(let o=0;o<t;o++)s[o]=e[0][n++],n===e[0].length&&(e.shift(),n=0);return e.length&&n<e[0].length&&(e[0]=e[0].slice(n)),s}function E(e){if(e)return function(e){for(var t in E.prototype)e[t]=E.prototype[t];return e}(e)}E.prototype.on=E.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},E.prototype.once=function(e,t){function s(){this.off(e,s),t.apply(this,arguments)}return s.fn=t,this.on(e,s),this},E.prototype.off=E.prototype.removeListener=E.prototype.removeAllListeners=E.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<n.length;o++)if((s=n[o])===t||s.fn===t){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},E.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),s=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(s){n=0;for(var o=(s=s.slice(0)).length;n<o;++n)s[n].apply(this,t)}return this},E.prototype.emitReserved=E.prototype.emit,E.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},E.prototype.hasListeners=function(e){return!!this.listeners(e).length};const C="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function S(e,...t){return t.reduce(((t,s)=>(e.hasOwnProperty(s)&&(t[s]=e[s]),t)),{})}const N=C.setTimeout,R=C.clearTimeout;function P(e,t){t.useNativeTimers?(e.setTimeoutFn=N.bind(C),e.clearTimeoutFn=R.bind(C)):(e.setTimeoutFn=C.setTimeout.bind(C),e.clearTimeoutFn=C.clearTimeout.bind(C))}class q extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class B extends E{constructor(e){super(),this.writable=!1,P(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new q(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=v(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let s in e)e.hasOwnProperty(s)&&(t.length&&(t+="&"),t+=encodeURIComponent(s)+"="+encodeURIComponent(e[s]));return t}(e);return t.length?"?"+t:""}}const x="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),L=64,U={};let M,F=0,j=0;function D(e){let t="";do{t=x[e%L]+t,e=Math.floor(e/L)}while(e>0);return t}function z(){const e=D(+new Date);return e!==M?(F=0,M=e):e+"."+D(F++)}for(;j<L;j++)U[x[j]]=j;let W=!1;try{W="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(a){}const K=W;function H(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||K))return new XMLHttpRequest}catch(e){}if(!t)try{return new(C[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function V(){}const G=null!=new H({xdomain:!1}).responseType;class Q extends E{constructor(e,t){super(),P(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=S(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const s=this.xhr=new H(t);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&s.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{s.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var e;3===s.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},s.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=Q.requestsCount++,Q.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=V,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete Q.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}function J(){for(let e in Q.requests)Q.requests.hasOwnProperty(e)&&Q.requests[e].abort()}Q.requestsCount=0,Q.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",J):"function"==typeof addEventListener&&addEventListener("onpagehide"in C?"pagehide":"unload",J,!1));const Y="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),$=C.WebSocket||C.MozWebSocket,X="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Z={websocket:class extends B{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=X?{}:S(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=X?new $(e,t,s):t?new $(e,t):new $(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;f(s,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}n&&Y((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!$}},webtransport:class extends B{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=function(e,t){O||(O=new TextDecoder);const s=[];let n=0,o=-1,i=!1;return new TransformStream({transform(r,a){for(s.push(r);;){if(0===n){if(A(s)<1)break;const e=_(s,1);i=128==(128&e[0]),o=127&e[0],n=o<126?3:126===o?1:2}else if(1===n){if(A(s)<2)break;const e=_(s,2);o=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),n=3}else if(2===n){if(A(s)<8)break;const e=_(s,8),t=new DataView(e.buffer,e.byteOffset,e.length),i=t.getUint32(0);if(i>Math.pow(2,21)-1){a.enqueue(u);break}o=i*Math.pow(2,32)+t.getUint32(4),n=3}else{if(A(s)<o)break;const e=_(s,o);a.enqueue(v(i?e:O.decode(e),t)),n=0}if(0===o||o>e){a.enqueue(u);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),n=I();n.readable.pipeTo(e.writable),this.writer=n.writable.getWriter();const o=()=>{s.read().then((({done:e,value:t})=>{e||(this.onPacket(t),o())})).catch((e=>{}))};o();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this.writer.write(i).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;this.writer.write(s).then((()=>{n&&Y((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends B{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let s=location.port;s||(s=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||s!==e.port}const t=e&&e.forceBase64;this.supportsBinary=G&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const s=e.split(w),n=[];for(let e=0;e<s.length;e++){const o=v(s[e],t);if(n.push(o),"error"===o.type)break}return n})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const s=e.length,n=new Array(s);let o=0;e.forEach(((e,i)=>{f(e,!1,(e=>{n[i]=e,++o===s&&t(n.join(w))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Q(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},ee=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,te=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function se(e){const t=e,s=e.indexOf("["),n=e.indexOf("]");-1!=s&&-1!=n&&(e=e.substring(0,s)+e.substring(s,n).replace(/:/g,";")+e.substring(n,e.length));let o=ee.exec(e||""),i={},r=14;for(;r--;)i[te[r]]=o[r]||"";return-1!=s&&-1!=n&&(i.source=t,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=function(e,t){const s=t.replace(/\/{2,9}/g,"/").split("/");return"/"!=t.slice(0,1)&&0!==t.length||s.splice(0,1),"/"==t.slice(-1)&&s.splice(s.length-1,1),s}(0,i.path),i.queryKey=function(e,t){const s={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(s[t]=n)})),s}(0,i.query),i}class ne extends E{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=se(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=se(t.host).host),P(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},s=e.split("&");for(let e=0,n=s.length;e<n;e++){let n=s[e].split("=");t[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Z[e](s)}open(){let e;if(this.opts.rememberUpgrade&&ne.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),s=!1;ne.priorWebsocketSuccess=!1;const n=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!s)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;ne.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{s||"closed"!==this.readyState&&(u(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function o(){s||(s=!0,u(),t.close(),t=null)}const i=e=>{const s=new Error("probe error: "+e);s.transport=t.name,o(),this.emitReserved("upgradeError",s)};function r(){i("transport closed")}function a(){i("socket closed")}function c(e){t&&e.name!==t.name&&o()}const u=()=>{t.removeListener("open",n),t.removeListener("error",i),t.removeListener("close",r),this.off("close",a),this.off("upgrading",c)};t.once("open",n),t.once("error",i),t.once("close",r),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{s||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",ne.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let s=0;s<this.writeBuffer.length;s++){const n=this.writeBuffer[s].data;if(n&&(e+="string"==typeof(t=n)?function(e){let t=0,s=0;for(let n=0,o=e.length;n<o;n++)t=e.charCodeAt(n),t<128?s+=1:t<2048?s+=2:t<55296||t>=57344?s+=3:(n++,s+=4);return s}(t):Math.ceil(1.33*(t.byteLength||t.size))),s>0&&e>this.maxPayload)return this.writeBuffer.slice(0,s);e+=2}var t;return this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,n){if("function"==typeof t&&(n=t,t=void 0),"function"==typeof s&&(n=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const o={type:e,data:t,options:s};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():e()})):this.upgrading?s():e()),this}onError(e){ne.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const n=e.length;for(;s<n;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}ne.protocol=4;const oe="function"==typeof ArrayBuffer,ie=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,re=Object.prototype.toString,ae="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===re.call(Blob),ce="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===re.call(File);function ue(e){return oe&&(e instanceof ArrayBuffer||ie(e))||ae&&e instanceof Blob||ce&&e instanceof File}function le(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,s=e.length;t<s;t++)if(le(e[t]))return!0;return!1}if(ue(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return le(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&le(e[t]))return!0;return!1}function he(e){const t=[],s=e.data,n=e;return n.data=pe(s,t),n.attachments=t.length,{packet:n,buffers:t}}function pe(e,t){if(!e)return e;if(ue(e)){const s={_placeholder:!0,num:t.length};return t.push(e),s}if(Array.isArray(e)){const s=new Array(e.length);for(let n=0;n<e.length;n++)s[n]=pe(e[n],t);return s}if("object"==typeof e&&!(e instanceof Date)){const s={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=pe(e[n],t));return s}return e}function fe(e,t){return e.data=de(e.data,t),delete e.attachments,e}function de(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=de(e[s],t);else if("object"==typeof e)for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(e[s]=de(e[s],t));return e}const ge=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var me;function ye(e){return"[object Object]"===Object.prototype.toString.call(e)}!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(me||(me={}));class be extends E{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===me.BINARY_EVENT;s||t.type===me.BINARY_ACK?(t.type=s?me.EVENT:me.ACK,this.reconstructor=new ve(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ue(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(void 0===me[s.type])throw new Error("unknown packet type "+s.type);if(s.type===me.BINARY_EVENT||s.type===me.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(n,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");s.attachments=Number(o)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t&&","!==e.charAt(t)&&t!==e.length;);s.nsp=e.substring(n,t)}else s.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const s=e.charAt(t);if(null==s||Number(s)!=s){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!be.isPayloadValid(s.type,n))throw new Error("invalid payload");s.data=n}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case me.CONNECT:return ye(t);case me.DISCONNECT:return void 0===t;case me.CONNECT_ERROR:return"string"==typeof t||ye(t);case me.EVENT:case me.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===ge.indexOf(t[0]));case me.ACK:case me.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ve{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=fe(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var ke=Object.freeze({__proto__:null,protocol:5,get PacketType(){return me},Encoder:class{constructor(e){this.replacer=e}encode(e){return e.type!==me.EVENT&&e.type!==me.ACK||!le(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===me.EVENT?me.BINARY_EVENT:me.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==me.BINARY_EVENT&&e.type!==me.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=he(e),s=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(s),n}},Decoder:be});function Te(e,t,s){return e.on(t,s),function(){e.off(t,s)}}const we=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ie extends E{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[Te(e,"open",this.onopen.bind(this)),Te(e,"packet",this.onpacket.bind(this)),Te(e,"error",this.onerror.bind(this)),Te(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(we.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const s={type:me.EVENT,data:t,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,n=t.pop();this._registerAckCallback(e,n),s.id=e}const n=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!n||!this.connected)||(this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var s;const n=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===n)return void(this.acks[e]=t);const o=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),n);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(o),t.apply(this,[null,...e])}}emitWithAck(e,...t){const s=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((n,o)=>{t.push(((e,t)=>s?e?o(e):n(t):n(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...n)=>{if(s===this._queue[0])return null!==e?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:me.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case me.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case me.EVENT:case me.BINARY_EVENT:this.onevent(e);break;case me.ACK:case me.BINARY_ACK:this.onack(e);break;case me.DISCONNECT:this.ondisconnect();break;case me.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...n){s||(s=!0,t.packet({type:me.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:me.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function Oe(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Oe.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),s=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-s:e+s}return 0|Math.min(e,this.max)},Oe.prototype.reset=function(){this.attempts=0},Oe.prototype.setMin=function(e){this.ms=e},Oe.prototype.setMax=function(e){this.max=e},Oe.prototype.setJitter=function(e){this.jitter=e};class Ae extends E{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,P(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=t.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new Oe({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||ke;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new ne(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=Te(t,"open",(function(){s.onopen(),e&&e()})),o=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},i=Te(t,"error",o);if(!1!==this._timeout){const e=this._timeout,s=this.setTimeoutFn((()=>{n(),o(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(n),this.subs.push(i),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Te(e,"ping",this.onping.bind(this)),Te(e,"data",this.ondata.bind(this)),Te(e,"error",this.onerror.bind(this)),Te(e,"close",this.onclose.bind(this)),Te(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){Y((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ie(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const e of t)if(this.nsps[e].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const _e={};function Ee(e,t){"object"==typeof e&&(t=e,e=void 0);const s=function(e,t="",s){let n=e;s=s||"undefined"!=typeof location&&location,null==e&&(e=s.protocol+"//"+s.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?s.protocol+e:s.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==s?s.protocol+"//"+e:"https://"+e),n=se(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const o=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+o+":"+n.port+t,n.href=n.protocol+"://"+o+(s&&s.port===n.port?"":":"+n.port),n}(e,(t=t||{}).path||"/socket.io"),n=s.source,o=s.id,i=s.path,r=_e[o]&&i in _e[o].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||r?a=new Ae(n,t):(_e[o]||(_e[o]=new Ae(n,t)),a=_e[o]),s.query&&!t.query&&(t.query=s.queryKey),a.socket(s.path,t)}Object.assign(Ee,{Manager:Ae,Socket:Ie,io:Ee,connect:Ee});var Ce={notOpenAudioMsg:"麦克风没有开启",notOpenAudioCode:403,notOpenAudioMsgEn:"Permission dismissed"},Se={forbiddenAudioMsg:"请先检查您的麦克风是否开启",forbiddenAudioCode:0,forbiddenAudioMsgEn:"Permission denied"},Ne={requestState:!1,delay:0},Re=function(){function a(e){void 0===e&&(e={});var t=this;this.getWebrtcInfo=function(e,t){c.request(e+"/call/api/sip/webrtc/config/query",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){e.success&&e.data?(c.agentextras=e.data,c.initWebrtcEvent(e.data)):t.error(o({},e))},error:function(e){t.error({error:e})}})},this.initAttachEvent=function(e,s,n,o,i){t.attachEventCallbacks&&c.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){if(e&&e.data){var r="";n.forEach((function(e){"KF"===e.id&&(r=e.url)})),t.attachEventCallbacks.serve=r,t.attachEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:1,pushHangupStatistics:c.initOptions.pushHangupStatistics||!1,pushCallinRingStatistics:c.initOptions.pushCallinRingStatistics||!1},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachEventCallbacks.suc=i,c.createEventHandle(t.attachEventCallbacks)}},error:function(e){n.error({error:e})}})},this.attachNetworkCallbacks={message:c.noop,error:c.noop,success:c.noop},this.initnNetworkMonitoring=function(e,s){var n="";e.forEach((function(e){if("MONITOR"===e.id){var t=document.location.protocol;"file:"===t&&(t="https:"),n=t+"//"+e.url}})),t.attachNetworkCallbacks.success(),t.attachNetworkCallbacks.message({delay:100}),setInterval((function(){var e=(new Date).getTime();Ne.requestState=!0,c.request(n+"/ready",{method:"GET",success:function(s){if(s.success){var n=(new Date).getTime();Ne.delay=(n-e)/2,t.attachNetworkCallbacks.message({delay:Ne.delay})}else t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1},error:function(e){t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1}})}),1e4)},this.listenCallNetork=function(e){e&&(t.attachNetworkCallbacks.message=e.message&&"function"==typeof e.message?e.message:c.noop,t.attachNetworkCallbacks.success=e.success&&"function"==typeof e.success?e.success:c.noop,t.attachNetworkCallbacks.error=e.error&&"function"==typeof e.error?e.error:c.noop)},this.initAgentQueue=function(e,s,n,o,i){(t.attachMonitorEventCallbacks||t.attachNlsTranslationEventCallbacks)&&c.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){if(e&&e.data){var r="";n.forEach((function(e){"MONITOR"===e.id&&(r=e.url)})),t.attachMonitorEventCallbacks&&c.UserConfig.isOpenCallQueue&&(t.attachMonitorEventCallbacks.serve=r,t.attachMonitorEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:3},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachMonitorEventCallbacks.suc=i,c.createQueueMonitorEventHandle(t.attachMonitorEventCallbacks)),t.attachNlsTranslationEventCallbacks&&c.UserConfig.openNlsTranslation&&(t.attachNlsTranslationEventCallbacks.serve=r,t.attachNlsTranslationEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:3},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachNlsTranslationEventCallbacks.suc=i,c.createopenNlsTransEventHandle(t.attachNlsTranslationEventCallbacks))}},error:function(e){console.log("失败",e),n.error({error:e})}})},this.initQueue=function(e){c.request(e+"/call/monitor/agent/queue/query",{verb:"POST",body:{accountId:c.agentInfo.accountId,agentId:c.agentInfo._id},success:function(e){e&&e.data?t.attachMonitorEventCallbacks.message(e):t.attachMonitorEventCallbacks.error(e)},error:function(e){t.attachMonitorEventCallbacks.error(e)}})},this.listenCallQueueEvent=function(e){t.attachMonitorEventCallbacks=e},this.listenTranslationEvent=function(e){t.attachNlsTranslationEventCallbacks=e},this.openMediaAudio=function(e,t){var s=navigator,n=s.mediaDevices,o=s.getUserMedia,i=s.webkitGetUserMedia,r=s.mozGetUserMedia,a=s.msGetUserMedia,c=(o||i||r||a).bind(navigator);return n?navigator.mediaDevices.getUserMedia({audio:!0}).catch((function(s){var n=s.message.includes("denied");return t?(n&&alert(Se.forbiddenAudioMsg),e&&!n&&alert(e),n?Se:Ce):n?Se:Ce})):new Promise((function(s,n){c?c({audio:!0},(function(e){s(!0)}),(function(s){t&&e&&alert(e),n(Ce)})):n(Ce)}))},this.listenCallEvent=function(e){t.attachEventCallbacks=e},this._callApi=function(){var e,s,n=t;return{callout:function(t){return i(this,void 0,void 0,(function(){var i,a,u,l,h,p;return r(this,(function(r){switch(r.label){case 0:if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null===c.loginToken||void 0===c.loginToken)return t.fail({success:!1,message:"initialization not complete!"}),[2];if("KICK_OFF"===c.loginToken)return t.fail({success:!1,message:"您的座席账号正在别处登录,当前页面电话条已退出。"}),[2];if(null===c.agentInfo||void 0===c.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null===t.customerNumber||void 0===t.customerNumber)return t.fail({success:!1,message:"Parameter customerNumber is required!"}),[2];if("WEBRTC"!==c.initOptions.loginType)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 2:return r.sent(),[3,4];case 3:return r.sent(),t.fail({success:!1,message:"无麦克风权限!"}),[2];case 4:if(i=c.initOptions.server||c.callApiUrl,a={customerNumber:t.customerNumber,agentNumber:c.agentInfo.agentNumber,accountId:c.agentInfo.accountId,agentId:c.agentInfo._id,loginType:t.loginType||c.agentInfo.loginType||c.initOptions.loginType},t.agentTimeout&&(a.agentTimeout=t.agentTimeout),t.customerTimeout&&(a.customerTimeout=t.customerTimeout),t.agentDisNumber&&(a.agentDisNumber=t.agentDisNumber),t.customerDisNumber&&(a.customerDisNumber=t.customerDisNumber),t.extras&&(a.extras=t.extras),t.numberGroupId&&(a.numberGroupId=t.numberGroupId),t.numberGroupName&&(a.numberGroupName=t.numberGroupName),u=c.initOptions,l=!0,"WEBRTC"!==u.loginType)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,n.openMediaAudio("请打开麦克风权限!",l)];case 6:return h=r.sent()||{},[3,8];case 7:return p=r.sent(),console.log(p),[3,8];case 8:return c.request(i+"/call/api/call/call/out",{verb:"POST",body:a,loginToken:c.loginToken,sessionId:c.agentInfo._id,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success(o(o({success:!0,message:"callout success"},h),e.data)):t.fail(o({success:!1,message:e.message,code:e.code},h))}}),[2]}}))}))},hangup:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/hangup",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"hangup success",data:e}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},holdOrUnHold:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl,o={type:t.type};c.request(n+"/call/api/call/hold",{verb:"POST",body:o,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"holdOrUnHold success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},muteOrUnMute:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl,o={type:t.type,direction:t.direction||"all"};c.request(n+"/call/api/call/mute",{verb:"POST",body:o,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"muteOrUnMute success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},transfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type)if(null!==t.number&&void 0!==t.number){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/transfer",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"transfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.mode&&void 0!==t.mode)if(null!==t.number&&void 0!==t.number){t.agentNumber=c.agentInfo.agentNumber;var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter mode is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},cancelconsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/cancel",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"cancelconsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},endConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/stop",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"endConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},callbackConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/resume",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"resumeConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consultTransfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/transfer",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consultTransfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},threeWayCall:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/threeway",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"threeWayCall success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},evaluate:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/evaluate",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"evaluate success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},meeting:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.number&&void 0!==t.number){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/meeting",{verb:"POST",body:{meetingType:"phone",number:t.number},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"meeting success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})}}},this._agentApi=function(){var e=t;return{switchLoginType:function(t){return i(this,void 0,void 0,(function(){var s,n,a,u,l,h,p=this;return r(this,(function(f){switch(f.label){case 0:if(s=null,t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null===t.loginType||void 0===t.loginType)return t.fail({success:!1,message:"Parameter loginType is required!"}),[2];if(null===c.agentInfo||void 0===c.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null!==t.loginNumber&&void 0!==t.loginNumber&&(s=t.loginNumber),"PSTN"===t.loginType&&!(s=s||c.agentInfo.mobile))return alert("请给座席绑定手机号,或者传入号码参数!"),t.fail({success:!1,message:"Please bind your mobile number"}),[2];if("SIP"===t.loginType&&(s=s||c.agentInfo.sipNumber),"WEBRTC"===t.loginType&&(s=c.agentInfo.webrtcSipNumber),n=c.initOptions.server||c.callApiUrl,a={loginType:t.loginType,loginNumber:s},c.initOptions,l=!0,"WEBRTC"!==t.loginType)return[3,4];f.label=1;case 1:return f.trys.push([1,3,,4]),[4,e.openMediaAudio("请打开麦克风权限!",l)];case 2:return u=f.sent()||{},[3,4];case 3:return h=f.sent(),console.log(h),[3,4];case 4:return c.request(n+"/call/api/agent/v1/login-type/change",{verb:"POST",body:a,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(s){return i(p,void 0,void 0,(function(){return r(this,(function(i){switch(i.label){case 0:return s.success?(t.success(o({success:!0,message:"updateLoginType success"},u)),c.agentInfo.loginType=t.loginType,c.initOptions.loginType=t.loginType,"WEBRTC"!==t.loginType?[3,1]:(e._webPhoneApi().connect(),[3,4])):[3,5];case 1:return"PSTN"!==t.loginType?[3,3]:[4,c.request(n+"/platform/action/updateCallConfig",{verb:"POST",body:{agentCallConfig:{},mobile:t.loginNumber},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId})];case 2:return i.sent(),e._webPhoneApi().disconnect(),[3,4];case 3:e._webPhoneApi().disconnect(),i.label=4;case 4:return[3,6];case 5:t.fail(o({success:!1,message:s.message,code:s.code},u)),i.label=6;case 6:return[2]}}))}))}}),[2]}}))}))},findPhoneBarList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/phone/bar/all",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){if(t.success){var s=[];t.data.forEach((function(e){var t={name:e.name,number:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},switchPhoneBar:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==e.stateNumber&&void 0!==e.stateNumber)if(null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl,s={stateNumber:e.stateNumber,accountId:c.agentInfo.accountId,agentNumber:c.agentInfo.agentNumber};c.request(t+"/call/api/agent/status/switch",{verb:"POST",body:s,loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(t){t.success?e.success({success:!0}):e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"});else e.fail({success:!1,message:"Parameter stateNumber is required!"})},logout:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){null!==e.toAnswerOffline&&void 0!==e.toAnswerOffline||(e.toAnswerOffline="1");var t=c.initOptions.server||c.callApiUrl,s={toAnswerOffline:e.toAnswerOffline};c.request(t+"/call/api/sdk/agent/logout",{verb:"POST",body:s,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){t.success?e&&(c.Socketinstance.disconnect(),"WEBRTC"===c.agentInfo.loginType&&c.webPhone.disconnect(),e.success({success:!0})):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},findIdleAgentsForQueue:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/queue/acountFreeAgent/find",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){t.success?e&&e.success({success:!0,dataList:t.data||[]}):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},getAvailableSipNumberList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/sip/avaliable/query",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(t){if(t.success&&t.data){var s=[];t.data.forEach((function(e){var t={number:e.id,numberName:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})}}},this._webPhoneApi=function(){return{accept:function(){c.webPhone.accept()},connect:function(){c.webPhone&&this.isConnected()||c.initWebrtcEvent(c.agentextras)},disconnect:function(){c.webPhone&&this.isConnected()&&c.webPhone.disconnect()},isConnected:function(){return c.webPhone.isConnected()},sendDTMF:function(e){c.webPhone.sendDTMF(e)}}},e.error="function"==typeof e.error?e.error:c.noop,e.success="function"==typeof e.success?e.success:c.noop,null!==e.agentNumber&&void 0!==e.agentNumber?(null!==e.loginType&&void 0!==e.loginType||(e.loginType="PSTN"),null!==e.pushHangupStatistics&&void 0!==e.pushHangupStatistics||(e.pushHangupStatistics=!1),null!==e.pushCallinRingStatistics&&void 0!==e.pushCallinRingStatistics||(e.pushCallinRingStatistics=!1),this.init(e)):e.error({message:"Invalid agentNumber"})}var c;return a.noop=function(){},a.prototype.init=function(e){if(void 0===e&&(e={}),c.trace=c.noop,c.debug=c.noop,c.log=c.noop,c.warn=c.noop,c.error=c.noop,!0===e.debug||"all"===e.debug)c.trace=console.trace.bind(console),c.debug=console.debug.bind(console),c.log=console.log.bind(console),c.warn=console.warn.bind(console),c.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var t in e.debug){var s=e.debug[t];switch(s){case"trace":c.trace=console.trace.bind(console);break;case"debug":c.debug=console.debug.bind(console);break;case"log":c.log=console.log.bind(console);break;case"warn":c.warn=console.warn.bind(console);break;case"error":c.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+s+"' (supported: 'trace', 'debug', 'log', warn', 'error')")}}c.log("Initializing library");var n=c.useDefaultDependencies({WebSocket:Pe});c.newWebSocket=n.newWebSocket,c.request=n.request,this.login(e)},a.prototype.login=function(e){return i(this,void 0,void 0,(function(){var i,a,u,l,h,p,f,d,g,m,y=this;return r(this,(function(r){switch(r.label){case 0:if(console.log(e,"options"),c.UserConfig=e,i=e.server||c.callApiUrl,a=e.agentNumber+"@"+e.accountId,u=e.loginType,l=e.isOpenNetwork||!1,h=e.isOpenCallQueue||!1,p=e.openNlsTranslation||!1,f={loginName:a,loginType:u,loginChannel:"SDK",password:""},d=!0,"WEBRTC"!==u)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.openMediaAudio("请打开麦克风权限!",d)];case 2:return g=r.sent()||{},[3,4];case 3:return m=r.sent(),console.log(m),console.log("授权失败================================"),[3,4];case 4:return e.password&&(f.password=e.password),c.request(i+"/platform/public/loginPre",{verb:"GET",success:function(r){if(r&&r.success&&r.data){var a=decodeURIComponent(t.Base64.decode(r.data.pk)),d=new n.JSEncrypt;d.setPublicKey(a);var m=s(f.password),b=d.encrypt(m);f.password=b,c.request(i+"/platform/public/login",{verb:"POST",body:f,success:function(t){t.success?c.request(i+"/platform/action/loginInfo",{verb:"GET",loginToken:t.data.loginToken,sessionId:t.data.sessionId,success:function(t){t.success?(t.data.agent&&(c.agentInfo=t.data.agent,c.loginToken=t.data.loginToken,c.initOptions=o(o({},e),{audioInfo:g})),y.initAttachEvent(i,u,t.data.pushServer,t.data.agent,e.success),l&&y.initnNetworkMonitoring(t.data.pushServer,""),(h||p)&&y.initAgentQueue(i,u,t.data.pushServer,t.data.agent,e.success),h&&y.initQueue(i),"WEBRTC"===u&&y.getWebrtcInfo(i,e)):e.error(o(o({},t),g))},error:function(t){e.error(o({error:t},g))}}):e.error(o(o({},t),g))},error:function(t){e.error(o({error:t},g))}})}else e.error(o(o({},r),g))},error:function(t){e.error(o({error:t},g))}}),[2]}}))}))},a.createEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.event="function"==typeof e.event?e.event:c.noop,e.server=null===e.serve||void 0===e.serve?"ws://152.136.72.209:3201/phoneBarGateway":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),this.Socketinstance=c.newWebSocket(e.server,e.SocketOptions),this.Socketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc()})),this.Socketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.Socketinstance.on("message",(function(t,s){e.message({subtype:t.subType,data:t.data}),"WEBRTC"===c.initOptions.loginType&&(t.data&&t.data.callType&&"callin"===t.data.callType&&t.data.eventType&&"ring"===t.data.eventType?(c.AudioTask||(c.AudioTask=new qe("https://softphone.useasy.cn/ring.wav")),c.AudioTask.ringAudioPlay()):c.AudioTask&&c.AudioTask.ringAudioPause()),s&&"function"==typeof s&&s("success")})),this.Socketinstance.on("event",(function(s){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.Socketinstance.disconnect(),c.loginToken="KICK_OFF";try{c.webPhone.disconnect(),console.log(s,"互踢")}catch(e){}e.event({message:"坐席账户在其他地方登录",data:s})}}))},a.createQueueMonitorEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.server=null===e.serve||void 0===e.serve?"ue-dev1.useasy.cn":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),null===this.MonitorSocketinstance&&(this.MonitorSocketinstance=c.newWebSocket(e.server,e.SocketOptions)),this.MonitorSocketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc(),c.log("监控connect========")})),this.MonitorSocketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.MonitorSocketinstance.on("event",(function(s,n){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.MonitorSocketinstance.disconnect();try{c.webPhone.disconnect()}catch(e){}e.message({message:"坐席账户在其他地方登录",data:s})}e.message(s)})),this.MonitorSocketinstance.on("call",(function(t,s){"queue"==t.subType&&c.UserConfig.isOpenCallQueue&&e.message({subtype:t.subType,data:t.data})}))},a.createopenNlsTransEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.server=null===e.serve||void 0===e.serve?"ue-dev1.useasy.cn":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),null===this.MonitorSocketinstance&&(this.MonitorSocketinstance=c.newWebSocket(e.server,e.SocketOptions)),this.MonitorSocketinstance.on("connect",(function(){e.success("转译connect event serve success!"),e.suc(),c.log("转译监控connect========")})),this.MonitorSocketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.MonitorSocketinstance.on("event",(function(s,n){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.MonitorSocketinstance.disconnect();try{c.webPhone.disconnect()}catch(e){}e.message({message:"坐席账户在其他地方登录",data:s})}e.message(s)})),this.MonitorSocketinstance.on("call",(function(t,s){"translation"==t.subType&&c.UserConfig.openNlsTranslation&&e.message({subtype:t.subType,data:t.data})}))},a.useDefaultDependencies=function(e){var t=e&&e.fetch||fetch,s=e&&e.Promise||Promise,n=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new n(e,t)},request:function(e,n){var o={method:n.verb,cache:"no-cache",headers:{"Content-Type":"application/json",loginToken:n.loginToken||"",sessionId:n.sessionId||"",clienttype:0}};n.encryptionFields&&(o.headers["ue-encryption-algorithm"]=n.encryptionAlgorithm||"aes",o.headers["ue-encryption-fields"]=n.encryptionFields),void 0!==n.withCredentials&&(o.credentials=!0===n.withCredentials?"include":n.withCredentials?n.withCredentials:"omit"),void 0!==n.body&&(o.body=JSON.stringify(n.body));var i=t(e,o).catch((function(e){return s.reject({message:"Probably a network error, is the gateway down?",error:e})}));if(void 0!==n.timeout){var r=new s((function(e,t){var s=window.setTimeout((function(){return clearTimeout(s),n.error({message:"Request timed out",timeout:n.timeout}),t({message:"Request timed out",timeout:n.timeout})}),n.timeout)}));i=s.race([i,r])}return i.then((function(e){return e.ok?typeof n.success==typeof c.noop?e.json().then((function(e){n.success(e)})).catch((function(t){return n.error({message:"Failed to parse response body",error:t,response:e}),s.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:(n.error({message:"API call failed",response:e}),s.reject({message:"API call failed",response:e}))})).catch((function(e){typeof n.error==typeof c.noop&&n.error(e.message||"<< internal error >>",e)})),i}}},Object.defineProperty(a.prototype,"agent",{get:function(){return this._agentApi()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"webrtc",{get:function(){return this._webPhoneApi()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"call",{get:function(){return this._callApi()},enumerable:!1,configurable:!0}),c=a,a.callApiUrl="https://dev1.useasy.cn/api",a.Socketinstance=null,a.AudioTask=null,a.MonitorSocketinstance=null,a.UserConfig=null,a.initWebrtcEvent=function(t){return i(void 0,void 0,void 0,(function(){return r(c,(function(s){switch(s.label){case 0:return c.webPhone=new e.UeWebrtc({server:t.wssUrl,sip:t.sip,secret:t.password}),[4,this.webPhone.connect()];case 1:return s.sent(),this.webPhone.register(),[2]}}))}))},a}(),Pe=function(){function e(e,t){delete t.path,delete t.hostname,delete t.port,this.ws=Ee.connect("wss://".concat(e),t)}return e.prototype.on=function(e,t){"connect"===e&&this.ws.on(e,t),"error"===e&&(this.ws.on("connect_error",t),this.ws.on("error",t),this.ws.on("disconnect",t),this.ws.on("reconnect_failed",t)),"message"===e&&this.ws.on("call",t),"event"===e&&this.ws.on("event",t),"call"===e&&this.ws.on("call",t)},e.prototype.emit=function(e,t,s){this.ws.emit(e,t,s)},e.prototype.disconnect=function(){this.ws.disconnect()},e}(),qe=function(){function e(e){this.ringAudio=new Audio(e),this.ringAudio.loop=!0,this.ringAudioRunning=!1}return e.prototype.ringAudioPlay=function(){return i(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudioRunning?[2]:[3,1];case 1:return[4,this.ringAudio.play()];case 2:e.sent(),this.ringAudioRunning=!0,e.label=3;case 3:return[2]}}))}))},e.prototype.ringAudioPause=function(){return i(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudio.paused?[3,2]:[4,this.ringAudio.pause()];case 1:e.sent(),this.ringAudioRunning=!1,e.label=2;case 2:return[2]}}))}))},e}();return Re}));
7
+ const a=Object.create(null);a.open="0",a.close="1",a.ping="2",a.pong="3",a.message="4",a.upgrade="5",a.noop="6";const c=Object.create(null);Object.keys(a).forEach((e=>{c[a[e]]=e}));const u={type:"error",data:"parser error"},l="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),h="function"==typeof ArrayBuffer,p=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f=({type:e,data:t},s,n)=>l&&t instanceof Blob?s?n(t):d(t,n):h&&(t instanceof ArrayBuffer||p(t))?s?n(t):d(new Blob([t]),n):n(a[e]+(t||"")),d=(e,t)=>{const s=new FileReader;return s.onload=function(){const e=s.result.split(",")[1];t("b"+(e||""))},s.readAsDataURL(e)};function g(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let m;const y="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)y["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(e)]=e;const b="function"==typeof ArrayBuffer,v=(e,t)=>{if("string"!=typeof e)return{type:"message",data:T(e,t)};const s=e.charAt(0);return"b"===s?{type:"message",data:k(e.substring(1),t)}:c[s]?e.length>1?{type:c[s],data:e.substring(1)}:{type:c[s]}:u},k=(e,t)=>{if(b){const s=(e=>{let t,s,n,o,i,r=.75*e.length,a=e.length,c=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);const u=new ArrayBuffer(r),l=new Uint8Array(u);for(t=0;t<a;t+=4)s=y[e.charCodeAt(t)],n=y[e.charCodeAt(t+1)],o=y[e.charCodeAt(t+2)],i=y[e.charCodeAt(t+3)],l[c++]=s<<2|n>>4,l[c++]=(15&n)<<4|o>>2,l[c++]=(3&o)<<6|63&i;return u})(e);return T(s,t)}return{base64:!0,data:e}},T=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,w=String.fromCharCode(30);function I(){return new TransformStream({transform(e,t){!function(e,t){l&&e.data instanceof Blob?e.data.arrayBuffer().then(g).then(t):h&&(e.data instanceof ArrayBuffer||p(e.data))?t(g(e.data)):f(e,!1,(e=>{m||(m=new TextEncoder),t(m.encode(e))}))}(e,(s=>{const n=s.length;let o;if(n<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,n);else if(n<65536){o=new Uint8Array(3);const e=new DataView(o.buffer);e.setUint8(0,126),e.setUint16(1,n)}else{o=new Uint8Array(9);const e=new DataView(o.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(n))}e.data&&"string"!=typeof e.data&&(o[0]|=128),t.enqueue(o),t.enqueue(s)}))}})}let O;function A(e){return e.reduce(((e,t)=>e+t.length),0)}function _(e,t){if(e[0].length===t)return e.shift();const s=new Uint8Array(t);let n=0;for(let o=0;o<t;o++)s[o]=e[0][n++],n===e[0].length&&(e.shift(),n=0);return e.length&&n<e[0].length&&(e[0]=e[0].slice(n)),s}function E(e){if(e)return function(e){for(var t in E.prototype)e[t]=E.prototype[t];return e}(e)}E.prototype.on=E.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},E.prototype.once=function(e,t){function s(){this.off(e,s),t.apply(this,arguments)}return s.fn=t,this.on(e,s),this},E.prototype.off=E.prototype.removeListener=E.prototype.removeAllListeners=E.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<n.length;o++)if((s=n[o])===t||s.fn===t){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},E.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),s=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(s){n=0;for(var o=(s=s.slice(0)).length;n<o;++n)s[n].apply(this,t)}return this},E.prototype.emitReserved=E.prototype.emit,E.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},E.prototype.hasListeners=function(e){return!!this.listeners(e).length};const C="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function S(e,...t){return t.reduce(((t,s)=>(e.hasOwnProperty(s)&&(t[s]=e[s]),t)),{})}const N=C.setTimeout,R=C.clearTimeout;function P(e,t){t.useNativeTimers?(e.setTimeoutFn=N.bind(C),e.clearTimeoutFn=R.bind(C)):(e.setTimeoutFn=C.setTimeout.bind(C),e.clearTimeoutFn=C.clearTimeout.bind(C))}class q extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class B extends E{constructor(e){super(),this.writable=!1,P(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new q(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=v(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let s in e)e.hasOwnProperty(s)&&(t.length&&(t+="&"),t+=encodeURIComponent(s)+"="+encodeURIComponent(e[s]));return t}(e);return t.length?"?"+t:""}}const x="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),L=64,U={};let M,F=0,j=0;function D(e){let t="";do{t=x[e%L]+t,e=Math.floor(e/L)}while(e>0);return t}function z(){const e=D(+new Date);return e!==M?(F=0,M=e):e+"."+D(F++)}for(;j<L;j++)U[x[j]]=j;let W=!1;try{W="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(a){}const K=W;function H(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||K))return new XMLHttpRequest}catch(e){}if(!t)try{return new(C[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function V(){}const G=null!=new H({xdomain:!1}).responseType;class Q extends E{constructor(e,t){super(),P(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=S(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const s=this.xhr=new H(t);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&s.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{s.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var e;3===s.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},s.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=Q.requestsCount++,Q.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=V,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete Q.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}function J(){for(let e in Q.requests)Q.requests.hasOwnProperty(e)&&Q.requests[e].abort()}Q.requestsCount=0,Q.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",J):"function"==typeof addEventListener&&addEventListener("onpagehide"in C?"pagehide":"unload",J,!1));const Y="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),$=C.WebSocket||C.MozWebSocket,X="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Z={websocket:class extends B{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=X?{}:S(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=X?new $(e,t,s):t?new $(e,t):new $(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;f(s,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}n&&Y((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!$}},webtransport:class extends B{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=function(e,t){O||(O=new TextDecoder);const s=[];let n=0,o=-1,i=!1;return new TransformStream({transform(r,a){for(s.push(r);;){if(0===n){if(A(s)<1)break;const e=_(s,1);i=128==(128&e[0]),o=127&e[0],n=o<126?3:126===o?1:2}else if(1===n){if(A(s)<2)break;const e=_(s,2);o=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),n=3}else if(2===n){if(A(s)<8)break;const e=_(s,8),t=new DataView(e.buffer,e.byteOffset,e.length),i=t.getUint32(0);if(i>Math.pow(2,21)-1){a.enqueue(u);break}o=i*Math.pow(2,32)+t.getUint32(4),n=3}else{if(A(s)<o)break;const e=_(s,o);a.enqueue(v(i?e:O.decode(e),t)),n=0}if(0===o||o>e){a.enqueue(u);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),n=I();n.readable.pipeTo(e.writable),this.writer=n.writable.getWriter();const o=()=>{s.read().then((({done:e,value:t})=>{e||(this.onPacket(t),o())})).catch((e=>{}))};o();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this.writer.write(i).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;this.writer.write(s).then((()=>{n&&Y((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends B{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let s=location.port;s||(s=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||s!==e.port}const t=e&&e.forceBase64;this.supportsBinary=G&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const s=e.split(w),n=[];for(let e=0;e<s.length;e++){const o=v(s[e],t);if(n.push(o),"error"===o.type)break}return n})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const s=e.length,n=new Array(s);let o=0;e.forEach(((e,i)=>{f(e,!1,(e=>{n[i]=e,++o===s&&t(n.join(w))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Q(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},ee=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,te=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function se(e){const t=e,s=e.indexOf("["),n=e.indexOf("]");-1!=s&&-1!=n&&(e=e.substring(0,s)+e.substring(s,n).replace(/:/g,";")+e.substring(n,e.length));let o=ee.exec(e||""),i={},r=14;for(;r--;)i[te[r]]=o[r]||"";return-1!=s&&-1!=n&&(i.source=t,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=function(e,t){const s=t.replace(/\/{2,9}/g,"/").split("/");return"/"!=t.slice(0,1)&&0!==t.length||s.splice(0,1),"/"==t.slice(-1)&&s.splice(s.length-1,1),s}(0,i.path),i.queryKey=function(e,t){const s={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(s[t]=n)})),s}(0,i.query),i}class ne extends E{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=se(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=se(t.host).host),P(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},s=e.split("&");for(let e=0,n=s.length;e<n;e++){let n=s[e].split("=");t[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Z[e](s)}open(){let e;if(this.opts.rememberUpgrade&&ne.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),s=!1;ne.priorWebsocketSuccess=!1;const n=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!s)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;ne.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{s||"closed"!==this.readyState&&(u(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function o(){s||(s=!0,u(),t.close(),t=null)}const i=e=>{const s=new Error("probe error: "+e);s.transport=t.name,o(),this.emitReserved("upgradeError",s)};function r(){i("transport closed")}function a(){i("socket closed")}function c(e){t&&e.name!==t.name&&o()}const u=()=>{t.removeListener("open",n),t.removeListener("error",i),t.removeListener("close",r),this.off("close",a),this.off("upgrading",c)};t.once("open",n),t.once("error",i),t.once("close",r),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{s||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",ne.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let s=0;s<this.writeBuffer.length;s++){const n=this.writeBuffer[s].data;if(n&&(e+="string"==typeof(t=n)?function(e){let t=0,s=0;for(let n=0,o=e.length;n<o;n++)t=e.charCodeAt(n),t<128?s+=1:t<2048?s+=2:t<55296||t>=57344?s+=3:(n++,s+=4);return s}(t):Math.ceil(1.33*(t.byteLength||t.size))),s>0&&e>this.maxPayload)return this.writeBuffer.slice(0,s);e+=2}var t;return this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,n){if("function"==typeof t&&(n=t,t=void 0),"function"==typeof s&&(n=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const o={type:e,data:t,options:s};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():e()})):this.upgrading?s():e()),this}onError(e){ne.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const n=e.length;for(;s<n;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}ne.protocol=4;const oe="function"==typeof ArrayBuffer,ie=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,re=Object.prototype.toString,ae="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===re.call(Blob),ce="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===re.call(File);function ue(e){return oe&&(e instanceof ArrayBuffer||ie(e))||ae&&e instanceof Blob||ce&&e instanceof File}function le(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,s=e.length;t<s;t++)if(le(e[t]))return!0;return!1}if(ue(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return le(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&le(e[t]))return!0;return!1}function he(e){const t=[],s=e.data,n=e;return n.data=pe(s,t),n.attachments=t.length,{packet:n,buffers:t}}function pe(e,t){if(!e)return e;if(ue(e)){const s={_placeholder:!0,num:t.length};return t.push(e),s}if(Array.isArray(e)){const s=new Array(e.length);for(let n=0;n<e.length;n++)s[n]=pe(e[n],t);return s}if("object"==typeof e&&!(e instanceof Date)){const s={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=pe(e[n],t));return s}return e}function fe(e,t){return e.data=de(e.data,t),delete e.attachments,e}function de(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=de(e[s],t);else if("object"==typeof e)for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(e[s]=de(e[s],t));return e}const ge=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var me;function ye(e){return"[object Object]"===Object.prototype.toString.call(e)}!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(me||(me={}));class be extends E{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===me.BINARY_EVENT;s||t.type===me.BINARY_ACK?(t.type=s?me.EVENT:me.ACK,this.reconstructor=new ve(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ue(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(void 0===me[s.type])throw new Error("unknown packet type "+s.type);if(s.type===me.BINARY_EVENT||s.type===me.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(n,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");s.attachments=Number(o)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t&&","!==e.charAt(t)&&t!==e.length;);s.nsp=e.substring(n,t)}else s.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const s=e.charAt(t);if(null==s||Number(s)!=s){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!be.isPayloadValid(s.type,n))throw new Error("invalid payload");s.data=n}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case me.CONNECT:return ye(t);case me.DISCONNECT:return void 0===t;case me.CONNECT_ERROR:return"string"==typeof t||ye(t);case me.EVENT:case me.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===ge.indexOf(t[0]));case me.ACK:case me.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ve{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=fe(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var ke=Object.freeze({__proto__:null,protocol:5,get PacketType(){return me},Encoder:class{constructor(e){this.replacer=e}encode(e){return e.type!==me.EVENT&&e.type!==me.ACK||!le(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===me.EVENT?me.BINARY_EVENT:me.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==me.BINARY_EVENT&&e.type!==me.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=he(e),s=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(s),n}},Decoder:be});function Te(e,t,s){return e.on(t,s),function(){e.off(t,s)}}const we=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ie extends E{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[Te(e,"open",this.onopen.bind(this)),Te(e,"packet",this.onpacket.bind(this)),Te(e,"error",this.onerror.bind(this)),Te(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(we.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const s={type:me.EVENT,data:t,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,n=t.pop();this._registerAckCallback(e,n),s.id=e}const n=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!n||!this.connected)||(this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var s;const n=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===n)return void(this.acks[e]=t);const o=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),n);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(o),t.apply(this,[null,...e])}}emitWithAck(e,...t){const s=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((n,o)=>{t.push(((e,t)=>s?e?o(e):n(t):n(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...n)=>{if(s===this._queue[0])return null!==e?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:me.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case me.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case me.EVENT:case me.BINARY_EVENT:this.onevent(e);break;case me.ACK:case me.BINARY_ACK:this.onack(e);break;case me.DISCONNECT:this.ondisconnect();break;case me.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...n){s||(s=!0,t.packet({type:me.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:me.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function Oe(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Oe.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),s=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-s:e+s}return 0|Math.min(e,this.max)},Oe.prototype.reset=function(){this.attempts=0},Oe.prototype.setMin=function(e){this.ms=e},Oe.prototype.setMax=function(e){this.max=e},Oe.prototype.setJitter=function(e){this.jitter=e};class Ae extends E{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,P(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=t.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new Oe({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||ke;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new ne(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=Te(t,"open",(function(){s.onopen(),e&&e()})),o=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},i=Te(t,"error",o);if(!1!==this._timeout){const e=this._timeout,s=this.setTimeoutFn((()=>{n(),o(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(n),this.subs.push(i),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Te(e,"ping",this.onping.bind(this)),Te(e,"data",this.ondata.bind(this)),Te(e,"error",this.onerror.bind(this)),Te(e,"close",this.onclose.bind(this)),Te(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){Y((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ie(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const e of t)if(this.nsps[e].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const _e={};function Ee(e,t){"object"==typeof e&&(t=e,e=void 0);const s=function(e,t="",s){let n=e;s=s||"undefined"!=typeof location&&location,null==e&&(e=s.protocol+"//"+s.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?s.protocol+e:s.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==s?s.protocol+"//"+e:"https://"+e),n=se(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const o=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+o+":"+n.port+t,n.href=n.protocol+"://"+o+(s&&s.port===n.port?"":":"+n.port),n}(e,(t=t||{}).path||"/socket.io"),n=s.source,o=s.id,i=s.path,r=_e[o]&&i in _e[o].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||r?a=new Ae(n,t):(_e[o]||(_e[o]=new Ae(n,t)),a=_e[o]),s.query&&!t.query&&(t.query=s.queryKey),a.socket(s.path,t)}Object.assign(Ee,{Manager:Ae,Socket:Ie,io:Ee,connect:Ee});var Ce={notOpenAudioMsg:"麦克风没有开启",notOpenAudioCode:403,notOpenAudioMsgEn:"Permission dismissed"},Se={forbiddenAudioMsg:"请先检查您的麦克风是否开启",forbiddenAudioCode:0,forbiddenAudioMsgEn:"Permission denied"},Ne={requestState:!1,delay:0},Re=function(){function a(e){void 0===e&&(e={});var t=this;this.getWebrtcInfo=function(e,t){c.request(e+"/call/api/sip/webrtc/config/query",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){e.success&&e.data?(c.agentextras=e.data,c.initWebrtcEvent(e.data)):t.error(o({},e))},error:function(e){t.error({error:e})}})},this.initAttachEvent=function(e,s,n,o,i){t.attachEventCallbacks&&c.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){if(e&&e.data){var r="";n.forEach((function(e){"KF"===e.id&&(r=e.url)})),t.attachEventCallbacks.serve=r,t.attachEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:1,pushHangupStatistics:c.initOptions.pushHangupStatistics||!1,pushCallinRingStatistics:c.initOptions.pushCallinRingStatistics||!1},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachEventCallbacks.suc=i,c.createEventHandle(t.attachEventCallbacks)}},error:function(e){n.error({error:e})}})},this.attachNetworkCallbacks={message:c.noop,error:c.noop,success:c.noop},this.initnNetworkMonitoring=function(e,s){var n="";e.forEach((function(e){if("MONITOR"===e.id){var t=document.location.protocol;"file:"===t&&(t="https:"),n=t+"//"+e.url}})),t.attachNetworkCallbacks.success(),t.attachNetworkCallbacks.message({delay:100}),setInterval((function(){var e=(new Date).getTime();Ne.requestState=!0,c.request(n+"/ready",{method:"GET",success:function(s){if(s.success){var n=(new Date).getTime();Ne.delay=(n-e)/2,t.attachNetworkCallbacks.message({delay:Ne.delay})}else t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1},error:function(e){t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1}})}),1e4)},this.listenCallNetork=function(e){e&&(t.attachNetworkCallbacks.message=e.message&&"function"==typeof e.message?e.message:c.noop,t.attachNetworkCallbacks.success=e.success&&"function"==typeof e.success?e.success:c.noop,t.attachNetworkCallbacks.error=e.error&&"function"==typeof e.error?e.error:c.noop)},this.initAgentQueue=function(e,s,n,o,i){(t.attachMonitorEventCallbacks||t.attachNlsTranslationEventCallbacks)&&c.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(e){if(e&&e.data){var r="";n.forEach((function(e){"MONITOR"===e.id&&(r=e.url)})),t.attachMonitorEventCallbacks&&c.UserConfig.isOpenCallQueue&&(t.attachMonitorEventCallbacks.serve=r,t.attachMonitorEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:3},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachMonitorEventCallbacks.suc=i,c.createQueueMonitorEventHandle(t.attachMonitorEventCallbacks)),t.attachNlsTranslationEventCallbacks&&c.UserConfig.openNlsTranslation&&(t.attachNlsTranslationEventCallbacks.serve=r,t.attachNlsTranslationEventCallbacks.SocketOptions={query:{accountId:o.accountId,agentNumber:o.agentNumber,agentId:o._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:3},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachNlsTranslationEventCallbacks.suc=i,c.createopenNlsTransEventHandle(t.attachNlsTranslationEventCallbacks))}},error:function(e){console.log("失败",e),n.error({error:e})}})},this.initQueue=function(e){c.request(e+"/call/monitor/agent/queue/query",{verb:"POST",body:{accountId:c.agentInfo.accountId,agentId:c.agentInfo._id},success:function(e){e&&e.data?t.attachMonitorEventCallbacks.message(e):t.attachMonitorEventCallbacks.error(e)},error:function(e){t.attachMonitorEventCallbacks.error(e)}})},this.listenCallQueueEvent=function(e){t.attachMonitorEventCallbacks=e},this.listenTranslationEvent=function(e){t.attachNlsTranslationEventCallbacks=e},this.openMediaAudio=function(e,t){var s=navigator,n=s.mediaDevices,o=s.getUserMedia,i=s.webkitGetUserMedia,r=s.mozGetUserMedia,a=s.msGetUserMedia,c=(o||i||r||a).bind(navigator);return n?navigator.mediaDevices.getUserMedia({audio:!0}).catch((function(s){var n=s.message.includes("denied");return t?(n&&alert(Se.forbiddenAudioMsg),e&&!n&&alert(e),n?Se:Ce):n?Se:Ce})):new Promise((function(s,n){c?c({audio:!0},(function(e){s(!0)}),(function(s){t&&e&&alert(e),n(Ce)})):n(Ce)}))},this.listenCallEvent=function(e){t.attachEventCallbacks=e},this._callApi=function(){var e,s,n=t;return{callout:function(t){return i(this,void 0,void 0,(function(){var i,a,u,l,h,p;return r(this,(function(r){switch(r.label){case 0:if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null===c.loginToken||void 0===c.loginToken)return t.fail({success:!1,message:"initialization not complete!"}),[2];if("KICK_OFF"===c.loginToken)return t.fail({success:!1,message:"您的座席账号正在别处登录,当前页面电话条已退出。"}),[2];if(null===c.agentInfo||void 0===c.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null===t.customerNumber||void 0===t.customerNumber)return t.fail({success:!1,message:"Parameter customerNumber is required!"}),[2];if("WEBRTC"!==c.initOptions.loginType)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 2:return r.sent(),[3,4];case 3:return r.sent(),t.fail({success:!1,message:"无麦克风权限!"}),[2];case 4:if(i=c.initOptions.server||c.callApiUrl,a={customerNumber:t.customerNumber,agentNumber:c.agentInfo.agentNumber,accountId:c.agentInfo.accountId,agentId:c.agentInfo._id,loginType:t.loginType||c.agentInfo.loginType||c.initOptions.loginType},t.agentTimeout&&(a.agentTimeout=t.agentTimeout),t.customerTimeout&&(a.customerTimeout=t.customerTimeout),t.agentDisNumber&&(a.agentDisNumber=t.agentDisNumber),t.customerDisNumber&&(a.customerDisNumber=t.customerDisNumber),t.extras&&(a.extras=t.extras),t.numberGroupId&&(a.numberGroupId=t.numberGroupId),t.numberGroupName&&(a.numberGroupName=t.numberGroupName),u=c.initOptions,l=!0,"WEBRTC"!==u.loginType)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,n.openMediaAudio("请打开麦克风权限!",l)];case 6:return h=r.sent()||{},[3,8];case 7:return p=r.sent(),console.log(p),[3,8];case 8:return c.request(i+"/call/api/call/call/out",{verb:"POST",body:a,loginToken:c.loginToken,sessionId:c.agentInfo._id,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success(o(o({success:!0,message:"callout success"},h),e.data)):t.fail(o({success:!1,message:e.message,code:e.code},h))}}),[2]}}))}))},hangup:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/hangup",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"hangup success",data:e}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},holdOrUnHold:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl,o={type:t.type};c.request(n+"/call/api/call/hold",{verb:"POST",body:o,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"holdOrUnHold success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},muteOrUnMute:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl,o={type:t.type,direction:t.direction||"all"};c.request(n+"/call/api/call/mute",{verb:"POST",body:o,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"muteOrUnMute success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},transfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type)if(null!==t.number&&void 0!==t.number){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/transfer",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"transfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.mode&&void 0!==t.mode)if(null!==t.number&&void 0!==t.number){t.agentNumber=c.agentInfo.agentNumber;var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter mode is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},cancelconsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/cancel",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"cancelconsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},endConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/stop",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"endConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},callbackConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/resume",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"resumeConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consultTransfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/consult/transfer",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consultTransfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},threeWayCall:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/threeway",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"threeWayCall success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},evaluate:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.type&&void 0!==t.type){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/evaluate",{verb:"POST",body:t,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"evaluate success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},meeting:function(t){if(t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null!==c.loginToken&&void 0!==c.loginToken)if(null!==c.agentInfo&&void 0!==c.agentInfo)if(null!==t.number&&void 0!==t.number){var n=c.initOptions.server||c.callApiUrl;c.request(n+"/call/api/call/meeting",{verb:"POST",body:{meetingType:"phone",number:t.number},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"meeting success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})}}},this._agentApi=function(){var e=t;return{switchLoginType:function(t){return i(this,void 0,void 0,(function(){var s,n,a,u,l,h,p=this;return r(this,(function(f){switch(f.label){case 0:if(s=null,t.success=t&&"function"==typeof t.success?t.success:c.noop,t.fail=t&&"function"==typeof t.fail?t.fail:c.noop,null===t.loginType||void 0===t.loginType)return t.fail({success:!1,message:"Parameter loginType is required!"}),[2];if(null===c.agentInfo||void 0===c.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null!==t.loginNumber&&void 0!==t.loginNumber&&(s=t.loginNumber),"PSTN"===t.loginType&&!(s=s||c.agentInfo.mobile))return alert("请给座席绑定手机号,或者传入号码参数!"),t.fail({success:!1,message:"Please bind your mobile number"}),[2];if("SIP"===t.loginType&&(s=s||c.agentInfo.sipNumber),"WEBRTC"===t.loginType&&(s=c.agentInfo.webrtcSipNumber),n=c.initOptions.server||c.callApiUrl,a={loginType:t.loginType,loginNumber:s},c.initOptions,l=!0,"WEBRTC"!==t.loginType)return[3,4];f.label=1;case 1:return f.trys.push([1,3,,4]),[4,e.openMediaAudio("请打开麦克风权限!",l)];case 2:return u=f.sent()||{},[3,4];case 3:return h=f.sent(),console.log(h),[3,4];case 4:return c.request(n+"/call/api/agent/v1/login-type/change",{verb:"POST",body:a,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(s){return i(p,void 0,void 0,(function(){return r(this,(function(i){switch(i.label){case 0:return s.success?(t.success(o({success:!0,message:"updateLoginType success"},u)),c.agentInfo.loginType=t.loginType,c.initOptions.loginType=t.loginType,"WEBRTC"!==t.loginType?[3,1]:(e._webPhoneApi().connect(),[3,4])):[3,5];case 1:return"PSTN"!==t.loginType?[3,3]:[4,c.request(n+"/platform/action/updateCallConfig",{verb:"POST",body:{agentCallConfig:{},mobile:t.loginNumber},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId})];case 2:return i.sent(),e._webPhoneApi().disconnect(),[3,4];case 3:e._webPhoneApi().disconnect(),i.label=4;case 4:return[3,6];case 5:t.fail(o({success:!1,message:s.message,code:s.code},u)),i.label=6;case 6:return[2]}}))}))}}),[2]}}))}))},findPhoneBarList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/phone/bar/all",{verb:"GET",loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){if(t.success){var s=[];t.data.forEach((function(e){var t={name:e.name,number:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},switchPhoneBar:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==e.stateNumber&&void 0!==e.stateNumber)if(null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl,s={stateNumber:e.stateNumber,accountId:c.agentInfo.accountId,agentNumber:c.agentInfo.agentNumber};c.request(t+"/call/api/agent/status/switch",{verb:"POST",body:s,loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(t){t.success?e.success({success:!0}):e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"});else e.fail({success:!1,message:"Parameter stateNumber is required!"})},logout:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){null!==e.toAnswerOffline&&void 0!==e.toAnswerOffline||(e.toAnswerOffline="1");var t=c.initOptions.server||c.callApiUrl,s={toAnswerOffline:e.toAnswerOffline};c.request(t+"/call/api/sdk/agent/logout",{verb:"POST",body:s,loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){t.success?e&&(c.Socketinstance.disconnect(),"WEBRTC"===c.agentInfo.loginType&&c.webPhone.disconnect(),e.success({success:!0})):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},findIdleAgentsForQueue:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/queue/acountFreeAgent/find",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,accountId:c.agentInfo.accountId,success:function(t){t.success?e&&e.success({success:!0,dataList:t.data||[]}):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},getAvailableSipNumberList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:c.noop,e.fail=e&&"function"==typeof e.fail?e.fail:c.noop,null!==c.agentInfo&&void 0!==c.agentInfo){var t=c.initOptions.server||c.callApiUrl;c.request(t+"/call/api/sip/avaliable/query",{verb:"POST",body:{},loginToken:c.loginToken,sessionId:c.agentInfo._id,success:function(t){if(t.success&&t.data){var s=[];t.data.forEach((function(e){var t={number:e.id,numberName:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})}}},this._webPhoneApi=function(){return{accept:function(){c.webPhone.accept()},connect:function(){c.webPhone&&this.isConnected()||c.initWebrtcEvent(c.agentextras)},disconnect:function(){c.webPhone&&this.isConnected()&&c.webPhone.disconnect()},isConnected:function(){return c.webPhone.isConnected()},sendDTMF:function(e){c.webPhone.sendDTMF(e)}}},e.error="function"==typeof e.error?e.error:c.noop,e.success="function"==typeof e.success?e.success:c.noop,null!==e.agentNumber&&void 0!==e.agentNumber?(null!==e.loginType&&void 0!==e.loginType||(e.loginType="PSTN"),null!==e.pushHangupStatistics&&void 0!==e.pushHangupStatistics||(e.pushHangupStatistics=!1),null!==e.pushCallinRingStatistics&&void 0!==e.pushCallinRingStatistics||(e.pushCallinRingStatistics=!1),this.init(e)):e.error({message:"Invalid agentNumber"})}var c;return a.noop=function(){},a.prototype.init=function(e){if(void 0===e&&(e={}),c.trace=c.noop,c.debug=c.noop,c.log=c.noop,c.warn=c.noop,c.error=c.noop,!0===e.debug||"all"===e.debug)c.trace=console.trace.bind(console),c.debug=console.debug.bind(console),c.log=console.log.bind(console),c.warn=console.warn.bind(console),c.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var t in e.debug){var s=e.debug[t];switch(s){case"trace":c.trace=console.trace.bind(console);break;case"debug":c.debug=console.debug.bind(console);break;case"log":c.log=console.log.bind(console);break;case"warn":c.warn=console.warn.bind(console);break;case"error":c.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+s+"' (supported: 'trace', 'debug', 'log', warn', 'error')")}}c.log("Initializing library");var n=c.useDefaultDependencies({WebSocket:Pe});c.newWebSocket=n.newWebSocket,c.request=n.request,this.login(e)},a.prototype.login=function(e){return i(this,void 0,void 0,(function(){var i,a,u,l,h,p,f,d,g,m,y=this;return r(this,(function(r){switch(r.label){case 0:if(console.log(e,"options"),c.UserConfig=e,i=e.server||c.callApiUrl,a=e.agentNumber+"@"+e.accountId,u=e.loginType,l=e.isOpenNetwork||!1,h=e.isOpenCallQueue||!1,p=e.openNlsTranslation||!1,f={loginName:a,loginType:u,loginChannel:"SDK",password:""},d=!0,"WEBRTC"!==u)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.openMediaAudio("请打开麦克风权限!",d)];case 2:return g=r.sent()||{},[3,4];case 3:return m=r.sent(),console.log(m),console.log("授权失败================================"),[3,4];case 4:return e.password&&(f.password=e.password),c.request(i+"/platform/public/loginPre",{verb:"GET",success:function(r){if(r&&r.success&&r.data){var a=decodeURIComponent(t.Base64.decode(r.data.pk)),d=new n.JSEncrypt;d.setPublicKey(a);var m=s(f.password),b=d.encrypt(m);f.password=b,c.request(i+"/platform/public/login",{verb:"POST",body:f,success:function(t){t.success?c.request(i+"/platform/action/loginInfo",{verb:"GET",loginToken:t.data.loginToken,sessionId:t.data.sessionId,success:function(t){t.success?(t.data.agent&&(c.agentInfo=t.data.agent,c.loginToken=t.data.loginToken,c.initOptions=o(o({},e),{audioInfo:g})),y.initAttachEvent(i,u,t.data.pushServer,t.data.agent,e.success),l&&y.initnNetworkMonitoring(t.data.pushServer,""),(h||p)&&y.initAgentQueue(i,u,t.data.pushServer,t.data.agent,e.success),h&&y.initQueue(i),"WEBRTC"===u&&y.getWebrtcInfo(i,e)):e.error(o(o({},t),g))},error:function(t){e.error(o({error:t},g))}}):e.error(o(o({},t),g))},error:function(t){e.error(o({error:t},g))}})}else e.error(o(o({},r),g))},error:function(t){e.error(o({error:t},g))}}),[2]}}))}))},a.createEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.event="function"==typeof e.event?e.event:c.noop,e.server=null===e.serve||void 0===e.serve?"ws://152.136.72.209:3201/phoneBarGateway":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),this.Socketinstance=c.newWebSocket(e.server,e.SocketOptions),this.Socketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc()})),this.Socketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.Socketinstance.on("message",(function(t,s){e.message({subtype:t.subType,data:t.data}),"WEBRTC"===c.initOptions.loginType&&(t.data&&t.data.callType&&"callin"===t.data.callType&&t.data.eventType&&"ring"===t.data.eventType?(c.AudioTask||(c.AudioTask=new qe("https://softphone.useasy.cn/ring.wav")),c.AudioTask.ringAudioPlay()):c.AudioTask&&c.AudioTask.ringAudioPause()),s&&"function"==typeof s&&s("success")})),this.Socketinstance.on("event",(function(s){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.Socketinstance.disconnect(),c.loginToken="KICK_OFF";try{c.webPhone.disconnect(),console.log(s,"互踢")}catch(e){}e.event({message:"坐席账户在其他地方登录",data:s})}}))},a.createQueueMonitorEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.server=null===e.serve||void 0===e.serve?"ue-dev1.useasy.cn":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),null===this.MonitorSocketinstance&&(this.MonitorSocketinstance=c.newWebSocket(e.server,e.SocketOptions)),this.MonitorSocketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc(),c.log("监控connect========")})),this.MonitorSocketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.MonitorSocketinstance.on("event",(function(s,n){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.MonitorSocketinstance.disconnect();try{c.webPhone.disconnect()}catch(e){}e.message({message:"坐席账户在其他地方登录",data:s})}e.message(s)})),this.MonitorSocketinstance.on("call",(function(t,s){"queue"==t.subType&&c.UserConfig.isOpenCallQueue&&e.message({subtype:t.subType,data:t.data})}))},a.createopenNlsTransEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:c.noop,e.error="function"==typeof e.error?e.error:c.noop,e.message="function"==typeof e.message?e.message:c.noop,e.server=null===e.serve||void 0===e.serve?"ue-dev1.useasy.cn":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},c.error({message:"login response error!"})),null===this.MonitorSocketinstance&&(this.MonitorSocketinstance=c.newWebSocket(e.server,e.SocketOptions)),this.MonitorSocketinstance.on("connect",(function(){e.success("转译connect event serve success!"),e.suc(),c.log("转译监控connect========")})),this.MonitorSocketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.MonitorSocketinstance.on("event",(function(s,n){if("KICK_OFF"===s.subType&&!0===s.data.kickoff){t.MonitorSocketinstance.disconnect();try{c.webPhone.disconnect()}catch(e){}e.message({message:"坐席账户在其他地方登录",data:s})}e.message(s)})),this.MonitorSocketinstance.on("call",(function(t,s){"translation"==t.subType&&c.UserConfig.openNlsTranslation&&e.message({subtype:t.subType,data:t.data})}))},a.useDefaultDependencies=function(e){var t=e&&e.fetch||fetch,s=e&&e.Promise||Promise,n=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new n(e,t)},request:function(e,n){var o={method:n.verb,cache:"no-cache",headers:{"Content-Type":"application/json",loginToken:n.loginToken||"",sessionId:n.sessionId||"",clienttype:0}};n.encryptionFields&&(o.headers["ue-encryption-algorithm"]=n.encryptionAlgorithm||"aes",o.headers["ue-encryption-fields"]=n.encryptionFields),void 0!==n.withCredentials&&(o.credentials=!0===n.withCredentials?"include":n.withCredentials?n.withCredentials:"omit"),void 0!==n.body&&(o.body=JSON.stringify(n.body));var i=t(e,o).catch((function(e){return s.reject({message:"Probably a network error, is the gateway down?",error:e})}));if(void 0!==n.timeout){var r=new s((function(e,t){var s=window.setTimeout((function(){return clearTimeout(s),n.error({message:"Request timed out",timeout:n.timeout}),t({message:"Request timed out",timeout:n.timeout})}),n.timeout)}));i=s.race([i,r])}return i.then((function(e){return e.ok?typeof n.success==typeof c.noop?e.json().then((function(e){n.success(e)})).catch((function(t){return n.error({message:"Failed to parse response body",error:t,response:e}),s.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:(n.error({message:"API call failed",response:e}),s.reject({message:"API call failed",response:e}))})).catch((function(e){typeof n.error==typeof c.noop&&n.error(e.message||"<< internal error >>",e)})),i}}},Object.defineProperty(a.prototype,"agent",{get:function(){return this._agentApi()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"webrtc",{get:function(){return this._webPhoneApi()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"call",{get:function(){return this._callApi()},enumerable:!1,configurable:!0}),c=a,a.callApiUrl="https://app.useasy.cn/api",a.Socketinstance=null,a.AudioTask=null,a.MonitorSocketinstance=null,a.UserConfig=null,a.initWebrtcEvent=function(t){return i(void 0,void 0,void 0,(function(){return r(c,(function(s){switch(s.label){case 0:return c.webPhone=new e.UeWebrtc({server:t.wssUrl,sip:t.sip,secret:t.password}),[4,this.webPhone.connect()];case 1:return s.sent(),this.webPhone.register(),[2]}}))}))},a}(),Pe=function(){function e(e,t){delete t.path,delete t.hostname,delete t.port,this.ws=Ee.connect("wss://".concat(e),t)}return e.prototype.on=function(e,t){"connect"===e&&this.ws.on(e,t),"error"===e&&(this.ws.on("connect_error",t),this.ws.on("error",t),this.ws.on("disconnect",t),this.ws.on("reconnect_failed",t)),"message"===e&&this.ws.on("call",t),"event"===e&&this.ws.on("event",t),"call"===e&&this.ws.on("call",t)},e.prototype.emit=function(e,t,s){this.ws.emit(e,t,s)},e.prototype.disconnect=function(){this.ws.disconnect()},e}(),qe=function(){function e(e){this.ringAudio=new Audio(e),this.ringAudio.loop=!0,this.ringAudioRunning=!1}return e.prototype.ringAudioPlay=function(){return i(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudioRunning?[2]:[3,1];case 1:return[4,this.ringAudio.play()];case 2:e.sent(),this.ringAudioRunning=!0,e.label=3;case 3:return[2]}}))}))},e.prototype.ringAudioPause=function(){return i(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudio.paused?[3,2]:[4,this.ringAudio.pause()];case 1:e.sent(),this.ringAudioRunning=!1,e.label=2;case 2:return[2]}}))}))},e}();return Re}));
@@ -39,10 +39,10 @@
39
39
 
40
40
  ue.listenCallEvent({
41
41
  success(res) {
42
- console.log(7878778998,res);
42
+ console.log(res,'监听通话成功',);
43
43
  },
44
44
  message: (res) => {
45
- console.log(res, 'rrrrrrrrrrrreeeeeeeeeeee')
45
+ console.log(res, '接受通话事件成功')
46
46
  },
47
47
  event: (res) => {
48
48
  console.log(res, 'socket互踢')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-softphone-sdk",
3
- "version": "3.0.16",
3
+ "version": "3.0.17",
4
4
  "description": "ue-softphone-sdk",
5
5
  "main": "dist/ue-softphone-sdk.js",
6
6
  "types": "dist/types/index.d.ts",