!function(){function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){return e(b[g][1][a]||a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g-1||a.indexOf("edge")>-1}()?w.EDGE:w.CHROME}function e(a,b,c){globalThis.DCVWebRTCRedirProxy=b,E.initCallbacks?(E.initCallbacks.forEach(function(d,e){clearTimeout(d),e({success:a,proxy:b,error:c})}),E.initCallbacks.clear()):l.debug("No DCVWebRTCPeerConnectionProxy.initCallback was specified.")}var f={major:0,minor:3,patch:3,buildNumber:0,gitHash:"2a04538bd16eaa144c6a87ab71a77e2e314f348f",versionStr:"0.3.3+build.0"},h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==d?d:"undefined"!=typeof self?self:{},j={exports:{}};!function(a){var b,c;b=h,c=function(){function a(a,b){var c=a[b];if("function"==typeof c.bind)return c.bind(a);try{return Function.prototype.bind.call(c,a)}catch(b){return function(){return Function.prototype.apply.apply(c,[a,arguments])}}}function b(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(){for(var a=this.getLevel(),b=0;b=0&&b<=n.levels.SILENT)return b;throw new TypeError("log.setLevel() called with invalid level: "+a)}var g,i,m,n=this,o="loglevel";"string"==typeof a?o+=":"+a:"symbol"==(void 0===a?"undefined":(0,s.default)(a))&&(o=void 0),n.name=a,n.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},n.methodFactory=b||e,n.getLevel=function(){return null!=m?m:null!=i?i:g},n.setLevel=function(a,b){return m=f(a),!1!==b&&function(a){var b=(j[a]||"silent").toUpperCase();if(("undefined"==typeof window?"undefined":(0,s.default)(window))!==h&&o){try{return void(window.localStorage[o]=b)}catch(a){}try{window.document.cookie=encodeURIComponent(o)+"="+b+";"}catch(a){}}}(m),c.call(n)},n.setDefaultLevel=function(a){i=f(a),d()||n.setLevel(a,!1)},n.resetLevel=function(){m=null,function(){if(("undefined"==typeof window?"undefined":(0,s.default)(window))!==h&&o){try{window.localStorage.removeItem(o)}catch(a){}try{window.document.cookie=encodeURIComponent(o)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(a){}}}(),c.call(n)},n.enableAll=function(a){n.setLevel(n.levels.TRACE,a)},n.disableAll=function(a){n.setLevel(n.levels.SILENT,a)},n.rebuild=function(){if(l!==n&&(g=f(l.getLevel())),c.call(n),l===n)for(var a in k)k[a].rebuild()},g=f(l?l.getLevel():"WARN");var p=d();null!=p&&(m=f(p)),c.call(n)}var g=function(){},h="undefined",i=("undefined"==typeof window?"undefined":(0,s.default)(window))!==h&&(0,s.default)(window.navigator)!==h&&/Trident\/|MSIE /.test(window.navigator.userAgent),j=["trace","debug","info","warn","error"],k={},l=null;(l=new f).getLogger=function(a){if("symbol"!=(void 0===a?"undefined":(0,s.default)(a))&&"string"!=typeof a||""===a)throw new TypeError("You must supply a name when creating a logger.");var b=k[a];return b||(b=k[a]=new f(a,l.methodFactory)),b};var m=("undefined"==typeof window?"undefined":(0,s.default)(window))!==h?window.log:void 0;return l.noConflict=function(){return("undefined"==typeof window?"undefined":(0,s.default)(window))!==h&&window.log===l&&(window.log=m),l},l.getLoggers=function(){return k},l.default=l,l},a.exports?a.exports=c():b.log=c()}(j);for(var l=b(j.exports),n=Object.freeze({HELLO_API_NAME:"hello",GETUSERMEDIA_API_NAME:"navigator.mediaDevices.getUserMedia",ENUMERATEDEVICES_API_NAME:"navigator.mediaDevices.enumerateDevices",GENERATE_CERTIFICATE_API_NAME:"RTCPeerConnection.generateCertificate",NEWRTCPEERCONNECTION_API_NAME:"new.RTCPeerConnection",PC_GET_CONFIGURATION:"pcs.getConfiguration",NEW_AUDIO_CONTEXT:"new.AudioContext",CREATE_WORKER:"new.Worker",WORKER_POST_MESSAGE:"workers.postMessage",WORKER_TERMINATE:"workers.terminate",AUDIO_CTX_CREATE_AUDIO_NODE:"audioContexts.createAudioNode",AUDIO_CTX_CLOSE:"audioContexts.close",AUDIO_NODE_CONNECT:"audioNodes.connect",AUDIO_NODE_DISCONNECT:"audioNodes.disconnect",AUDIO_PARAM_SET_VALUE_AT_TIME:"audioParams.setValueAtTime",AUDIO_PARAM_SET_RAMP_TO_VALUE_AT_TIME:"audioParams.linearRampToValueAtTime",AUDIO_NODE_SET_TYPE:"audioNodes.setType",AUDIO_NODE_START:"audioNodes.start",AUDIO_NODE_STOP:"audioNodes.stop",PC_CLOSE_API_NAME:"pcs.close",ADDSTREAM_API_NAME:"pcs.addStream",STREAM_REMOVE_TRACK:"streams.removeTrack",STREAM_ADD_TRACK:"streams.addTrack",GET_STATS_API_NAME:"pcs.getStats",CREATE_OFFER_API_NAME:"pcs.createOffer",SET_LOCAL_DESCRIPTION_API_NAME:"pcs.setLocalDescription",ADD_PC_EVENT_LISTENER:"pcs.addEventListener",ADD_TRACK_EVENT_LISTENER:"tracks.addEventListener",ADD_DTMF_EVENT_LISTENER:"dtmfs.addEventListener",ADD_WORKER_EVENT_LISTENER:"workers.addEventListener",SET_REMOTE_DESCRIPTION_API_NAME:"pcs.setRemoteDescription",ADD_ICE_CANDIDATE_API_NAME:"pcs.addIceCandidate",CREATE_MEDIA_ELEMENT_API_NAME:"document.createElement",MEDIA_ELEMENT_SET_SINK_ID_API_NAME:"mediaElements.setSinkId",MEDIA_ELEMENT_REMOVE:"mediaElements.remove",CREATE_ANSWER_API_NAME:"pcs.createAnswer",UNLOAD_EVENT_NAME:"unload",TOGGLE_TRACK_ENABLED_API_NAME:"tracks.enabled",TRACK_STOP_API_NAME:"tracks.stop",TRACK_GET_SETTINGS:"tracks.getSettings",GET_RECEIVERS_API_NAME:"pcs.getReceivers",ADD_TRACK_API_NAME:"pcs.addTrack",GET_SENDERS_API_NAME:"pcs.getSenders",GET_SENDER_STATS_API_NAME:"senders.getStats",GET_RECEIVER_STATS_API_NAME:"receivers.getStats",SET_MEDIA_SRC_OBJ_API_NAME:"mediaElements.srcObject",SET_MEDIA_HIDDEN_API_NAME:"mediaElements.hidden",SET_MEDIA_VOLUME_API_NAME:"mediaElements.volume",MEDIA_ELEMENT_PLAY_API_NAME:"mediaElements.play",MEDIA_ELEMENT_PAUSE_API_NAME:"mediaElements.pause",MEDIA_ELEMENT_MUTED:"mediaElements.muted",ADD_TRANSCEIVER_API_NAME:"pcs.addTransceiver",GET_TRANSCEIVERS_API_NAME:"pcs.getTransceivers",TRANSCEIVER_SET_CODEC_PREFS:"transceivers.setCodecPreferences",REPLACE_SENDER_TRACK_API_NAME:"senders.replaceTrack",PC_REMOVE_TRACK_API_NAME:"pcs.removeTrack",INSERT_DTMF_API_NAME:"dtmfSenders.insertDTMF",SENDER_CREATE_ENCODED_STREAMS:"senders.createEncodedStreams",RECEIVER_CREATE_ENCODED_STREAMS:"receivers.createEncodedStreams"}),p=Object.freeze({SIG_STATE_CHANGE:"signalingstatechange",TRACK:"track",CONN_STATE_CHANGE:"connectionstatechange",ICE_CONN_STATE_CHANGE:"iceconnectionstatechange",ICE_GATHER_STATE_CHANGE:"icegatheringstatechange",ICE_CANDIDATE:"icecandidate",NEGOTIATION_NEEDED:"negotiationneeded"}),r=Object.freeze({ENDED:"ended",MUTE:"mute",UNMUTE:"unmute"}),t=Object.freeze({TONECHANGE:"tonechange"}),u=Object.freeze({ERROR:"error",MESSAGE:"message",MESSAGE_ERROR:"messageerror"}),v=Object.freeze({NEW:"new",AVAILABLE:"available",UNAVAILABLE:"unavailable"}),w=Object.freeze({CHROME:"diilpfplcnhehakckkpmcmibmhbingnd",EDGE:"kjbbkjjiecchbcdoollhgffghfjnbhef"}),x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",y="undefined"==typeof Uint8Array?[]:new Uint8Array(256),z=0;z<64;z++)y[x.charCodeAt(z)]=z;var A=function(a){var b,c=new Uint8Array(a),d=c.length,e="";for(b=0;b>2],e+=x[(3&c[b])<<4|c[b+1]>>4],e+=x[(15&c[b+1])<<2|c[b+2]>>6],e+=x[63&c[b+2]];return d%3==2?e=e.substring(0,e.length-1)+"=":d%3==1&&(e=e.substring(0,e.length-2)+"=="),e},B=function(a){var b,c,d,e,f,g=.75*a.length,h=a.length,i=0;"="===a[a.length-1]&&(g--,"="===a[a.length-2]&&g--);var j=new ArrayBuffer(g),k=new Uint8Array(j);for(b=0;b>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j},C={exports:{}};/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ !function(a,b){!function(a){function b(a){for(var b=a.length;--b>=0;)a[b]=0}function c(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function d(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function e(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function f(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=qa,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ua(this.dyn_ltree),ua(this.dyn_dtree),ua(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ua(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ua(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function g(a){this.options=Oa({level:cb,method:eb,chunkSize:16384,windowBits:15,memLevel:8,strategy:db},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Wa,this.strm.avail_out=0;var c=Ma.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==ab)throw new Error(U[c]);if(b.header&&Ma.deflateSetHeader(this.strm,b.header),b.dictionary){var d=void 0;if(d="string"==typeof b.dictionary?Ta(b.dictionary):"[object ArrayBuffer]"===Xa.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,(c=Ma.deflateSetDictionary(this.strm,d))!==ab)throw new Error(U[c]);this._dict_set=!0}}function h(a,b){var c=new g(b);if(c.push(a,!0),c.err)throw c.msg||U[c.err];return c.result}function i(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function j(a){this.options=Oa({chunkSize:65536,windowBits:15,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&!(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Wa,this.strm.avail_out=0;var c=Pb.inflateInit2(this.strm,b.windowBits);if(c!==Ub)throw new Error(U[c]);if(this.header=new Qb,Pb.inflateGetHeader(this.strm,this.header),b.dictionary&&("string"==typeof b.dictionary?b.dictionary=Ta(b.dictionary):"[object ArrayBuffer]"===Rb.call(b.dictionary)&&(b.dictionary=new Uint8Array(b.dictionary)),b.raw&&(c=Pb.inflateSetDictionary(this.strm,b.dictionary))!==Ub))throw new Error(U[c])}function k(a,b){var c=new j(b);if(c.push(a),c.err)throw c.msg||U[c.err];return c.result}var l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),m=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),o=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),p=new Array(576);b(p);var q=new Array(60);b(q);var r=new Array(512);b(r);var t=new Array(256);b(t);var u=new Array(29);b(u);var v=new Array(30),w=void 0,x=void 0,y=void 0;b(v);var z=function(a){return a<256?r[a]:r[256+(a>>>7)]},A=function(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255},B=function(a,b,c){a.bi_valid>16-c?(a.bi_buf|=b<>16-a.bi_valid,a.bi_valid+=c-16):(a.bi_buf|=b<>>=1,c<<=1}while(--b>0);return c>>>1},E=function(a,b,c){var d=new Array(16),e=void 0,f=void 0,g=0;for(e=1;e<=15;e++)g=g+c[e-1]<<1,d[e]=g;for(f=0;f<=b;f++){var h=a[2*f+1];0!==h&&(a[2*f]=D(d[h]++,h))}},F=function(a){var b=void 0;for(b=0;b<286;b++)a.dyn_ltree[2*b]=0;for(b=0;b<30;b++)a.dyn_dtree[2*b]=0;for(b=0;b<19;b++)a.bl_tree[2*b]=0;a.dyn_ltree[512]=1,a.opt_len=a.static_len=0,a.sym_next=a.matches=0},G=function(a){a.bi_valid>8?A(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0},H=function(a,b,c,d){var e=2*b,f=2*c;return a[e]>1;g>=1;g--)I(a,c,g);i=f;do{g=a.heap[1],a.heap[1]=a.heap[a.heap_len--],I(a,c,1),h=a.heap[1],a.heap[--a.heap_max]=g,a.heap[--a.heap_max]=h,c[2*i]=c[2*g]+c[2*h],a.depth[i]=(a.depth[g]>=a.depth[h]?a.depth[g]:a.depth[h])+1,c[2*g+1]=c[2*h+1]=i,a.heap[1]=i++,I(a,c,1)}while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],function(a,b){var c=b.dyn_tree,d=b.max_code,e=b.stat_desc.static_tree,f=b.stat_desc.has_stree,g=b.stat_desc.extra_bits,h=b.stat_desc.extra_base,i=b.stat_desc.max_length,j=void 0,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0,p=0;for(m=0;m<=15;m++)a.bl_count[m]=0;for(c[2*a.heap[a.heap_max]+1]=0,j=a.heap_max+1;j<573;j++)k=a.heap[j],m=c[2*c[2*k+1]+1]+1,m>i&&(m=i,p++),c[2*k+1]=m,k>d||(a.bl_count[m]++,n=0,k>=h&&(n=g[k-h]),o=c[2*k],a.opt_len+=o*(m+n),f&&(a.static_len+=o*(e[2*k+1]+n)));if(0!==p){do{for(m=i-1;0===a.bl_count[m];)m--;a.bl_count[m]--,a.bl_count[m+1]+=2,a.bl_count[i]--,p-=2}while(p>0);for(m=i;0!==m;m--)for(k=a.bl_count[m];0!==k;)(l=a.heap[--j])>d||(c[2*l+1]!==m&&(a.opt_len+=(m-c[2*l+1])*c[2*l],c[2*l+1]=m),k--)}}(a,b),E(c,j,a.bl_count)},L=function(a,b,c){var d=void 0,e=void 0,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)e=g,g=b[2*(d+1)+1],++h0?(2===a.strm.data_type&&(a.strm.data_type=function(a){var b=void 0,c=4093624447;for(b=0;b<=31;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return 0;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return 1;for(b=32;b<256;b++)if(0!==a.dyn_ltree[2*b])return 1;return 0}(a)),K(a,a.l_desc),K(a,a.d_desc),g=function(a){var b=void 0;for(L(a,a.dyn_ltree,a.l_desc.max_code),L(a,a.dyn_dtree,a.d_desc.max_code),K(a,a.bl_desc),b=18;b>=3&&0===a.bl_tree[2*o[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}(a),e=a.opt_len+3+7>>>3,(f=a.static_len+3+7>>>3)<=e&&(e=f)):e=f=c+5,c+4<=e&&-1!==b?O(a,b,c,d):4===a.strategy||f===e?(B(a,2+(d?1:0),3),J(a,p,q)):(B(a,4+(d?1:0),3),function(a,b,c,d){var e=void 0;for(B(a,b-257,5),B(a,c-1,5),B(a,d-4,4),e=0;e>=7;e<30;e++)for(v[e]=f<<7,a=0;a<1<>8,a.pending_buf[a.sym_buf+a.sym_next++]=c,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(t[c]+256+1)]++,a.dyn_dtree[2*z(b)]++),a.sym_next===a.sym_end},_tr_align:function(a){B(a,2,3),C(a,256,p),function(a){16===a.bi_valid?(A(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}(a)}},R=function(a,b,c,d){for(var e=65535&a,f=a>>>16&65535,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do{e=e+b[d++]|0,f=f+e|0}while(--g);e%=65521,f%=65521}return e|f<<16},S=new Uint32Array(function(){for(var a=void 0,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}()),T=function(a,b,c,d){var e=S,f=d+c;a^=-1;for(var g=d;g>>8^e[255&(a^b[g])];return~a},U={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},V={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},W=Q._tr_init,X=Q._tr_stored_block,Y=Q._tr_flush_block,Z=Q._tr_tally,$=Q._tr_align,_=V.Z_NO_FLUSH,aa=V.Z_PARTIAL_FLUSH,ba=V.Z_FULL_FLUSH,ca=V.Z_FINISH,da=V.Z_BLOCK,ea=V.Z_OK,fa=V.Z_STREAM_END,ga=V.Z_STREAM_ERROR,ha=V.Z_DATA_ERROR,ia=V.Z_BUF_ERROR,ja=V.Z_DEFAULT_COMPRESSION,ka=V.Z_FILTERED,la=V.Z_HUFFMAN_ONLY,ma=V.Z_RLE,na=V.Z_FIXED,oa=V.Z_DEFAULT_STRATEGY,pa=V.Z_UNKNOWN,qa=V.Z_DEFLATED,ra=262,sa=function(a,b){return a.msg=U[b],b},ta=function(a){return 2*a-(a>4?9:0)},ua=function(a){for(var b=a.length;--b>=0;)a[b]=0},va=function(a){var b=void 0,c=void 0,d=void 0,e=a.w_size;b=a.hash_size,d=b;do{c=a.head[--d],a.head[d]=c>=e?c-e:0}while(--b);b=e,d=b;do{c=a.prev[--d],a.prev[d]=c>=e?c-e:0}while(--b)},wa=function(a,b,c){return(b<a.avail_out&&(c=a.avail_out),0!==c&&(a.output.set(b.pending_buf.subarray(b.pending_out,b.pending_out+c),a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))},ya=function(a,b){Y(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,xa(a.strm)},za=function(a,b){a.pending_buf[a.pending++]=b},Aa=function(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b},Ba=function(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,b.set(a.input.subarray(a.next_in,a.next_in+e),c),1===a.state.wrap?a.adler=R(a.adler,b,e,c):2===a.state.wrap&&(a.adler=T(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)},Ca=function(a,b){var c=void 0,d=void 0,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-ra?a.strstart-(a.w_size-ra):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+258,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do{if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do{}while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&fg){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}}while((b=l[b&k])>i&&0!=--e);return g<=a.lookahead?g:a.lookahead},Da=function(a){var b=a.w_size,c=void 0,d=void 0,e=void 0;do{if(d=a.window_size-a.lookahead-a.strstart,a.strstart>=b+(b-ra)&&(a.window.set(a.window.subarray(b,b+b-d),0),a.match_start-=b,a.strstart-=b,a.block_start-=b,a.insert>a.strstart&&(a.insert=a.strstart),va(a),d+=b),0===a.strm.avail_in)break;if(c=Ba(a.strm,a.window,a.strstart+a.lookahead,d),a.lookahead+=c,a.lookahead+a.insert>=3)for(e=a.strstart-a.insert,a.ins_h=a.window[e],a.ins_h=wa(a,a.ins_h,a.window[e+1]);a.insert&&(a.ins_h=wa(a,a.ins_h,a.window[e+3-1]),a.prev[e&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=e,e++,a.insert--,!(a.lookahead+a.insert<3)););}while(a.lookaheada.w_size?a.w_size:a.pending_buf_size-5,g=0,h=a.strm.avail_in;do{if(c=65535,e=a.bi_valid+42>>3,a.strm.avail_outd+a.strm.avail_in&&(c=d+a.strm.avail_in),c>e&&(c=e),c>8,a.pending_buf[a.pending-2]=~c,a.pending_buf[a.pending-1]=~c>>8,xa(a.strm),d&&(d>c&&(d=c),a.strm.output.set(a.window.subarray(a.block_start,a.block_start+d),a.strm.next_out),a.strm.next_out+=d,a.strm.avail_out-=d,a.strm.total_out+=d,a.block_start+=d,c-=d),c&&(Ba(a.strm,a.strm.output,a.strm.next_out,c),a.strm.next_out+=c,a.strm.avail_out-=c,a.strm.total_out+=c)}while(0===g);return h-=a.strm.avail_in,h&&(h>=a.w_size?(a.matches=2,a.window.set(a.strm.input.subarray(a.strm.next_in-a.w_size,a.strm.next_in),0),a.strstart=a.w_size,a.insert=a.strstart):(a.window_size-a.strstart<=h&&(a.strstart-=a.w_size,a.window.set(a.window.subarray(a.w_size,a.w_size+a.strstart),0),a.matches<2&&a.matches++,a.insert>a.strstart&&(a.insert=a.strstart)),a.window.set(a.strm.input.subarray(a.strm.next_in-h,a.strm.next_in),a.strstart),a.strstart+=h,a.insert+=h>a.w_size-a.insert?a.w_size-a.insert:h),a.block_start=a.strstart),a.high_watere&&a.block_start>=a.w_size&&(a.block_start-=a.w_size,a.strstart-=a.w_size,a.window.set(a.window.subarray(a.w_size,a.w_size+a.strstart),0),a.matches<2&&a.matches++,e+=a.w_size,a.insert>a.strstart&&(a.insert=a.strstart)),e>a.strm.avail_in&&(e=a.strm.avail_in),e&&(Ba(a.strm,a.window,a.strstart,e),a.strstart+=e,a.insert+=e>a.w_size-a.insert?a.w_size-a.insert:e),a.high_water>3,e=a.pending_buf_size-e>65535?65535:a.pending_buf_size-e,f=e>a.w_size?a.w_size:e,d=a.strstart-a.block_start,(d>=f||(d||b===ca)&&b!==_&&0===a.strm.avail_in&&d<=e)&&(c=d>e?e:d,g=b===ca&&0===a.strm.avail_in&&c===d?1:0,X(a,a.block_start,c,g),a.block_start+=c,xa(a.strm)),g?3:1)},Fa=function(a,b){for(var c=void 0,d=void 0;;){if(a.lookahead=3&&(a.ins_h=wa(a,a.ins_h,a.window[a.strstart+3-1]),c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-ra&&(a.match_length=Ca(a,c)),a.match_length>=3)if(d=Z(a,a.strstart-a.match_start,a.match_length-3),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=3){a.match_length--;do{a.strstart++,a.ins_h=wa(a,a.ins_h,a.window[a.strstart+3-1]),c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart}while(0!=--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=wa(a,a.ins_h,a.window[a.strstart+1]);else d=Z(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(ya(a,!1),0===a.strm.avail_out))return 1}return a.insert=a.strstart<2?a.strstart:2,b===ca?(ya(a,!0),0===a.strm.avail_out?3:4):a.sym_next&&(ya(a,!1),0===a.strm.avail_out)?1:2},Ga=function(a,b){for(var c=void 0,d=void 0,e=void 0;;){if(a.lookahead=3&&(a.ins_h=wa(a,a.ins_h,a.window[a.strstart+3-1]),c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=2,0!==c&&a.prev_length4096)&&(a.match_length=2)),a.prev_length>=3&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-3,d=Z(a,a.strstart-1-a.prev_match,a.prev_length-3),a.lookahead-=a.prev_length-1,a.prev_length-=2;do{++a.strstart<=e&&(a.ins_h=wa(a,a.ins_h,a.window[a.strstart+3-1]),c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart)}while(0!=--a.prev_length);if(a.match_available=0,a.match_length=2,a.strstart++,d&&(ya(a,!1),0===a.strm.avail_out))return 1}else if(a.match_available){if(d=Z(a,0,a.window[a.strstart-1]),d&&ya(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return 1}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=Z(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<2?a.strstart:2,b===ca?(ya(a,!0),0===a.strm.avail_out?3:4):a.sym_next&&(ya(a,!1),0===a.strm.avail_out)?1:2},Ha=[new e(0,0,0,0,Ea),new e(4,4,8,4,Fa),new e(4,5,16,8,Fa),new e(4,6,32,32,Fa),new e(4,4,16,16,Ga),new e(8,16,32,32,Ga),new e(8,16,128,128,Ga),new e(8,32,128,256,Ga),new e(32,128,258,1024,Ga),new e(32,258,258,4096,Ga)],Ia=function(a){if(!a)return 1;var b=a.state;return!b||b.strm!==a||42!==b.status&&57!==b.status&&69!==b.status&&73!==b.status&&91!==b.status&&103!==b.status&&113!==b.status&&666!==b.status?1:0},Ja=function(a){if(Ia(a))return sa(a,ga);a.total_in=a.total_out=0,a.data_type=pa;var b=a.state;return b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=2===b.wrap?57:b.wrap?42:113,a.adler=2===b.wrap?0:1,b.last_flush=-2,W(b),ea},Ka=function(a){var b,c=Ja(a);return c===ea&&((b=a.state).window_size=2*b.w_size,ua(b.head),b.max_lazy_match=Ha[b.level].max_lazy,b.good_match=Ha[b.level].good_length,b.nice_match=Ha[b.level].nice_length,b.max_chain_length=Ha[b.level].max_chain,b.strstart=0,b.block_start=0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=2,b.match_available=0,b.ins_h=0),c},La=function(a,b,c,d,e,g){if(!a)return ga;var h=1;if(b===ja&&(b=6),d<0?(h=0,d=-d):d>15&&(h=2,d-=16),e<1||e>9||c!==qa||d<8||d>15||b<0||b>9||g<0||g>na||8===d&&1!==h)return sa(a,ga);8===d&&(d=9);var i=new f;return a.state=i,i.strm=a,i.status=42,i.wrap=h,i.gzhead=null,i.w_bits=d,i.w_size=1<da||b<0)return a?sa(a,ga):ga;var c=a.state;if(!a.output||0!==a.avail_in&&!a.input||666===c.status&&b!==ca)return sa(a,0===a.avail_out?ia:ga);var d=c.last_flush;if(c.last_flush=b,0!==c.pending){if(xa(a),0===a.avail_out)return c.last_flush=-1,ea}else if(0===a.avail_in&&ta(b)<=ta(d)&&b!==ca)return sa(a,ia);if(666===c.status&&0!==a.avail_in)return sa(a,ia);if(42===c.status&&0===c.wrap&&(c.status=113),42===c.status){var e=qa+(c.w_bits-8<<4)<<8,f=-1;if(f=c.strategy>=la||c.level<2?0:c.level<6?1:6===c.level?2:3,e|=f<<6,0!==c.strstart&&(e|=32),e+=31-e%31,Aa(c,e),0!==c.strstart&&(Aa(c,a.adler>>>16),Aa(c,65535&a.adler)),a.adler=1,c.status=113,xa(a),0!==c.pending)return c.last_flush=-1,ea}if(57===c.status)if(a.adler=0,za(c,31),za(c,139),za(c,8),c.gzhead)za(c,(c.gzhead.text?1:0)+(c.gzhead.hcrc?2:0)+(c.gzhead.extra?4:0)+(c.gzhead.name?8:0)+(c.gzhead.comment?16:0)),za(c,255&c.gzhead.time),za(c,c.gzhead.time>>8&255),za(c,c.gzhead.time>>16&255),za(c,c.gzhead.time>>24&255),za(c,9===c.level?2:c.strategy>=la||c.level<2?4:0),za(c,255&c.gzhead.os),c.gzhead.extra&&c.gzhead.extra.length&&(za(c,255&c.gzhead.extra.length),za(c,c.gzhead.extra.length>>8&255)),c.gzhead.hcrc&&(a.adler=T(a.adler,c.pending_buf,c.pending,0)),c.gzindex=0,c.status=69;else if(za(c,0),za(c,0),za(c,0),za(c,0),za(c,0),za(c,9===c.level?2:c.strategy>=la||c.level<2?4:0),za(c,3),c.status=113,xa(a),0!==c.pending)return c.last_flush=-1,ea;if(69===c.status){if(c.gzhead.extra){for(var g=c.pending,h=(65535&c.gzhead.extra.length)-c.gzindex;c.pending+h>c.pending_buf_size;){var i=c.pending_buf_size-c.pending;if(c.pending_buf.set(c.gzhead.extra.subarray(c.gzindex,c.gzindex+i),c.pending),c.pending=c.pending_buf_size,c.gzhead.hcrc&&c.pending>g&&(a.adler=T(a.adler,c.pending_buf,c.pending-g,g)),c.gzindex+=i,xa(a),0!==c.pending)return c.last_flush=-1,ea;g=0,h-=i}var j=new Uint8Array(c.gzhead.extra);c.pending_buf.set(j.subarray(c.gzindex,c.gzindex+h),c.pending),c.pending+=h,c.gzhead.hcrc&&c.pending>g&&(a.adler=T(a.adler,c.pending_buf,c.pending-g,g)),c.gzindex=0}c.status=73}if(73===c.status){if(c.gzhead.name){var k=void 0,l=c.pending;do{if(c.pending===c.pending_buf_size){if(c.gzhead.hcrc&&c.pending>l&&(a.adler=T(a.adler,c.pending_buf,c.pending-l,l)),xa(a),0!==c.pending)return c.last_flush=-1,ea;l=0}k=c.gzindexl&&(a.adler=T(a.adler,c.pending_buf,c.pending-l,l)),c.gzindex=0}c.status=91}if(91===c.status){if(c.gzhead.comment){var m=void 0,n=c.pending;do{if(c.pending===c.pending_buf_size){if(c.gzhead.hcrc&&c.pending>n&&(a.adler=T(a.adler,c.pending_buf,c.pending-n,n)),xa(a),0!==c.pending)return c.last_flush=-1,ea;n=0}m=c.gzindexn&&(a.adler=T(a.adler,c.pending_buf,c.pending-n,n))}c.status=103}if(103===c.status){if(c.gzhead.hcrc){if(c.pending+2>c.pending_buf_size&&(xa(a),0!==c.pending))return c.last_flush=-1,ea;za(c,255&a.adler),za(c,a.adler>>8&255),a.adler=0}if(c.status=113,xa(a),0!==c.pending)return c.last_flush=-1,ea}if(0!==a.avail_in||0!==c.lookahead||b!==_&&666!==c.status){var o=0===c.level?Ea(c,b):c.strategy===la?function(a,b){for(var c=void 0;;){if(0===a.lookahead&&(Da(a),0===a.lookahead)){if(b===_)return 1;break}if(a.match_length=0,c=Z(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(ya(a,!1),0===a.strm.avail_out))return 1}return a.insert=0,b===ca?(ya(a,!0),0===a.strm.avail_out?3:4):a.sym_next&&(ya(a,!1),0===a.strm.avail_out)?1:2}(c,b):c.strategy===ma?function(a,b){for(var c=void 0,d=void 0,e=void 0,f=void 0,g=a.window;;){if(a.lookahead<=258){if(Da(a),a.lookahead<=258&&b===_)return 1;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=3&&a.strstart>0&&(e=a.strstart-1,(d=g[e])===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+258;do{}while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&ea.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=3?(c=Z(a,1,a.match_length-3),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=Z(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(ya(a,!1),0===a.strm.avail_out))return 1}return a.insert=0,b===ca?(ya(a,!0),0===a.strm.avail_out?3:4):a.sym_next&&(ya(a,!1),0===a.strm.avail_out)?1:2}(c,b):Ha[c.level].func(c,b);if(3!==o&&4!==o||(c.status=666),1===o||3===o)return 0===a.avail_out&&(c.last_flush=-1),ea;if(2===o&&(b===aa?$(c):b!==da&&(X(c,0,0,!1),b===ba&&(ua(c.head),0===c.lookahead&&(c.strstart=0,c.block_start=0,c.insert=0))),xa(a),0===a.avail_out))return c.last_flush=-1,ea}return b!==ca?ea:c.wrap<=0?fa:(2===c.wrap?(za(c,255&a.adler),za(c,a.adler>>8&255),za(c,a.adler>>16&255),za(c,a.adler>>24&255),za(c,255&a.total_in),za(c,a.total_in>>8&255),za(c,a.total_in>>16&255),za(c,a.total_in>>24&255)):(Aa(c,a.adler>>>16),Aa(c,65535&a.adler)),xa(a),c.wrap>0&&(c.wrap=-c.wrap),0!==c.pending?ea:fa)},deflateEnd:function(a){if(Ia(a))return ga;var b=a.state.status;return a.state=null,113===b?sa(a,ha):ea},deflateSetDictionary:function(a,b){var c=b.length;if(Ia(a))return ga;var d=a.state,e=d.wrap;if(2===e||1===e&&42!==d.status||d.lookahead)return ga;if(1===e&&(a.adler=R(a.adler,b,c,0)),d.wrap=0,c>=d.w_size){0===e&&(ua(d.head),d.strstart=0,d.block_start=0,d.insert=0);var f=new Uint8Array(d.w_size);f.set(b.subarray(c-d.w_size,c),0),b=f,c=d.w_size}var g=a.avail_in,h=a.next_in,i=a.input;for(a.avail_in=c,a.next_in=0,a.input=b,Da(d);d.lookahead>=3;){var j=d.strstart,k=d.lookahead-2;do{d.ins_h=wa(d,d.ins_h,d.window[j+3-1]),d.prev[j&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=j,j++}while(--k);d.strstart=j,d.lookahead=2,Da(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=2,d.match_available=0,a.next_in=h,a.input=i,a.avail_in=g,d.wrap=e,ea},deflateInfo:"pako deflate (from Nodeca project)"},Na=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},Oa=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=(void 0===c?"undefined":(0,s.default)(c)))throw new TypeError(c+"must be non-object");for(var d in c)Na(c,d)&&(a[d]=c[d])}}return a},Pa=function(a){for(var b=0,c=0,d=a.length;c=252?6:Sa>=248?5:Sa>=240?4:Sa>=224?3:Sa>=192?2:1;Ra[254]=Ra[254]=1;var Ta=function(a){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(a);var b=void 0,c=void 0,d=void 0,e=void 0,f=void 0,g=a.length,h=0;for(e=0;e>>6,b[f++]=128|63&c):c<65536?(b[f++]=224|c>>>12,b[f++]=128|c>>>6&63,b[f++]=128|63&c):(b[f++]=240|c>>>18,b[f++]=128|c>>>12&63,b[f++]=128|c>>>6&63,b[f++]=128|63&c);return b},Ua=function(a,b){var c=b||a.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(a.subarray(0,b));var d=void 0,e=void 0,f=new Array(2*c);for(e=0,d=0;d4)f[e++]=65533,d+=h-1;else{for(g&=2===h?31:3===h?15:7;h>1&&d1?f[e++]=65533:g<65536?f[e++]=g:(g-=65536,f[e++]=55296|g>>10&1023,f[e++]=56320|1023&g)}}}return function(a,b){if(b<65534&&a.subarray&&Qa)return String.fromCharCode.apply(null,a.length===b?a:a.subarray(0,b));for(var c="",d=0;da.length&&(b=a.length);for(var c=b-1;c>=0&&128==(192&a[c]);)c--;return c<0||0===c?b:c+Ra[a[c]]>b?c:b},Wa=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Xa=Object.prototype.toString,Ya=V.Z_NO_FLUSH,Za=V.Z_SYNC_FLUSH,$a=V.Z_FULL_FLUSH,_a=V.Z_FINISH,ab=V.Z_OK,bb=V.Z_STREAM_END,cb=V.Z_DEFAULT_COMPRESSION,db=V.Z_DEFAULT_STRATEGY,eb=V.Z_DEFLATED;g.prototype.push=function(a,b){var c=this.strm,d=this.options.chunkSize,e=void 0,f=void 0;if(this.ended)return!1;for(f=b===~~b?b:!0===b?_a:Ya,"string"==typeof a?c.input=Ta(a):"[object ArrayBuffer]"===Xa.call(a)?c.input=new Uint8Array(a):c.input=a,c.next_in=0,c.avail_in=c.input.length;;)if(0===c.avail_out&&(c.output=new Uint8Array(d),c.next_out=0,c.avail_out=d),(f===Za||f===$a)&&c.avail_out<=6)this.onData(c.output.subarray(0,c.next_out)),c.avail_out=0;else{if((e=Ma.deflate(c,f))===bb)return c.next_out>0&&this.onData(c.output.subarray(0,c.next_out)),e=Ma.deflateEnd(this.strm),this.onEnd(e),this.ended=!0,e===ab;if(0!==c.avail_out){if(f>0&&c.next_out>0)this.onData(c.output.subarray(0,c.next_out)),c.avail_out=0;else if(0===c.avail_in)break}else this.onData(c.output)}return!0},g.prototype.onData=function(a){this.chunks.push(a)},g.prototype.onEnd=function(a){a===ab&&(this.result=Pa(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg};var fb={Deflate:g,deflate:h,deflateRaw:function(a,b){return(b=b||{}).raw=!0,h(a,b)},gzip:function(a,b){return(b=b||{}).gzip=!0,h(a,b)},constants:V},gb=16209,hb=function(a,b){var c=void 0,d=void 0,e=void 0,f=void 0,g=void 0,h=void 0,i=void 0,j=void 0,k=void 0,l=void 0,m=void 0,n=void 0,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0,t=void 0,u=void 0,v=void 0,w=void 0,x=void 0,y=void 0,z=void 0,A=a.state;c=a.next_in,y=a.input,d=c+(a.avail_in-5),e=a.next_out,z=a.output,f=e-(b-a.avail_out),g=e+(a.avail_out-257),h=A.dmax,i=A.wsize,j=A.whave,k=A.wnext,l=A.window,m=A.hold,n=A.bits,o=A.lencode,p=A.distcode,q=(1<>>24,m>>>=t,n-=t,0===(t=s>>>16&255))z[e++]=65535&s;else{if(!(16&t)){if(!(64&t)){s=o[(65535&s)+(m&(1<>>=t,n-=t),n<15&&(m+=y[c++]<>>24,m>>>=t,n-=t,!(16&(t=s>>>16&255))){if(!(64&t)){s=p[(65535&s)+(m&(1<h){a.msg="invalid distance too far back",A.mode=gb;break a}if(m>>>=t,n-=t,t=e-f,v>t){if((t=v-t)>j&&A.sane){a.msg="invalid distance too far back",A.mode=gb;break a}if(w=0,x=l,0===k){if(w+=i-t,t2;)z[e++]=x[w++],z[e++]=x[w++], z[e++]=x[w++],u-=3;u&&(z[e++]=x[w++],u>1&&(z[e++]=x[w++]))}else{w=e-v;do{z[e++]=z[w++],z[e++]=z[w++],z[e++]=z[w++],u-=3}while(u>2);u&&(z[e++]=z[w++],u>1&&(z[e++]=z[w++]))}break}}break}}while(c>3,c-=u,n-=u<<3,m&=(1<=1&&0===A[s];s--);if(t>s&&(t=s),0===s)return e[f++]=20971520,e[f++]=20971520,h.bits=1,0;for(r=1;r0&&(0===a||1!==s))return-1;for(B[1]=0,p=1;p<15;p++)B[p+1]=B[p]+A[p];for(q=0;q852||2===a&&x>592)return 1;for(;;){C=p-v,g[q]+1=o?(D=F[g[q]-o],E=z[g[q]-o]):(D=96,E=0),j=1<>v)+k]=C<<24|D<<16|E}while(0!==k);for(j=1<>=1;if(0!==j?(y&=j-1,y+=j):y=0,q++,0==--A[p]){if(p===s)break;p=b[c+g[q]]}if(p>t&&(y&m)!==l){for(0===v&&(v=t),n+=r,u=p-v,w=1<852||2===a&&x>592)return 1;l=y&m,e[l]=t<<24|u<<16|n-f}}return 0!==y&&(e[n+y]=p-v<<24|64<<16),h.bits=t,0},nb=V.Z_FINISH,ob=V.Z_BLOCK,pb=V.Z_TREES,qb=V.Z_OK,rb=V.Z_STREAM_END,sb=V.Z_NEED_DICT,tb=V.Z_STREAM_ERROR,ub=V.Z_DATA_ERROR,vb=V.Z_MEM_ERROR,wb=V.Z_BUF_ERROR,xb=V.Z_DEFLATED,yb=16180,zb=16190,Ab=16191,Bb=16199,Cb=16200,Db=16209,Eb=function(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)},Fb=function(a){if(!a)return 1;var b=a.state;return!b||b.strm!==a||b.mode16211?1:0},Gb=function(a){if(Fb(a))return tb;var b=a.state;return a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=yb,b.last=0,b.havedict=0,b.flags=-1,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new Int32Array(852),b.distcode=b.distdyn=new Int32Array(592),b.sane=1,b.back=-1,qb},Hb=function(a){if(Fb(a))return tb;var b=a.state;return b.wsize=0,b.whave=0,b.wnext=0,Gb(a)},Ib=function(a,b){var c=void 0;if(Fb(a))return tb;var d=a.state;return b<0?(c=0,b=-b):(c=5+(b>>4),b<48&&(b&=15)),b&&(b<8||b>15)?tb:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,Hb(a))},Jb=function(a,b){if(!a)return tb;var c=new i;a.state=c,c.strm=a,c.window=null,c.mode=yb;var d=Ib(a,b);return d!==qb&&(a.state=null),d},Kb=void 0,Lb=void 0,Mb=!0,Nb=function(a){if(Mb){Kb=new Int32Array(512),Lb=new Int32Array(32);for(var b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(mb(1,a.lens,0,288,Kb,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;mb(2,a.lens,0,32,Lb,0,a.work,{bits:5}),Mb=!1}a.lencode=Kb,a.lenbits=9,a.distcode=Lb,a.distbits=5},Ob=function(a,b,c,d){var e=void 0,f=a.state;return null===f.window&&(f.wsize=1<=f.wsize?(f.window.set(b.subarray(c-f.wsize,c),0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),f.window.set(b.subarray(c-d,c-d+e),f.wnext),(d-=e)?(f.window.set(b.subarray(c-d,c),0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave>>8&255,c.check=T(c.check,z,2,0),j=0,k=0,c.mode=16181;break}if(c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&j)<<8)+(j>>8))%31){a.msg="incorrect header check",c.mode=Db;break}if((15&j)!==xb){a.msg="unknown compression method",c.mode=Db;break}if(j>>>=4,k-=4,w=8+(15&j),0===c.wbits&&(c.wbits=w),w>15||w>c.wbits){a.msg="invalid window size",c.mode=Db;break}c.dmax=1<>8&1),512&c.flags&&4&c.wrap&&(z[0]=255&j,z[1]=j>>>8&255,c.check=T(c.check,z,2,0)),j=0,k=0,c.mode=16182;case 16182:for(;k<32;){if(0===h)break a;h--,j+=d[f++]<>>8&255,z[2]=j>>>16&255,z[3]=j>>>24&255,c.check=T(c.check,z,4,0)),j=0,k=0,c.mode=16183;case 16183:for(;k<16;){if(0===h)break a;h--,j+=d[f++]<>8),512&c.flags&&4&c.wrap&&(z[0]=255&j,z[1]=j>>>8&255,c.check=T(c.check,z,2,0)),j=0,k=0,c.mode=16184;case 16184:if(1024&c.flags){for(;k<16;){if(0===h)break a;h--,j+=d[f++]<>>8&255,c.check=T(c.check,z,2,0)),j=0,k=0}else c.head&&(c.head.extra=null);c.mode=16185;case 16185:if(1024&c.flags&&(n=c.length,n>h&&(n=h),n&&(c.head&&(w=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Uint8Array(c.head.extra_len)),c.head.extra.set(d.subarray(f,f+n),w)),512&c.flags&&4&c.wrap&&(c.check=T(c.check,d,n,f)),h-=n,f+=n,c.length-=n),c.length))break a;c.length=0,c.mode=16186;case 16186:if(2048&c.flags){if(0===h)break a;n=0;do{w=d[f+n++],c.head&&w&&c.length<65536&&(c.head.name+=String.fromCharCode(w))}while(w&&n>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=Ab;break;case 16189:for(;k<32;){if(0===h)break a;h--,j+=d[f++]<>>=7&k,k-=7&k,c.mode=16206;break}for(;k<3;){if(0===h)break a;h--,j+=d[f++]<>>=1,k-=1,3&j){case 0:c.mode=16193;break;case 1:if(Nb(c),c.mode=Bb,b===pb){j>>>=2,k-=2;break a}break;case 2:c.mode=16196;break;case 3:a.msg="invalid block type",c.mode=Db}j>>>=2,k-=2;break;case 16193:for(j>>>=7&k,k-=7&k;k<32;){if(0===h)break a;h--,j+=d[f++]<>>16^65535)){a.msg="invalid stored block lengths",c.mode=Db;break}if(c.length=65535&j,j=0,k=0,c.mode=16194,b===pb)break a;case 16194:c.mode=16195;case 16195:if(n=c.length){if(n>h&&(n=h),n>i&&(n=i),0===n)break a;e.set(d.subarray(f,f+n),g),h-=n,f+=n,i-=n,g+=n,c.length-=n;break}c.mode=Ab;break;case 16196:for(;k<14;){if(0===h)break a;h--,j+=d[f++]<>>=5,k-=5,c.ndist=1+(31&j),j>>>=5,k-=5,c.ncode=4+(15&j),j>>>=4,k-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=Db;break}c.have=0,c.mode=16197;case 16197:for(;c.have>>=3,k-=3}for(;c.have<19;)c.lens[C[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,A={bits:c.lenbits},x=mb(0,c.lens,0,19,c.lencode,0,c.work,A),c.lenbits=A.bits,x){a.msg="invalid code lengths set",c.mode=Db;break}c.have=0,c.mode=16198;case 16198:for(;c.have>>24,r=y>>>16&255,s=65535&y,!(q<=k);){if(0===h)break a;h--,j+=d[f++]<>>=q,k-=q,c.lens[c.have++]=s;else{if(16===s){for(B=q+2;k>>=q,k-=q,0===c.have){a.msg="invalid bit length repeat",c.mode=Db;break}w=c.lens[c.have-1],n=3+(3&j),j>>>=2,k-=2}else if(17===s){for(B=q+3;k>>=q,k-=q,w=0,n=3+(7&j),j>>>=3,k-=3}else{for(B=q+7;k>>=q,k-=q,w=0,n=11+(127&j),j>>>=7,k-=7}if(c.have+n>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=Db;break}for(;n--;)c.lens[c.have++]=w}}if(c.mode===Db)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=Db;break}if(c.lenbits=9,A={bits:c.lenbits},x=mb(1,c.lens,0,c.nlen,c.lencode,0,c.work,A),c.lenbits=A.bits,x){a.msg="invalid literal/lengths set",c.mode=Db;break}if(c.distbits=6,c.distcode=c.distdyn,A={bits:c.distbits},x=mb(2,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,A),c.distbits=A.bits,x){a.msg="invalid distances set",c.mode=Db;break}if(c.mode=Bb,b===pb)break a;case Bb:c.mode=Cb;case Cb:if(h>=6&&i>=258){a.next_out=g,a.avail_out=i,a.next_in=f,a.avail_in=h,c.hold=j,c.bits=k,hb(a,m),g=a.next_out,e=a.output,i=a.avail_out,f=a.next_in,d=a.input,h=a.avail_in,j=c.hold,k=c.bits,c.mode===Ab&&(c.back=-1);break}for(c.back=0;y=c.lencode[j&(1<>>24,r=y>>>16&255,s=65535&y,!(q<=k);){if(0===h)break a;h--,j+=d[f++]<>t)],q=y>>>24,r=y>>>16&255,s=65535&y,!(t+q<=k);){if(0===h)break a;h--,j+=d[f++]<>>=t,k-=t,c.back+=t}if(j>>>=q,k-=q,c.back+=q,c.length=s,0===r){c.mode=16205;break}if(32&r){c.back=-1,c.mode=Ab;break}if(64&r){a.msg="invalid literal/length code",c.mode=Db;break}c.extra=15&r,c.mode=16201;case 16201:if(c.extra){for(B=c.extra;k>>=c.extra,k-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=16202;case 16202:for(;y=c.distcode[j&(1<>>24,r=y>>>16&255,s=65535&y,!(q<=k);){if(0===h)break a;h--,j+=d[f++]<>t)],q=y>>>24,r=y>>>16&255,s=65535&y,!(t+q<=k);){if(0===h)break a;h--,j+=d[f++]<>>=t,k-=t,c.back+=t}if(j>>>=q,k-=q,c.back+=q,64&r){a.msg="invalid distance code",c.mode=Db;break}c.offset=s,c.extra=15&r,c.mode=16203;case 16203:if(c.extra){for(B=c.extra;k>>=c.extra,k-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=Db;break}c.mode=16204;case 16204:if(0===i)break a;if(n=m-i,c.offset>n){if((n=c.offset-n)>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=Db;break}n>c.wnext?(n-=c.wnext,o=c.wsize-n):o=c.wnext-n,n>c.length&&(n=c.length),p=c.window}else p=e,o=g-c.offset,n=c.length;n>i&&(n=i),i-=n,c.length-=n;do{e[g++]=p[o++]}while(--n);0===c.length&&(c.mode=Cb);break;case 16205:if(0===i)break a;e[g++]=c.length,i--,c.mode=Cb;break;case 16206:if(c.wrap){for(;k<32;){if(0===h)break a;h--,j|=d[f++]<0&&f===Vb&&c.state.wrap>0&&0!==a[c.next_in];)Pb.inflateReset(c),f=Pb.inflate(c,g);switch(f){case Xb:case Yb:case Wb:case Zb:return this.onEnd(f),this.ended=!0,!1}if(h=c.avail_out,c.next_out&&(0===c.avail_out||f===Vb))if("string"===this.options.to){var i=Va(c.output,c.next_out),j=c.next_out-i,k=Ua(c.output,i);c.next_out=j,c.avail_out=d-j,j&&c.output.set(c.output.subarray(i,i+j),0),this.onData(k)}else this.onData(c.output.length===c.next_out?c.output:c.output.subarray(0,c.next_out));if(f!==Ub||0!==h){if(f===Vb)return f=Pb.inflateEnd(this.strm),this.onEnd(f),this.ended=!0,!0;if(0===c.avail_in)break}}return!0},j.prototype.onData=function(a){this.chunks.push(a)},j.prototype.onEnd=function(a){a===Ub&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Pa(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg};var $b={Inflate:j,inflate:k,inflateRaw:function(a,b){return(b=b||{}).raw=!0,k(a,b)},ungzip:k,constants:V},_b=fb.Deflate,ac=fb.deflate,bc=fb.deflateRaw,cc=fb.gzip,dc=$b.Inflate,ec=$b.inflate,fc=$b.inflateRaw,gc=$b.ungzip,hc=_b,ic=ac,jc=bc,kc=cc,lc=dc,mc=ec,nc=fc,oc=gc,pc=V,qc={Deflate:hc,deflate:ic,deflateRaw:jc,gzip:kc,Inflate:lc,inflate:mc,inflateRaw:nc,ungzip:oc,constants:pc};a.Deflate=hc,a.Inflate=lc,a.constants=pc,a.default=qc,a.deflate=ic,a.deflateRaw=jc,a.gzip=kc,a.inflate=mc,a.inflateRaw=nc,a.ungzip=oc,Object.defineProperty(a,"__esModule",{value:!0})}(b)}(0,C.exports);var D=b(C.exports),E=function(){function a(b){if((0,o.default)(this,a),this.version=f,this.config=b,this.logger=b.logger,this.clientInfo=null,this.certParams={name:"ECDSA",namedCurve:"P-256"},this.extensionId=c(),this.pcProxies=new Map,this.audioContextProxies=new Map,this.audioNodeProxies=new Map,this.workerProxies=new Map,this.streamProxies=new Map,this.eventListeners=new Map,this.mediaElementProxies=new Map,this.transceiverProxies=new Map,this.senderProxies=new Map,this.dtmfProxies=new Map,this.receiverProxies=new Map,this.trackProxies=new Map,this.overridenApis=new Map,this.decoder=new TextDecoder("utf-8"),this.logger.debug("Checking for chrome extension. Chrome runtime: "+chrome.runtime),void 0===chrome.runtime)throw new Error("Chrome runtime not available. DCV WebRTC chrome extension may not be active.");this.overridenApis.set("navigator.mediaDevices.getUserMedia",navigator.mediaDevices.getUserMedia),this.overridenApis.set("navigator.mediaDevices.enumerateDevices",navigator.mediaDevices.enumerateDevices),this.overridenApis.set("window.RTCPeerConnection",window.RTCPeerConnection),this.overridenApis.set("window.RTCPeerConnection.generateCertificate",window.RTCPeerConnection.generateCertificate),this.overridenApis.set("window.AudioContext",window.AudioContext),this.overridenApis.set("window.Worker",window.Worker),this.status=v.NEW,this.statusChangeEventListeners=[],this.lastHeartbeat=Date.now(),this.heartbeatTimeout=null,this.heartbeatTimeoutMs=1e4,this.heartbeatIntervalPeriodMs=1e3,this.heartbeatInterval=null}return(0,q.default)(a,[{key:"clearHeartbeatInterval",value:function(){this.heartbeatTimeout&&(clearTimeout(this.heartbeatTimeout),this.heartbeatTimeout=null),this.hearbeatInterval&&(clearInterval(this.hearbeatInterval),this.hearbeatInterval=null)}},{key:"resetHeartbeat",value:function(a){var b=this;this.clearHeartbeatInterval(),this.heartbeatTimeoutMs=a&&a.heartbeatTimeoutMs?a.heartbeatTimeoutMs:this.heartbeatTimeoutMs,this.heartbeatIntervalPeriodMs=a&&a.heartbeatIntervalPeriodMs?a.heartbeatIntervalPeriodMs:this.heartbeatIntervalPeriodMs,this.hearbeatInterval=setInterval((0,m.default)(k.default.mark(function a(){return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return b.heartbeatTimeout||(b.heartbeatTimeout=setTimeout(function(){b.logger.debug("heartbeatTimeout reached, current status: "+b.status+", last hb: "+(Date.now()-b.lastHeartbeat)+"ms ago."),b.status!==v.UNAVAILABLE&&(b.status=v.UNAVAILABLE,b.statusChangeEventListeners.forEach(function(a){a({status:b.status,data:b.clientInfo,lastHeartbeat:b.lastHeartbeat})}))},b.heartbeatTimeoutMs)),a.prev=1,a.next=4,b.sendApiRequest(n.HELLO_API_NAME,[]);case 4:if(b.clientInfo=a.sent,b.clientInfo){a.next=7;break}throw new Error("Failed to get clientInfo.");case 7:b.heartbeatTimeout&&(clearTimeout(b.heartbeatTimeout),b.heartbeatTimeout=null),b.status!==v.AVAILABLE&&(b.status=v.AVAILABLE,b.statusChangeEventListeners.forEach(function(a){a({status:b.status,data:b.clientInfo})})),b.lastHeartbeat=Date.now(),a.next=13;break;case 10:a.prev=10,a.t0=a.catch(1),b.logger.debug("Heartbeat ping failed. Last heartbeat received "+(Date.now()-b.lastHeartbeat)+"ms ago.");case 13:case"end":return a.stop()}},a,this,[[1,10]])})),this.heartbeatIntervalPeriodMs)}},{key:"makeMediaDeviceInfoProxies",value:function(a){return a.forEach(function(a){a.toJSON=function(){return a}}),a}},{key:"makeTrackProxy",value:function(a){var b=this;if(this.trackProxies.has(a.id)){var c=this.trackProxies.get(a.id);return Object.assign(c,a),c}return this.trackProxies.set(a.id,a),a.pendingEvents=new Map,a.stop=function(){b.sendApiRequest(n.TRACK_STOP_API_NAME,[a.id])},a.getSettings=function(){return b.sendApiRequest(n.TRACK_GET_SETTINGS,[a.id]).then(function(b){b&&(a.settings=b)}),a.settings},a.addEventListener=function(c,d,e){b.logger.debug("Setting ended event listener via addEventListener."),b.addTrackEventListener(a.id,c,d,e)},a.removeEventListener=function(c,d){b.removeEventListener(a.id,c,d)},Object.defineProperty(a,"onended",{set:function(c){b.addTrackEventListener(a.id,r.ENDED,c)},get:function(){return null}}),Object.defineProperty(a,"onmute",{set:function(c){b.addTrackEventListener(a.id,r.MUTE,c)},get:function(){return null}}),Object.defineProperty(a,"onunmute",{set:function(c){b.addTrackEventListener(a.id,r.UNMUTE,c)},get:function(){return null}}),a.trackEnabled=a.enabled,Object.defineProperty(a,"enabled",{set:function(c){a.trackEnabled=c,b.sendApiRequest(n.TOGGLE_TRACK_ENABLED_API_NAME,[a.id,c]).then(function(c){c&&(b.trackProxies.get(a.id).trackEnabled=c.enabled)})},get:function(){return a.trackEnabled}}),this.preRegisterEvents(r,a,this.addTrackEventListener),a}},{key:"makeStreamProxy",value:function(a){var b=this;this.streamProxies.set(a.id,a);var c=new MediaStream;c.type="proxy",c.proxy=a;var d=a.tracks?a.tracks.map(function(a){return b.makeTrackProxy(a)}):[];return a.tracks=d,c.getTracks=function(){return d},c.getAudioTracks=function(){return d.filter(function(a){return"audio"===a.kind})},c.getVideoTracks=function(){return d.filter(function(a){return"video"===a.kind})},c.getTrackById=function(a){return d.find(function(b){return b.id===a})},c.createMediaElement=function(a){return b.createMediaElement(a)},c.addTrack=function(c){b.sendApiRequest(n.STREAM_ADD_TRACK,[a.id,c.id])},c.removeTrack=function(c){b.sendApiRequest(n.STREAM_REMOVE_TRACK,[a.id,c.id])},c}},{key:"updateTransceiverProxy",value:function(a){var b=this.transceiverProxies.get(a.id);return b||(b={}),Object.assign(b,a),a.receiver&&"proxy"===a.receiver.type&&(b.receiver=this.updateReceiverProxy(a.receiver)),a.sender&&"proxy"===a.sender.type&&(b.sender=this.updateSenderProxy(a.sender)),this.transceiverProxies.set(a.id,b),b}},{key:"updatePCSenders",value:function(a,b){var c=this,d=b.map(function(a){return c.updateSenderProxy(a)});this.pcProxies.get(a).senders=d}},{key:"updatePCReceivers",value:function(a,b){var c=this,d=b.map(function(a){return c.updateReceiverProxy(a)});this.pcProxies.get(a).receivers=d}},{key:"updatePCTransceivers",value:function(a,b){var c=this,d=b;d.forEach(function(a){c.updateTransceiverProxy(a)}),this.pcProxies.get(a).transceivers=d}},{key:"isValidApi",value:function(a){var b=!1;for(var c in n)if(n[c]===a){b=!0;break}return b}},{key:"sendApiRequest",value:function(){function a(a,c){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(b,c){var d,e,f,g,h,i,j,l,m,n,o,p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:crypto.randomUUID();return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return this.logger.debug(b,c,p),a.prev=1,d={api:b,args:c},e=D.deflateRaw(JSON.stringify(d)),f={requestId:p,message:e,type:"request"},this.logger.debug("Sending request:",JSON.stringify(f)),a.next=8,chrome.runtime.sendMessage(this.extensionId,f);case 8:if(g=a.sent,e=g.message,h=D.inflateRaw(e),i=this.decoder.decode(h),g.message=JSON.parse(i),this.logger.debug("Received response: ",JSON.stringify(g)),!(!g||!g.message||!g.type)){a.next=14;break}return j="Received empty message or type, extensionResponse: "+JSON.stringify(g)+", request: "+JSON.stringify(f)+", message: "+JSON.stringify(d),a.abrupt("return",(this.logger.warn(j),null));case 14:if("error"!==g.type){a.next=19;break}if(l="Received error: "+JSON.stringify(g)+", for request: "+JSON.stringify(f)+", message: "+JSON.stringify(d),m=null,this.logger.debug(l),!(g.message.error&&g.message.error.message&&g.message.error&&g.message.error.name)){a.next=18;break}throw l=g.message.error.message,m=g.message.error.name,new DOMException(l,m);case 18:return a.abrupt("return",null);case 19:if("response"===g.type||"event"===g.type||"error"===g.type){a.next=22;break}return n="Received invalid message type, type: "+JSON.stringify(g.type)+", event: "+JSON.stringify(g)+", request: "+JSON.stringify(f)+", message: "+JSON.stringify(d),a.abrupt("return",(this.logger.warn(n),null));case 22:if(!g.message.api||this.isValidApi(g.message.api)){a.next=25;break}return o="Received invalid message api, event: "+JSON.stringify(g)+", request: "+JSON.stringify(f)+", message: "+JSON.stringify(d),a.abrupt("return",(this.logger.warn(o),null));case 25:return a.abrupt("return","event"===g.type?g.message.event:g.message.response);case 28:return a.prev=28,a.t0=a.catch(1),a.abrupt("return",(this.logger.warn("Failed to send api request: api: "+b+", args: "+c+", requestId: "+p,a.t0),null));case 31:case"end":return a.stop()}},a,this,[[1,28]])}));return a}()},{key:"getUserMediaInternal",value:function(){function a(a){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(b){var c;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,this.sendApiRequest(n.GETUSERMEDIA_API_NAME,[b]);case 2:return c=a.sent,a.abrupt("return",c?this.makeStreamProxy(c):null);case 4:case"end":return a.stop()}},a,this)}));return a}()},{key:"getOverridenApi",value:function(a){return this.overridenApis.get(a)}},{key:"getUserMedia",value:function(){function a(a){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(b){var c,d,e,f,g,h;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(c=Object.freeze(b),!c.audio||!c.video){a.next=14;break}return a.next=4,navigator.permissions.query({name:"microphone"});case 4:return d=a.sent,a.next=7,navigator.permissions.query({name:"camera"});case 7:if(e=a.sent,!d||"granted"!==d.state||!e||"granted"!==e.state){a.next=12;break}return a.next=11,this.getUserMediaInternal(c);case 11:return a.abrupt("return",a.sent);case 12:a.next=32;break;case 14:if(!c.audio){a.next=24;break}return a.next=17,navigator.permissions.query({name:"microphone"});case 17:if(!(f=a.sent)||"granted"!==f.state){a.next=22;break}return a.next=21,this.getUserMediaInternal(c);case 21:return a.abrupt("return",a.sent);case 22:a.next=32;break;case 24:if(!c.video){a.next=32;break}return a.next=27,navigator.permissions.query({name:"camera"});case 27:if(!(g=a.sent)||"granted"!==g.state){a.next=32;break}return a.next=31,this.getUserMediaInternal(c);case 31:return a.abrupt("return",a.sent);case 32:if(h=[],a.t0=c.video,!a.t0){a.next=39;break}return a.next=37,this.getOverridenApi("navigator.mediaDevices.enumerateDevices").apply(navigator.mediaDevices);case 37:h=a.sent,h=h.filter(function(a){return a.kind&&a.kind.indexOf("video")>-1});case 39:if(!(c.audio&&!c.video||c.video&&h.length>0)){a.next=44;break}return a.next=42,this.getOverridenApi("navigator.mediaDevices.getUserMedia").apply(navigator.mediaDevices,[c]);case 42:a.t1=function(a){a.stop()},a.sent.getTracks().forEach(a.t1);case 44:return a.next=46,this.getUserMediaInternal(c);case 46:return a.abrupt("return",a.sent);case 47:case"end":return a.stop()}},a,this)}));return a}()},{key:"enumerateDevices",value:function(){function a(){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(){var b;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,this.sendApiRequest(n.ENUMERATEDEVICES_API_NAME,[]);case 2:return b=a.sent,a.abrupt("return",b?this.makeMediaDeviceInfoProxies(b):null);case 4:case"end":return a.stop()}},a,this)}));return a}()},{key:"getVersion",value:function(){return f}},{key:"makeReceiverProxy",value:function(a){var b=this;return a.track&&(a.track=this.makeTrackProxy(a.track)),a.getSynchronizationSources=function(){return a.synchronizationSources},a.getStats=(0,m.default)(k.default.mark(function c(){var d,e;return k.default.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,b.sendApiRequest(n.GET_RECEIVER_STATS_API_NAME,[a.id]);case 2:return d=c.sent,e=new Map,c.abrupt("return",(d&&d.forEach(function(a){e.set(a.id,a)}),e));case 5:case"end":return c.stop()}},c,this)})),a.createEncodedStreams=function(){var c={id:crypto.randomUUID(),type:"proxy",readable:{id:crypto.randomUUID(),type:"proxy"},writable:{id:crypto.randomUUID(),type:"proxy"}};return b.streamProxies.set(c.id,c),b.sendApiRequest(n.RECEIVER_CREATE_ENCODED_STREAMS,[a.id,c]),c},this.receiverProxies.set(a.id,a),a}},{key:"makeDTMFProxy",value:function(a){var b=this,c=a;return this.dtmfProxies.has(c.id)?(c=this.dtmfProxies.get(c.id),Object.assign(c,a)):(this.dtmfProxies.set(c.id,c),c.pendingEvents=new Map,c.insertDTMF=function(a,d,e){b.sendApiRequest(n.INSERT_DTMF_API_NAME,[c.id,a,d,e])},c.addEventListener=function(a,d,e){b.addDtmfEventListener(c.id,a,d,e)},c.removeEventListener=function(a,d){b.removeEventListener(c.id,a,d)},Object.defineProperty(c,"ontonechange",{set:function(a){b.addDtmfEventListener(c.id,t.TONECHANGE,a)},get:function(){return null}}),this.preRegisterEvents(t,c,this.addDtmfEventListener)),c}},{key:"makeSenderProxy",value:function(a){var b=this;return a.track&&(a.track=this.makeTrackProxy(a.track)),a.dtmf&&(a.dtmf=this.makeDTMFProxy(a.dtmf)),a.getStats=(0,m.default)(k.default.mark(function c(){var d;return k.default.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,b.sendApiRequest(n.GET_SENDER_STATS_API_NAME,[a.id]);case 2:return d=c.sent,c.abrupt("return",(d&&(d.has=function(a){return void 0!==d.find(function(b){return b.id===a})},d.get=function(a){return d.find(function(b){return b.id===a})}),d));case 4:case"end":return c.stop()}},c,this)})),a.replaceTrack=function(c){return a.track=c,b.sendApiRequest(n.REPLACE_SENDER_TRACK_API_NAME,[a.id,c])},a.createEncodedStreams=function(){var c={id:crypto.randomUUID(),type:"proxy",readable:{type:"proxy",id:crypto.randomUUID()},writable:{type:"proxy",id:crypto.randomUUID()}};return b.streamProxies.set(c.id,c),b.sendApiRequest(n.SENDER_CREATE_ENCODED_STREAMS,[a.id,c]),c},a}},{key:"updateSenderProxy",value:function(a){var b=this.senderProxies.get(a.id);return b?Object.assign(b,a):(b=a,this.senderProxies.set(a.id,b)),this.makeSenderProxy(b)}},{key:"updateReceiverProxy",value:function(a){var b=this.receiverProxies.get(a.id);return b?Object.assign(b,a):(b=a,this.receiverProxies.set(a.id,b)),this.makeReceiverProxy(b)}},{key:"addTrack",value:function(a,b){var c=this,d=crypto.randomUUID();this.sendApiRequest(n.ADD_TRACK_API_NAME,[d].concat(Array.prototype.slice.call(arguments))).then(function(a){a&&(c.updateSenderProxy(a),c.updatePCSenders(a.pcId,a.senders),c.updatePCReceivers(a.pcId,a.receivers),c.updatePCTransceivers(a.pcId,a.transceivers))});var e=this.updateSenderProxy({id:d});return this.pcProxies.get(a).senders.push(e),e}},{key:"updatePeerConnectionProxy",value:function(a){var b=this.pcProxies.get(a.pcId);Object.assign(b,a),this.updatePCSenders(a.pcId,a.senders),this.updatePCReceivers(a.pcId,a.receivers),this.updatePCTransceivers(a.pcId,a.transceivers)}},{key:"createPeerConnection",value:function(a,b){var c=this,d=crypto.randomUUID(),e=this;this.logger.debug("Creating RTCPeerConnection with id: "+d);var f={type:"proxy",id:d,signalingState:"new",connectionState:"new",iceConnectionState:"new",iceGatheringState:"new",receivers:[],senders:[],transceivers:[],pendingEvents:new Map,configuration:a,close:function(){c.close(d)},addStream:function(a){c.addStream(d,a)},getConfiguration:function(){return c.sendApiRequest(n.PC_GET_CONFIGURATION,[d]).then(function(a){a&&(f.configuration=a)}),f.configuration},getStats:function(a){return c.getStats(d,a)},createOffer:function(a){return c.createOffer(d,a)},createAnswer:function(a){return c.createAnswer(d,a)},setLocalDescription:function(a){return c.setLocalDescription(d,a)},addEventListener:function(a,b){c.addPeerConnectionEventListener(d,a,b)},removeEventListener:function(a,b){c.removeEventListener(d,a,b)},getEventListener:function(a){return c.eventListeners.get(d).get(a)},set onicecandidate(a){this.addEventListener(p.ICE_CANDIDATE,a)},get onicecandidate(){return this.getEventListener(p.ICE_CANDIDATE)},set ontrack(a){this.addEventListener(p.TRACK,a)},get ontrack(){return this.getEventListener(p.TRACK)},get onsignalingstatechange(){return this.getEventListener(p.SIG_STATE_CHANGE)},set onsignalingstatechange(a){this.addEventListener(p.SIG_STATE_CHANGE,a)},get onconnectionstatechange(){return this.getEventListener(p.CONN_STATE_CHANGE)},set onconnectionstatechange(a){this.addEventListener(p.CONN_STATE_CHANGE,a)},get oniceconnectionstatechange(){return this.getEventListener(p.ICE_CONN_STATE_CHANGE)}, set oniceconnectionstatechange(a){this.addEventListener(p.ICE_CONN_STATE_CHANGE,a)},get onicegatheringstatechange(){return this.getEventListener(p.ICE_GATHER_STATE_CHANGE)},set onicegatheringstatechange(a){this.addEventListener(p.ICE_GATHER_STATE_CHANGE,a)},get onnegotiationneeded(){return this.getEventListener(p.NEGOTIATION_NEEDED)},set onnegotiationneeded(a){this.addEventListener(p.NEGOTIATION_NEEDED,a)},setRemoteDescription:function(a){return c.setRemoteDescription(d,a)},addIceCandidate:function(a){return c.addIceCandidate(d,a)},getRemoteStreams:function(){return c.logger.warn("getRemoteStreams not implemented on proxy."),[]},getReceivers:function(){return c.getReceivers(d)},getSenders:function(){return c.getSenders(d)},addTrack:function(a){var b=[d].concat(Array.prototype.slice.call(arguments));return e.addTrack.apply(e,b)},addTransceiver:function(a,b){return c.addTransceiver(d,a,b)},getTransceivers:function(){return c.getTransceivers(d)},removeTrack:function(a){c.removeTrack(d,a)}};return this.pcProxies.set(d,f),this.sendApiRequest(n.NEWRTCPEERCONNECTION_API_NAME,[d,a,b],d).then(function(a){a&&c.updatePeerConnectionProxy(a)},function(a){c.logger.error("Error creating proxied RTCPeerConnection: "+a)}),this.preRegisterEvents(p,this.pcProxies.get(d),this.addPeerConnectionEventListener),this.pcProxies.get(d)}},{key:"preRegisterEvents",value:function(a,b,c){for(var d in a)"string"==typeof a[d]&&c.apply(this,[b.id,a[d],function(a){b.pendingEvents.has(a.eventName)||b.pendingEvents.set(a.eventName,[]),b.pendingEvents.get(a.eventName).push(a)}])}},{key:"updateAudioContextProxy",value:function(a){var b=this.audioContextProxies.get(a.id);Object.assign(b,a)}},{key:"updateAudioNodeProxy",value:function(a){var b=this.audioNodeProxies.get(a.id);Object.assign(b,a),a.stream&&this.makeStreamProxy(a.stream)}},{key:"makeAudioNodeProxy",value:function(a,b){var c=this;return{type:"proxy",id:b,context:this.audioContextProxies.get(a),connect:function(a,d,e){return c.sendApiRequest(n.AUDIO_NODE_CONNECT,[b,a,d,e]),a},disconnect:function(a,d,e){c.sendApiRequest(n.AUDIO_NODE_DISCONNECT,[b,a,d,e])}}}},{key:"createAudioNode",value:function(a,b,c){var d=this,e=crypto.randomUUID();return this.audioNodeProxies.set(e,this.makeAudioNodeProxy(a,e)),this.sendApiRequest(n.AUDIO_CTX_CREATE_AUDIO_NODE,[a,e,b,c],e).then(function(a){a&&d.updateAudioNodeProxy(a)},function(a){d.logger.error("Error creating proxied "+b+": "+a)}),this.audioNodeProxies.get(e)}},{key:"makeWorkerProxy",value:function(a){var b=this,c={id:a,pendingEvents:new Map,type:"proxy",postMessage:function(c,d){b.sendApiRequest(n.WORKER_POST_MESSAGE,[a,c,d])},terminate:function(){b.sendApiRequest(n.WORKER_TERMINATE,[a])},addEventListener:function(a,d,e){b.addWorkerEventListener(c.id,a,d,e)},removeEventListener:function(a,d){b.removeEventListener(c.id,a,d)}};return Object.defineProperty(c,"onerror",{set:function(a){b.addWorkerEventListener(c.id,u.ERROR,a)},get:function(){return null}}),Object.defineProperty(c,"onmessage",{set:function(a){b.addWorkerEventListener(c.id,u.MESSAGE,a)},get:function(){return null}}),Object.defineProperty(c,"onmessageerror",{set:function(a){b.addWorkerEventListener(c.id,u.MESSAGE_ERROR,a)},get:function(){return null}}),c}},{key:"createWorker",value:function(a,b){var c=this,d=crypto.randomUUID(),e=this.makeWorkerProxy(d);return this.workerProxies.set(d,e),fetch(a).then(function(a){a.blob().then(function(a){a.arrayBuffer().then(function(e){var f=A(e);c.sendApiRequest(n.CREATE_WORKER,[d,a.type,f,b]).then(function(a){c.logger.debug("Created worker: "+JSON.stringify(a))})})})}),this.logger.debug("Preregistering events for worker: "+JSON.stringify(e)),this.preRegisterEvents(u,e,this.addWorkerEventListener),e}},{key:"createAudioContext",value:function(){var a=this,b=crypto.randomUUID(),c=crypto.randomUUID();return this.audioContextProxies.set(b,{type:"proxy",id:b,destination:this.makeAudioNodeProxy(b,c),createGain:function(){var c=a.createAudioNode(b,"Gain",[]),d={setValueAtTime:function(b,e){return d.currentValue=b,a.sendApiRequest(n.AUDIO_PARAM_SET_VALUE_AT_TIME,[c.id,b,e]),d},linearRampToValueAtTime:function(b,e){return a.sendApiRequest(n.AUDIO_PARAM_SET_RAMP_TO_VALUE_AT_TIME,[c.id,b,e]),d}};return Object.defineProperty(d,"value",{set:function(a){return d.setValueAtTime(a,0)},get:function(){return d.currentValue}}),c.gain=d,c},createOscillator:function(){var c=a.createAudioNode(b,"Oscillator",[]);c.start=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;a.sendApiRequest(n.AUDIO_NODE_START,[c.id,b])},c.stop=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;a.sendApiRequest(n.AUDIO_NODE_STOP,[c.id,b])},Object.defineProperty(c,"type",{set:function(b){c.currentType=b,a.sendApiRequest(n.AUDIO_NODE_SET_TYPE,[c.id,b])},get:function(){return c.currentType}});var d={setValueAtTime:function(b,e){return a.sendApiRequest(n.AUDIO_PARAM_SET_VALUE_AT_TIME,[c.id,b,e]),d}};return Object.defineProperty(d,"value",{set:function(a){return d.setValueAtTime(a,0)},get:function(){return d.currentValue}}),c.frequency=d,c},createMediaStreamSource:function(c){return a.createAudioNode(b,"MediaStreamSource",[c.proxy])},createAnalyser:function(){return a.createAudioNode(b,"Analyser",[])},createMediaStreamDestination:function(){var c=a.createAudioNode(b,"MediaStreamDestination",[]);return c.stream=a.makeStreamProxy({id:c.id,tracks:[{id:c.id,kind:"audio"}]}),c},close:function(){return a.sendApiRequest(n.AUDIO_CTX_CLOSE,[b])}}),this.sendApiRequest(n.NEW_AUDIO_CONTEXT,[b,c],b).then(function(b){b&&a.updateAudioContextProxy(b)},function(b){a.logger.error("Error creating proxied AudioContext: "+b)}),this.audioContextProxies.get(b)}},{key:"close",value:function(a){this.eventListeners.get(a).clear(),this.sendApiRequest(n.PC_CLOSE_API_NAME,[a])}},{key:"addStream",value:function(a,b){this.sendApiRequest(n.ADDSTREAM_API_NAME,[a,b.proxy])}},{key:"getStats",value:function(a,b){return"function"==typeof b?Promise.reject(new Error("callback based getStats is obsolete.")):this.sendApiRequest(n.GET_STATS_API_NAME,[a,b])}},{key:"createOffer",value:function(a,b){return this.sendApiRequest(n.CREATE_OFFER_API_NAME,[a,b])}},{key:"createAnswer",value:function(a,b){return this.sendApiRequest(n.CREATE_ANSWER_API_NAME,[a,b])}},{key:"setLocalDescription",value:function(a,b){return this.pcProxies.get(a).localDescription=b,this.sendApiRequest(n.SET_LOCAL_DESCRIPTION_API_NAME,[a,b])}},{key:"setRemoteDescription",value:function(a,b){return this.sendApiRequest(n.SET_REMOTE_DESCRIPTION_API_NAME,[a,b])}},{key:"handleAddEventListenerResponse",value:function(a){var b=this;a.eventName===p.SIG_STATE_CHANGE?this.updatePeerConnectionProxy(a):a.eventName===p.TRACK?(a.streams=a.streams.map(function(a){return b.makeStreamProxy(a)}),a.track=this.makeTrackProxy(a.track),this.updatePeerConnectionProxy(a)):(a.eventName===p.CONN_STATE_CHANGE||a.eventName===p.ICE_CONN_STATE_CHANGE||a.eventName===p.ICE_GATHER_STATE_CHANGE||a.eventName===p.ICE_CANDIDATE||a.eventName===p.NEGOTIATION_NEEDED)&&this.updatePeerConnectionProxy(a),this.fireUpEventHandlers(this.pcProxies.get(a.pcId),a),this.sendApiRequest(n.ADD_PC_EVENT_LISTENER,[a.pcId,a.eventName]).then(function(a){a&&b.handleAddEventListenerResponse(a)})}},{key:"fireUpEventHandlers",value:function(a,b){if(a&&this.eventListeners.get(a.id).has(b.eventName)){var c=a.pendingEvents;this.eventListeners.get(a.id).get(b.eventName).forEach(function(a,d){0===d?a(b):c.get(b.eventName).forEach(function(b){a(b)})}),c.set(b.eventName,[])}}},{key:"handleAddTrackEventListenerResponse",value:function(a){var b=this;"mute"!==a.eventName&&"unmute"!==a.eventName||(this.trackProxies.get(a.trackId).muted=a.muted),this.fireUpEventHandlers(this.trackProxies.get(a.trackId),a),this.sendApiRequest(n.ADD_TRACK_EVENT_LISTENER,[a.trackId,a.eventName]).then(function(a){a&&b.handleAddTrackEventListenerResponse(a)})}},{key:"handleAddDtmfEventListenerResponse",value:function(a){var b=this;this.fireUpEventHandlers(this.dtmfProxies.get(a.dtmfId),a),this.sendApiRequest(n.ADD_DTMF_EVENT_LISTENER,[a.dtmfId,a.eventName]).then(function(a){a&&b.handleAddDtmfEventListenerResponse(a)})}},{key:"handleAddWorkerEventListenerResponse",value:function(a){var b=this;this.fireUpEventHandlers(this.workerProxies.get(a.wId),a),this.sendApiRequest(n.ADD_WORKER_EVENT_LISTENER,[a.wId,a.eventName]).then(function(a){a&&b.handleAddWorkerEventListenerResponse(a)})}},{key:"addEventListener",value:function(a,b,c){this.eventListeners.has(a)||this.eventListeners.set(a,new Map),this.eventListeners.get(a).has(b)||this.eventListeners.get(a).set(b,[]),this.eventListeners.get(a).get(b).push(c)}},{key:"addPeerConnectionEventListener",value:function(a,b,c){var d=this;this.addEventListener(a,b,c),this.sendApiRequest(n.ADD_PC_EVENT_LISTENER,[a,b]).then(function(a){a&&d.handleAddEventListenerResponse(a)})}},{key:"addTrackEventListener",value:function(a,b,c,d){var e=this;this.addEventListener(a,b,c),this.sendApiRequest(n.ADD_TRACK_EVENT_LISTENER,[a,b,d]).then(function(a){a&&e.handleAddTrackEventListenerResponse(a)})}},{key:"addDtmfEventListener",value:function(a,b,c,d){var e=this;this.addEventListener(a,b,c),this.sendApiRequest(n.ADD_DTMF_EVENT_LISTENER,[a,b,d]).then(function(a){a&&e.handleAddDtmfEventListenerResponse(a)})}},{key:"addWorkerEventListener",value:function(a,b,c){var d=this;this.addEventListener(a,b,c),this.sendApiRequest(n.ADD_WORKER_EVENT_LISTENER,[a,b]).then(function(a){a&&d.handleAddWorkerEventListenerResponse(a)})}},{key:"removeEventListener",value:function(a,b,c){var d=this.eventListeners.get(a).get(b),e=d.indexOf(c);e>-1&&d.splice(e,1)}},{key:"addIceCandidate",value:function(a,b){var c=b?{sdpMLineIndex:b.sdpMLineIndex,sdpMid:b.sdpMid,candidate:b.candidate}:null;return this.sendApiRequest(n.ADD_ICE_CANDIDATE_API_NAME,[a,c])}},{key:"createMediaElement",value:function(a){var b=this,c=crypto.randomUUID();this.sendApiRequest(n.CREATE_MEDIA_ELEMENT_API_NAME,[c,a],c).then(function(a){a&&(b.mediaElementProxies.get(a.id).sinkId=a.sinkId)});var d={id:c,type:"proxy",classList:new Set,isMuted:!1,play:function(){b.sendApiRequest(n.MEDIA_ELEMENT_PLAY_API_NAME,[c])},pause:function(){b.sendApiRequest(n.MEDIA_ELEMENT_PAUSE_API_NAME,[c])},setSinkId:function(a){return b.sendApiRequest(n.MEDIA_ELEMENT_SET_SINK_ID_API_NAME,[c,a])},remove:function(){return b.sendApiRequest(n.MEDIA_ELEMENT_REMOVE,[c])}};return this.mediaElementProxies.set(c,d),d.classList.remove=function(a){d.classList.delete(a)},Object.assign(d,a),Object.defineProperty(d,"srcObject",{set:function(a){d.stream=a,b.sendApiRequest(n.SET_MEDIA_SRC_OBJ_API_NAME,[d.id,a&&a.proxy?a.proxy:a])},get:function(){return d.stream}}),Object.defineProperty(d,"hidden",{set:function(a){b.sendApiRequest(n.SET_MEDIA_HIDDEN_API_NAME,[d.id,a])},get:function(){return d.hidden}}),Object.defineProperty(d,"volume",{set:function(a){b.sendApiRequest(n.SET_MEDIA_VOLUME_API_NAME,[d.id,a])},get:function(){return d.volume}}),Object.defineProperty(d,"muted",{set:function(a){d.isMuted=a,b.sendApiRequest(n.MEDIA_ELEMENT_MUTED,[d.id,a]).then(function(a){a&&(d.isMuted=a.muted)})},get:function(){return d.isMuted}}),d}},{key:"generateCertificate",value:function(a){return this.sendApiRequest(n.GENERATE_CERTIFICATE_API_NAME,[a])}},{key:"getReceivers",value:function(a){var b=this;return this.sendApiRequest(n.GET_RECEIVERS_API_NAME,[a]).then(function(a){a&&b.updatePCReceivers(a.pcId,a.receivers)}),this.pcProxies.get(a).receivers}},{key:"getSenders",value:function(a){var b=this;return this.sendApiRequest(n.GET_SENDERS_API_NAME,[a]).then(function(a){a&&b.updatePCSenders(a.pcId,a.senders)}),this.pcProxies.get(a).senders}},{key:"removeTrack",value:function(a,b){this.sendApiRequest(n.PC_REMOVE_TRACK_API_NAME,[a,b])}},{key:"getTransceivers",value:function(a){var b=this;return this.sendApiRequest(n.GET_TRANSCEIVERS_API_NAME,[a]).then(function(a){a&&b.updatePCTransceivers(a.pcId,a.transceivers)}),this.pcProxies.get(a).transceivers}},{key:"addTransceiver",value:function(a,b,c){var d=this,e=crypto.randomUUID(),f={type:"proxy",id:e,sender:this.makeSenderProxy({id:crypto.randomUUID()}),receiver:this.makeReceiverProxy({id:crypto.randomUUID()}),setCodecPreferences:function(a){d.sendApiRequest(n.TRANSCEIVER_SET_CODEC_PREFS,[e,a])}};return this.transceiverProxies.set(f.id,f),this.pcProxies.get(a).transceivers.push(f),this.pcProxies.get(a).receivers.push(f.receiver),this.pcProxies.get(a).senders.push(f.sender),this.sendApiRequest(n.ADD_TRANSCEIVER_API_NAME,[a,f,"string"==typeof b?b:this.makeTrackProxy(b),c]).then(function(a){a&&(d.updateTransceiverProxy(a),d.updatePCSenders(a.pcId,a.senders),d.updatePCReceivers(a.pcId,a.receivers),d.updatePCTransceivers(a.pcId,a.transceivers))}),f}},{key:"setLogger",value:function(a){this.logger=a}},{key:"overrideWebRTC",value:function(){var a=this;this.logger.info("Overriding WebRTC interfaces for the current webapp.");var b=this;navigator.mediaDevices.getUserMedia=function(b){return a.getUserMedia(b)},navigator.mediaDevices.enumerateDevices=function(){return a.enumerateDevices()},window.RTCPeerConnection=function(a,c){return b.createPeerConnection(a,c)},window.RTCPeerConnection.generateCertificate=function(a){return b.generateCertificate(a)},window.AudioContext=function(){return b.createAudioContext()},window.Worker=function(a,c){return b.createWorker(a,c)}}},{key:"removeStatusChangeEventListener",value:function(a){this.statusChangeEventListeners=this.statusChangeEventListeners.filter(function(b){return b!==a})}},{key:"addStatusChangeEventListener",value:function(a){this.statusChangeEventListeners.push(a)}},{key:"sendHelloRequest",value:function(){function a(){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(){var b,c;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return b=this,a.next=3,this.sendApiRequest(n.HELLO_API_NAME,[]);case 3:return c=a.sent,a.abrupt("return",(c&&!globalThis.DCVWebRTCRedirProxy&&(this.status=v.AVAILABLE,this.logger.info("Running in a DCV WebRTC redirection env, proxy version: "+f.versionStr+" - "+f.gitHash),this.logger.info("Client info: "+JSON.stringify(c)),window.addEventListener("beforeunload",function(a){var c={pcIds:[],streamIds:[],mediaElementIds:[],transceiverIds:[],senderIds:[],receiverIds:[],trackIds:[],workerIds:[]};b.pcProxies.forEach(function(a,b){c.pcIds.push(b)}),b.streamProxies.forEach(function(a,b){c.streamIds.push(b)}),b.trackProxies.forEach(function(a,b){c.trackIds.push(b)}),b.workerProxies.forEach(function(a,b){c.workerIds.push(b)}),b.mediaElementProxies.forEach(function(a,b){c.mediaElementIds.push(b)}),b.transceiverProxies.forEach(function(a,b){c.transceiverIds.push(b)}),b.senderProxies.forEach(function(a,b){c.senderIds.push(b)}),b.receiverProxies.forEach(function(a,b){c.receiverIds.push(b)}),b.sendApiRequest(n.UNLOAD_EVENT_NAME,[c])})),c));case 5:case"end":return a.stop()}},a,this)}));return a}()}],[{key:"setInitCallback",value:function(b,c){var d=globalThis.DCVWebRTCRedirProxy;if(d)b({success:!0,proxy:d});else{a.initCallbacks||(a.initCallbacks=new Map);var e=setTimeout(function(b){b({success:!1,error:"Failed to initialize DCVWebRTCPeerConnectionProxy in "+c+"ms"}),a.initCallbacks.delete(b)},c,b);a.initCallbacks.set(b,e)}}}]),a}();try{window.DCVWebRTCPeerConnectionProxy=E;var F=new E({logger:l});F.sendHelloRequest().then(function(a){l.debug("Successfully received hello response from client: "+JSON.stringify(a)),F.clientInfo=a,F.resetHeartbeat(null),e(!0,F)}).catch(function(a){var b="Running in an invalid dcv webrtc env, skipping setting up proxy: "+JSON.stringify(a);l.debug(b),e(!1,null,b)})}catch(a){var G=a.message;e(!1,null,G),l.debug("Skipping setting up proxy in client env: "+G)}a.DCVWebRTCRedirClient=function(){function a(b){(0,o.default)(this,a),this.version=f,this.config=b,this.logger=b.logger?b.logger:l,this.channel=b.channel,this.decoder=new TextDecoder("utf-8"),this.messageBuffer=null,this.pcs=new Map,this.pcPromises=new Map,this.audioContexts=new Map,this.audioNodes=new Map,this.workers=new Map,this.workerPromises=new Map,this.certs=new Map,this.streams=new Map,this.tracks=new Map,this.offers=new Map,this.answers=new Map,this.remoteDescriptions=new Map,this.mediaElements=new Map,this.senders=new Map,this.dtmfSenders=new Map,this.receivers=new Map,this.transceivers=new Map,this.logger.info("Created WebRTC Redirection Client version: "+f.versionStr+" - "+f.gitHash)}return(0,q.default)(a,[{key:"encodeBase64",value:function(a){return A(a)}},{key:"decodeBase64",value:function(a){return B(a)}},{key:"getVersion",value:function(){return this.version}},{key:"concatUint8Arrays",value:function(a){var b=a.reduce(function(a,b){return a+b.byteLength},0),c=new Uint8Array(b),d=0;return a.forEach(function(a){c.set(a,d),d+=a.byteLength}),c}},{key:"parseHeader",value:function(a){return a[3]<<24|a[2]<<16|a[1]<<8|a[0]}},{key:"onMessageReceived",value:function(a){this.logger.debug("onMessageReceived, binaryPayload.byteLength: "+a.byteLength);try{var b=0;for(null===this.messageBuffer?this.messageBuffer=new Uint8Array(a):this.messageBuffer=this.concatUint8Arrays([this.messageBuffer,new Uint8Array(a)]),this.messageBuffer.byteLength>=4&&(b=this.parseHeader(this.messageBuffer));b>0&&this.messageBuffer.byteLength>=b+4;){var c=4+b,d=this.messageBuffer.slice(4,c);this.logger.debug("Decoding payload: ",d);var e=this.decoder.decode(d);this.logger.debug("Received message: "+e);var f=JSON.parse(e);this.logger.debug("Received json: ",f),this.handleMessage(f),this.messageBuffer=this.messageBuffer.slice(c),b=this.messageBuffer.byteLength>=4?this.parseHeader(this.messageBuffer):0}}catch(a){this.logger.error("Failed to parse JSON from binaryPayload: "+a),this.messageBuffer=null}}},{key:"getPeerConnection",value:function(a){var b=this;return this.pcs.has(a)?this.pcs.get(a):(this.pcPromises.has(a)||this.pcPromises.set(a,[]),new Promise(function(c,d){b.pcPromises.get(a).push({resolve:c,reject:d})}))}},{key:"closePeerConnection",value:function(a){var b=this;if(this.pcs.has(a)){var c=this.pcs.get(a);c.getTransceivers().forEach(function(a){a.sender&&(a.sender.dtmf&&b.dtmfSenders.forEach(function(c,d){c===a.sender.dtmf&&b.dtmfSenders.delete(d)}),b.senders.forEach(function(c,d){c===a.sender&&b.senders.delete(d)})),a.receiver&&b.receivers.forEach(function(c,d){c===a.receiver&&b.receivers.delete(d)}),b.transceivers.forEach(function(c,d){c===a&&b.transceivers.delete(d)})}),c.getSenders().forEach(function(a){b.senders.forEach(function(c,d){c===a&&b.senders.delete(d)})}),c.getReceivers(function(a){b.receivers.forEach(function(c,d){c===a&&b.receivers.delete(d)})}),c.localDescription&&(this.offers.forEach(function(a,d){c.localDescription.type===a.type&&c.localDescription.sdp===a.sdp&&b.offers.delete(d)}),this.answers.forEach(function(a,d){c.localDescription.type===a.type&&c.localDescription.sdp===a.sdp&&b.offers.delete(d)})),c.remoteDescription&&this.remoteDescriptions.forEach(function(a,d){c.remoteDescription.type===a.type&&c.remoteDescription.sdp===a.sdp&&b.remoteDescriptions.delete(d)}),this.pcPromises.has(a)&&(this.pcPromises.get(a).forEach(function(a){a.reject(null)}),this.pcPromises.delete(a)),c.close(),this.pcs.delete(a)}}},{key:"getPendingEvent",value:function(a,b){return a.pendingEvents.has(b)&&a.pendingEvents.get(b).length>0?a.pendingEvents.get(b).shift():(a.eventPromises.has(b)||a.eventPromises.set(b,[]),new Promise(function(c,d){a.eventPromises.get(b).push({resolve:c,reject:d})}))}},{key:"getStream",value:function(a){return this.streams.get(a)}},{key:"makeTrackTO",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.id?a.id:crypto.randomUUID();return this.tracks.set(b,a),{type:"proxy",contentHint:a.contentHint,enabled:a.enabled,id:b,kind:a.kind,label:a.label,muted:a.muted,readyState:a.readyState,settings:a.getSettings()}}},{key:"makeStreamTO",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.id?a.id:crypto.randomUUID(),c=this;this.streams.set(b,a);var d=a.getTracks().map(function(a){return c.makeTrackTO(a)});return{type:"proxy",id:b,active:a.active,tracks:d}}},{key:"makeSyncronizationSourceTO",value:function(a){return{audioLevel:a.audioLevel,rtpTimestamp:a.rtpTimestamp,source:a.source,timestamp:a.timestamp}}},{key:"makeReceiverTO",value:function(a){var b=this,c=a.getSynchronizationSources();c=c.map(function(a){return b.makeSyncronizationSourceTO(a)});var d={id:a.id?a.id:crypto.randomUUID(),type:"proxy",track:a.track?this.makeTrackTO(a.track):null,synchronizationSources:c,stats:[]};return a.id=d.id,this.receivers.set(d.id,a),d}},{key:"makeDTMFSenderTO",value:function(a){var b={id:a.id?a.id:crypto.randomUUID(),type:"proxy",toneBuffer:a.toneBuffer};return a.id=b.id,this.dtmfSenders.set(b.id,a),b}},{key:"makeSenderTO",value:function(a){var b={id:a.id?a.id:crypto.randomUUID(),type:"proxy",track:a.track?this.makeTrackTO(a.track):null,dtmf:a.dtmf?this.makeDTMFSenderTO(a.dtmf):null};return a.id=b.id,this.senders.set(b.id,a),b}},{key:"makeTransceiverTO",value:function(a){return{id:a.id,type:"proxy",currentDirection:a.currentDirection,direction:a.direction,mid:a.mid,receiver:a.receiver?this.makeReceiverTO(a.receiver):null,sender:a.sender?this.makeSenderTO(a.sender):null,stopped:a.stopped}}},{key:"findProxySubject",value:function(a){return this.pcs.has(a)?this.pcs.get(a):this.audioContexts.has(a)?this.audioContexts.get(a):this.audioNodes.has(a)?this.audioNodes.get(a):this.workers.has(a)?this.workers.get(a):this.certs.has(a)?this.certs.get(a):this.streams.has(a)?this.streams.get(a):this.offers.has(a)?this.offers.get(a):this.answers.has(a)?this.answers.get(a):this.remoteDescriptions.has(a)?this.remoteDescriptions.get(a):this.mediaElements.has(a)?this.mediaElements.get(a):this.senders.has(a)?this.senders.get(a):this.dtmfSenders.has(a)?this.dtmfSenders.get(a):this.receivers.has(a)?this.receivers.get(a):this.transceivers.has(a)?this.transceivers.get(a):this.tracks.has(a)?this.tracks.get(a):null}},{key:"traverse",value:function(a,b){if("object"==(void 0===a?"undefined":(0,s.default)(a)))for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b.apply(this,[a,c,a[c]]),null!==a[c]&&"object"==(0,s.default)(a[c])&&this.traverse(a[c],b))}},{key:"getWorker",value:function(a){var b=this;return this.workers.has(a)?this.workers.get(a):(this.workerPromises.has(a)||this.workerPromises.set(a,[]),new Promise(function(c,d){b.workerPromises.get(a).push({resolve:c,reject:d})}))}},{key:"gatherPeerConnectionState",value:function(a,b){var c=this;a.canTrickleIceCandidates=b.canTrickleIceCandidates,a.connectionState=b.connectionState,a.currentLocalDescription=b.currentLocalDescription,a.currentRemoteDescription=b.currentRemoteDescription,a.iceConnectionState=b.iceConnectionState,a.iceGatheringState=b.iceGatheringState,a.iceGatheringState=b.iceGatheringState,a.localDescription=b.localDescription,a.peerIdentity=b.peerIdentity,a.pendingLocalDescription=b.pendingLocalDescription,a.pendingRemoteDescription=b.pendingRemoteDescription,a.remoteDescription=b.remoteDescription,a.sctp=b.sctp,a.signalingState=b.signalingState,a.configuration=b.getConfiguration(),a.transceivers=b.getTransceivers().map(function(a){return c.makeTransceiverTO(a)}),a.senders=b.getSenders().map(function(a){return c.makeSenderTO(a)}),a.receivers=b.getReceivers().map(function(a){return c.makeReceiverTO(a)})}},{key:"callWebRTCApi",value:function(){function a(a,c,d){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(b,c,d){var e,f,h,j,l,m,o,q,s,v,w,x,y,z,A,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,Fa,Ga,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Pa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,Ya,Za,$a,_a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,$b,_b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,$c,_c,ad,bd,cd,dd,ed,fd,gd,hd,id,jd,kd,ld,md,nd,od,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:e=this,a.t0=b,a.next=a.t0===n.HELLO_API_NAME?4:a.t0===n.GETUSERMEDIA_API_NAME?5:a.t0===n.ENUMERATEDEVICES_API_NAME?11:a.t0===n.STREAM_ADD_TRACK?15:a.t0===n.STREAM_REMOVE_TRACK?17:a.t0===n.GENERATE_CERTIFICATE_API_NAME?19:a.t0===n.NEWRTCPEERCONNECTION_API_NAME?25:a.t0===n.PC_GET_CONFIGURATION?31:a.t0===n.CREATE_WORKER?35:a.t0===n.WORKER_TERMINATE?37:a.t0===n.WORKER_POST_MESSAGE?39:a.t0===n.NEW_AUDIO_CONTEXT?47:a.t0===n.AUDIO_CTX_CREATE_AUDIO_NODE?49:a.t0===n.AUDIO_CTX_CLOSE?59:a.t0===n.AUDIO_NODE_CONNECT?62:a.t0===n.AUDIO_NODE_DISCONNECT?64:a.t0===n.AUDIO_NODE_SET_TYPE?66:a.t0===n.AUDIO_NODE_START?69:a.t0===n.AUDIO_NODE_STOP?72:a.t0===n.AUDIO_PARAM_SET_VALUE_AT_TIME?75:a.t0===n.AUDIO_PARAM_SET_RAMP_TO_VALUE_AT_TIME?78:a.t0===n.GET_RECEIVERS_API_NAME?81:a.t0===n.GET_SENDERS_API_NAME?88:a.t0===n.INSERT_DTMF_API_NAME?95:a.t0===n.GET_TRANSCEIVERS_API_NAME?97:a.t0===n.TRANSCEIVER_SET_CODEC_PREFS?103:a.t0===n.ADD_TRACK_API_NAME?104:a.t0===n.ADD_TRANSCEIVER_API_NAME?121:a.t0===n.PC_CLOSE_API_NAME?134:a.t0===n.ADDSTREAM_API_NAME?136:a.t0===n.GET_STATS_API_NAME?142:a.t0===n.GET_SENDER_STATS_API_NAME?153:a.t0===n.GET_RECEIVER_STATS_API_NAME?161:a.t0===n.REPLACE_SENDER_TRACK_API_NAME?169:a.t0===n.PC_REMOVE_TRACK_API_NAME?175:a.t0===n.CREATE_OFFER_API_NAME?183:a.t0===n.CREATE_ANSWER_API_NAME?193:a.t0===n.SET_LOCAL_DESCRIPTION_API_NAME?203:a.t0===n.SET_REMOTE_DESCRIPTION_API_NAME?213:a.t0===n.ADD_ICE_CANDIDATE_API_NAME?222:a.t0===n.ADD_PC_EVENT_LISTENER?228:a.t0===n.ADD_TRACK_EVENT_LISTENER?243:a.t0===n.ADD_WORKER_EVENT_LISTENER?255:a.t0===n.ADD_DTMF_EVENT_LISTENER?270:a.t0===n.CREATE_MEDIA_ELEMENT_API_NAME?280:a.t0===n.MEDIA_ELEMENT_SET_SINK_ID_API_NAME?285:a.t0===n.SET_MEDIA_SRC_OBJ_API_NAME?291:a.t0===n.MEDIA_ELEMENT_MUTED?293:a.t0===n.SET_MEDIA_HIDDEN_API_NAME?295:a.t0===n.SET_MEDIA_VOLUME_API_NAME?297:a.t0===n.MEDIA_ELEMENT_PLAY_API_NAME?299:a.t0===n.MEDIA_ELEMENT_PAUSE_API_NAME?301:a.t0===n.MEDIA_ELEMENT_REMOVE?303:a.t0===n.TOGGLE_TRACK_ENABLED_API_NAME?305:a.t0===n.TRACK_STOP_API_NAME?307:a.t0===n.TRACK_GET_SETTINGS?309:a.t0===n.SENDER_CREATE_ENCODED_STREAMS?311:a.t0===n.RECEIVER_CREATE_ENCODED_STREAMS?316:a.t0===n.UNLOAD_EVENT_NAME?321:323;break;case 4:return a.abrupt("return",{version:this.version,platform:"web",userAgent:navigator.userAgent});case 5:return f=(0,i.default)(d,1),h=f[0],a.next=9,navigator.mediaDevices.getUserMedia(h);case 9:return j=a.sent,a.abrupt("return",this.makeStreamTO(j));case 11:return a.next=13,navigator.mediaDevices.enumerateDevices();case 13:return a.t1=function(a){return a.toJSON()},a.abrupt("return",a.sent.map(a.t1));case 15:return l=(0,i.default)(d,2),m=l[0],o=l[1],q=this.streams.get(m),s=this.tracks.get(o),a.abrupt("return",(q&&s&&q.addTrack(s),{}));case 17:return v=(0,i.default)(d,2),w=v[0],x=v[1],y=this.streams.get(w),z=this.tracks.get(x),a.abrupt("return",(y&&z&&y.removeTrack(z),{}));case 19:return A=(0,i.default)(d,1),C=A[0],a.next=23,RTCPeerConnection.generateCertificate(C);case 23:return D=a.sent,a.abrupt("return",(this.certs.set(c,D),{type:"proxy",id:c,expires:D.expires,fingerprints:D.getFingerprints()}));case 25:return E=(0,i.default)(d,3),F=E[0],G=E[1],H=E[2],G&&G.certificates&&(I=G.certificates.map(function(a){return e.certs.get(a.id)}),G.certificates=I),J=new RTCPeerConnection(G,H),this.pcs.set(F,J),this.pcPromises.has(F)&&(this.pcPromises.get(F).forEach(function(a){a.resolve(a)}),this.pcPromises.set(F,[])),K={type:"proxy",pcId:F},a.abrupt("return",(this.gatherPeerConnectionState(K,J),K));case 31:return L=(0,i.default)(d,1),M=L[0],a.next=34,this.getPeerConnection(M);case 34:return a.abrupt("return",a.sent.getConfiguration());case 35:return N=(0,i.default)(d,4),O=N[0],P=N[1],Q=N[2],R=N[3],S=B(Q),T=new Blob([S],{type:P}),U=URL.createObjectURL(T),V=new Worker(U,R),a.abrupt("return",(this.workers.set(O,V),this.workerPromises.has(O)&&(this.workerPromises.get(O).forEach(function(a){a.resolve(V)}),this.workerPromises.set(O,[])),{type:"proxy",id:O}));case 37:return W=(0,i.default)(d,1),X=W[0],a.abrupt("return",(this.workers.has(X)&&(this.workers.get(X).terminate(),this.workerPromises.has(X)&&this.workerPromises.get(X).forEach(function(a){a.reject(null)}),this.workerPromises.delete(X),this.workers.delete(X)),{}));case 39:return Y=(0,i.default)(d,3),Z=Y[0],$=Y[1],_=Y[2],a.next=45,this.getWorker(Z);case 45:return aa=a.sent,a.abrupt("return",(this.logger.debug("Message before traversing: ",JSON.stringify($)),this.traverse($,function(a,b,c){"proxy"===c.type&&c.id&&(a[b]=e.findProxySubject(c.id))}),this.logger.debug("Message after traversing: ",$),this.logger.debug("Options before traversing: ",JSON.stringify(_)),this.traverse(_,function(a,b,c){"proxy"===c.type&&c.id&&(a[b]=e.findProxySubject(c.id))}),this.logger.debug("Options after traversing: ",_),aa.postMessage($,_),{type:"proxy",id:Z}));case 47:return ba=(0,i.default)(d,2),ca=ba[0],da=ba[1],ea=new AudioContext,a.abrupt("return",(this.audioContexts.set(ca,ea),this.audioNodes.set(da,ea.destination),{type:"proxy",id:ca,baseLatency:ea.baseLatency,currentTime:ea.currentTime,outputLatency:ea.outputLatency,sampleRate:ea.sampleRate,sinkId:ea.sinkId,state:ea.state}));case 49:if(fa=(0,i.default)(d,4),ga=fa[0],ha=fa[1],ia=fa[2],ja=fa[3],!this.audioContexts.has(ga)){a.next=58;break}return ka=this.audioContexts.get(ga),la=ka["create"+ia],ja=ja.map(function(a){return"proxy"===a.type?e.findProxySubject(a.id):a}),ma=la.apply(ka,ja),this.audioNodes.set(ha,ma),na=null,ma.stream&&(oa=ma.stream.getTracks().map(function(a){return e.makeTrackTO(a,ha)}),na=this.makeStreamTO(ma.stream,ha),na.tracks=oa),a.abrupt("return",{id:ha,channelCount:ma.channelCount,channelCountMode:ma.channelCountMode,channelInterpretation:ma.channelInterpretation,numberOfInputs:ma.numberOfInputs,numberOfOutputs:ma.numberOfOutputs,fftSize:ma.fftSize,frequencyBinCount:ma.frequencyBinCount,maxDecibels:ma.maxDecibels,minDecibels:ma.minDecibels,smoothingTimeConstant:ma.smoothingTimeConstant,stream:na});case 58:return a.abrupt("return",{});case 59:return pa=(0,i.default)(d,1),qa=pa[0],this.audioContexts.has(qa)&&(this.audioContexts.get(qa).close(),this.audioContexts.delete(qa)),a.abrupt("return",{});case 62:return ra=(0,i.default)(d,4),sa=ra[0],ta=ra[1],ua=ra[2],va=ra[3],wa=this.audioNodes.get(sa),xa=this.findProxySubject(ta.id),a.abrupt("return",(wa&&xa&&wa.connect(xa,ua||0,va||0),{}));case 64:return ya=(0,i.default)(d,4),za=ya[0],Aa=ya[1],Ba=ya[2],Ca=ya[3],Da=this.audioNodes.get(za),Ea=this.findProxySubject(Aa.id),a.abrupt("return",(Da&&Ea&&Da.disconnect(Ea,Ba||0,Ca||0),{}));case 66:return Fa=(0,i.default)(d,2),Ga=Fa[0],Ha=Fa[1],this.audioNodes.has(Ga)&&(this.audioNodes.get(Ga).type=Ha),a.abrupt("return",{});case 69:return Ia=(0,i.default)(d,2),Ja=Ia[0],Ka=Ia[1],this.audioNodes.has(Ja)&&this.audioNodes.get(Ja).start(Ka),a.abrupt("return",{});case 72:return La=(0,i.default)(d,2),Ma=La[0],Na=La[1],this.audioNodes.has(Ma)&&this.audioNodes.get(Ma).stop(Na),a.abrupt("return",{});case 75:return Oa=(0,i.default)(d,3),Pa=Oa[0],Qa=Oa[1],Ra=Oa[2],this.audioNodes.has(Pa)&&(Sa=this.audioNodes.get(Pa),Sa.gain?Sa.gain.setValueAtTime(Qa,Ra||Sa.context.currentTime):Sa.frequency&&Sa.frequency.setValueAtTime(Qa,Ra||Sa.context.currentTime)),a.abrupt("return",{});case 78:return Ta=(0,i.default)(d,3),Ua=Ta[0],Va=Ta[1],Wa=Ta[2],this.audioNodes.has(Ua)&&(Xa=this.audioNodes.get(Ua),Xa.frequency&&Xa.frequency.linearRampToValueAtTime(Va,Wa||Xa.context.currentTime)),a.abrupt("return",{});case 81:return Ya=(0,i.default)(d,1),Za=Ya[0],a.t2=Za,a.next=85,this.getPeerConnection(Za);case 85:return a.t3=function(a){return e.makeReceiverTO(a)},a.t4=a.sent.getReceivers().map(a.t3),a.abrupt("return",{pcId:a.t2,receivers:a.t4});case 88:return $a=(0,i.default)(d,1),_a=$a[0],a.t5=_a,a.next=92, this.getPeerConnection(_a);case 92:return a.t6=function(a){return e.makeSenderTO(a)},a.t7=a.sent.getSenders().map(a.t6),a.abrupt("return",{pcId:a.t5,senders:a.t7});case 95:return ab=(0,i.default)(d,4),bb=ab[0],cb=ab[1],db=ab[2],eb=ab[3],fb=this.dtmfSenders.get(bb),a.abrupt("return",(fb&&fb.insertDTMF(cb,db,eb),{}));case 97:return gb=(0,i.default)(d,1),hb=gb[0],a.next=101,this.getPeerConnection(hb);case 101:return ib=a.sent.getTransceivers(),a.abrupt("return",(ib=ib.map(function(a){return a.id=a.id?a.id:crypto.randomUUID(),e.makeTransceiverTO(a)}),{pcId:hb,transceivers:ib}));case 103:return a.abrupt("return",{});case 104:return jb=(0,g.default)(d),kb=jb[0],lb=jb[1],mb=jb[2],nb=jb.slice(3),a.next=111,this.getPeerConnection(lb);case 111:if(ob=a.sent,pb=[],nb.forEach(function(a){var b=e.streams.get(a.proxy.id);b&&pb.push(b)}),!(qb=this.tracks.get(mb.id))){a.next=120;break}return rb=[qb].concat(pb),sb=ob.addTrack.apply(ob,rb),sb.id=kb,tb=this.makeSenderTO(sb),a.abrupt("return",(tb.pcId=lb,tb.senders=ob.getSenders().map(function(a){return e.makeSenderTO(a)}),tb.receivers=ob.getReceivers().map(function(a){return e.makeReceiverTO(a)}),tb.transceivers=ob.getTransceivers().map(function(a){return e.makeTransceiverTO(a)}),tb));case 120:return a.abrupt("return",{});case 121:return ub=(0,i.default)(d,4),vb=ub[0],wb=ub[1],xb=ub[2],yb=ub[3],a.next=128,this.getPeerConnection(vb);case 128:return zb=a.sent,"string"!=typeof xb&&(xb=this.tracks.get(xb.id)),yb&&yb.streams&&(Ab=[],yb.streams.forEach(function(a){if(a.proxy){var b=e.streams.get(a.proxy.id);Ab.push(b)}}),yb.streams=Ab),Bb=zb.addTransceiver(xb,yb),Bb.id=wb.id,this.transceivers.set(wb.id,Bb),Bb.sender&&(Bb.sender.id=wb.sender.id,this.senders.set(wb.sender.id,Bb.sender)),Bb.receiver&&(Bb.receiver.id=wb.receiver.id,this.receivers.set(wb.receiver.id,Bb.receiver)),Cb=this.makeTransceiverTO(Bb),a.abrupt("return",(Cb.pcId=vb,Cb.senders=zb.getSenders().map(function(a){return e.makeSenderTO(a)}),Cb.receivers=zb.getReceivers().map(function(a){return e.makeReceiverTO(a)}),Cb.transceivers=zb.getTransceivers().map(function(a){return e.makeTransceiverTO(a)}),Cb));case 134:return Db=(0,i.default)(d,1),Eb=Db[0],a.abrupt("return",(this.closePeerConnection(Eb),{}));case 136:return Fb=(0,i.default)(d,2),Gb=Fb[0],Hb=Fb[1],Ib=this.streams.get(Hb.id),a.next=139,this.getPeerConnection(Gb);case 139:return a.t8=Ib,a.sent.addStream(a.t8),a.abrupt("return",Hb);case 142:return Jb=(0,i.default)(d,2),Kb=Jb[0],Lb=Jb[1],a.next=147,this.getPeerConnection(Kb);case 147:return Mb=a.sent,a.next=150,Mb.getStats(Lb);case 150:return Nb=a.sent,Ob=[],a.abrupt("return",(Nb.forEach(function(a){var b=Object.assign({},a);Ob.push(b)}),Ob));case 153:if(Pb=(0,i.default)(d,1),Qb=Pb[0],!this.senders.has(Qb)){a.next=160;break}return a.next=157,this.senders.get(Qb).getStats();case 157:return Rb=a.sent,Sb=[],a.abrupt("return",(Rb.forEach(function(a){var b=Object.assign({},a);Sb.push(b)}),Sb));case 160:return a.abrupt("return",[]);case 161:if(Tb=(0,i.default)(d,1),Ub=Tb[0],!this.receivers.has(Ub)){a.next=168;break}return a.next=165,this.receivers.get(Ub).getStats();case 165:return Vb=a.sent,Wb=[],a.abrupt("return",(Vb.forEach(function(a){var b={id:a.id?a.id:crypto.randomUUID(),type:a.type,concealedSamples:a.concealedSamples};Wb.push(b)}),Wb));case 168:return a.abrupt("return",{});case 169:if(Xb=(0,i.default)(d,2),Yb=Xb[0],Zb=Xb[1],$b=this.senders.get(Yb),_b=Zb?this.tracks.get(Zb.id):null,a.t9=_b&&$b,!a.t9){a.next=174;break}return a.next=174,$b.replaceTrack(_b);case 174:return a.abrupt("return",{});case 175:return ac=(0,i.default)(d,2),bc=ac[0],cc=ac[1],a.next=180,this.getPeerConnection(bc);case 180:return dc=a.sent,ec=this.senders.get(cc.id),a.abrupt("return",(ec&&dc.removeTrack(ec),{}));case 183:return fc=(0,i.default)(d,2),gc=fc[0],hc=fc[1],a.next=188,this.getPeerConnection(gc);case 188:return ic=a.sent,a.next=191,ic.createOffer(hc);case 191:return jc=a.sent,a.abrupt("return",(this.offers.set(c,jc),{id:c,type:jc.type,sdp:jc.sdp}));case 193:return kc=(0,i.default)(d,2),lc=kc[0],mc=kc[1],a.next=198,this.getPeerConnection(lc);case 198:return nc=a.sent,a.next=201,nc.createAnswer(mc);case 201:return oc=a.sent,a.abrupt("return",(this.answers.set(c,oc),{id:c,type:oc.type,sdp:oc.sdp}));case 203:if(pc=(0,i.default)(d,2),qc=pc[0],rc=pc[1],sc="offer"===rc.type?this.offers:this.answers,tc=rc.id?sc.get(rc.id):rc,!tc){a.next=212;break}return tc.sdp=rc.sdp,a.next=208,this.getPeerConnection(qc);case 208:return uc=a.sent,a.next=211,uc.setLocalDescription(tc);case 211:return a.abrupt("return",rc);case 212:return a.abrupt("return",{});case 213:return vc=(0,i.default)(d,2),wc=vc[0],xc=vc[1],a.next=218,this.getPeerConnection(wc);case 218:return yc=a.sent,a.next=221,yc.setRemoteDescription(xc);case 221:return a.abrupt("return",xc);case 222:return zc=(0,i.default)(d,2),Ac=zc[0],Bc=zc[1],Cc=Bc?new RTCIceCandidate({sdpMLineIndex:Bc.sdpMLineIndex,candidate:Bc.candidate}):null,a.next=225,this.getPeerConnection(Ac);case 225:return a.t10=Cc,a.sent.addIceCandidate(a.t10),a.abrupt("return",Bc);case 228:return Dc=(0,i.default)(d,2),Ec=Dc[0],Fc=Dc[1],a.next=233,this.getPeerConnection(Ec);case 233:if(Gc=a.sent,Gc.pendingEvents||(Gc.pendingEvents=new Map),Gc.eventPromises||(Gc.eventPromises=new Map),!Gc.pendingEvents.has(Fc)){a.next=241;break}return a.next=237,this.getPendingEvent(Gc,Fc);case 237:Hc=a.sent,this.sendEvent(n.ADD_PC_EVENT_LISTENER,c,Hc),a.next=242;break;case 241:Gc[Fc]||(Ic=function(a){var b=null;if(a.type===p.ICE_CANDIDATE){e.logger.debug("event: ",a);var d=a.candidate,f=null;d&&(f={sdpMLineIndex:d.sdpMLineIndex,sdpMid:d.sdpMid,candidate:d.candidate,type:d.type,foundation:d.foundation,protocol:d.protocol,address:d.address,port:d.port,priority:d.priority,url:d.url,relayProtocol:d.relayProtocol,component:d.compoonent,relatedAddress:d.relatedAddress,relatedPort:d.relatedPort,tcpType:d.tcpType,usernameFragment:d.usernameFragment}),b={pcId:Ec,eventName:a.type,type:"proxy",candidate:f},e.gatherPeerConnectionState(b,Gc)}else a.type===p.SIG_STATE_CHANGE?(b={pcId:Ec,eventName:a.type,type:"proxy"},e.gatherPeerConnectionState(b,Gc)):a.type===p.TRACK?(b={pcId:Ec,eventName:a.type,type:"proxy",streams:[],senders:[],receivers:[],track:e.makeTrackTO(a.track)},b.streams=a.streams.map(function(a){return e.makeStreamTO(a)}),e.gatherPeerConnectionState(b,Gc)):a.type===p.CONN_STATE_CHANGE||a.type===p.ICE_CONN_STATE_CHANGE||a.type===p.ICE_GATHER_STATE_CHANGE||a.type===p.NEGOTIATION_NEEDED?(b={pcId:Ec,eventName:a.type,type:"proxy"},e.gatherPeerConnectionState(b,Gc)):e.logger.warn("Ignored event, type: "+a.type+", event: "+JSON.stringify(a));b&&e.processPendingEvents(Gc,a,b,n.ADD_PC_EVENT_LISTENER,c)},Gc[Fc]=Ic,Gc.addEventListener(Fc,Ic));case 242:return a.abrupt("return",null);case 243:if(Jc=(0,i.default)(d,3),Kc=Jc[0],Lc=Jc[1],Mc=Jc[2],Nc=this.tracks.get(Kc),!Nc){a.next=254;break}if(Nc.pendingEvents||(Nc.pendingEvents=new Map),Nc.eventPromises||(Nc.eventPromises=new Map),!Nc.pendingEvents.has(Lc)){a.next=252;break}return a.next=248,this.getPendingEvent(Nc,Lc);case 248:Oc=a.sent,this.sendEvent(n.ADD_TRACK_EVENT_LISTENER,c,Oc),a.next=253;break;case 252:Nc[Lc]||(Pc=function(a){if(Object.values(r).includes(Lc)){var b={trackId:Kc,eventName:a.type,type:"proxy"};b&&e.processPendingEvents(Nc,a,b,n.ADD_TRACK_EVENT_LISTENER,c)}else e.logger.warn("Ignored event: "+JSON.stringify(a))},Nc[Lc]=Pc,Nc.addEventListener(Lc,Pc,Mc));case 253:return a.abrupt("return",null);case 254:return a.abrupt("return",{});case 255:return Qc=(0,i.default)(d,2),Rc=Qc[0],Sc=Qc[1],a.next=260,this.getWorker(Rc);case 260:if(Tc=a.sent,Tc.pendingEvents||(Tc.pendingEvents=new Map),Tc.eventPromises||(Tc.eventPromises=new Map),!Tc.pendingEvents.has(Sc)){a.next=268;break}return a.next=264,this.getPendingEvent(Tc,Sc);case 264:Uc=a.sent,this.sendEvent(n.ADD_WORKER_EVENT_LISTENER,c,Uc),a.next=269;break;case 268:Tc[Sc]||(Vc=function(a){if(e.logger.debug("Received event: ",a),Object.values(u).includes(Sc)){var b={wId:Rc,eventName:a.type,type:"proxy",data:a.data};b&&e.processPendingEvents(Tc,a,b,n.ADD_WORKER_EVENT_LISTENER,c)}else e.logger.warn("Ignored event: "+JSON.stringify(a),a)},Tc[Sc]=Vc,Tc.addEventListener(Sc,Vc));case 269:return a.abrupt("return",null);case 270:if(Wc=(0,i.default)(d,3),Xc=Wc[0],Yc=Wc[1],Zc=Wc[2],$c=this.dtmfSenders.get(Xc),$c.pendingEvents||($c.pendingEvents=new Map),$c.eventPromises||($c.eventPromises=new Map),!$c.pendingEvents.has(Yc)){a.next=278;break}return a.next=274,this.getPendingEvent($c,Yc);case 274:_c=a.sent,this.sendEvent(n.ADD_DTMF_EVENT_LISTENER,c,_c),a.next=279;break;case 278:$c[Yc]||(ad=function(a){if(Object.values(t).includes(Yc)){var b={dtmfId:Xc,eventName:a.type,type:a.type,tone:a.tone};e.processPendingEvents($c,a,b,n.ADD_DTMF_EVENT_LISTENER,c)}else e.logger.warn("Ignored event: "+JSON.stringify(a))},$c[Yc]=ad,$c.addEventListener(Yc,ad,Zc));case 279:return a.abrupt("return",null);case 280:if(bd=(0,i.default)(d,2),cd=bd[0],dd=bd[1],"audio"===dd.kind||"video"===dd.kind){a.next=283;break}return a.abrupt("return",(this.logger.warn("Invalid media type: "+JSON.stringify(dd)),null));case 283:return ed=document.createElement(dd.kind),a.abrupt("return",(Object.assign(ed,dd),document.body.appendChild(ed),this.mediaElements.set(cd,ed),{id:cd,sinkId:ed.sinkId}));case 285:if(fd=(0,i.default)(d,2),gd=fd[0],hd=fd[1],id=this.mediaElements.get(gd),!id){a.next=290;break}return a.next=289,id.setSinkId(hd);case 289:return a.abrupt("return",{id:gd,sinkId:id.sinkId});case 290:return a.abrupt("return",{});case 291:return jd=(0,i.default)(d,2),kd=jd[0],ld=jd[1],md=ld?this.getStream(ld.id):null,a.abrupt("return",(this.mediaElements.has(kd)&&(this.mediaElements.get(kd).srcObject=md),{}));case 293:return nd=(0,i.default)(d,2),od=nd[0],pd=nd[1],a.abrupt("return",(this.mediaElements.has(od)&&(this.mediaElements.get(od).muted=pd),{id:od,muted:pd}));case 295:return qd=(0,i.default)(d,2),rd=qd[0],sd=qd[1],td=this.mediaElements.get(rd),a.abrupt("return",(td&&(td.hidden=sd),{}));case 297:return ud=(0,i.default)(d,2),vd=ud[0],wd=ud[1],a.abrupt("return",(this.mediaElements.has(vd)&&(this.mediaElements.get(vd).volume=wd),{}));case 299:return xd=(0,i.default)(d,1),yd=xd[0],a.abrupt("return",(this.mediaElements.has(yd)&&this.mediaElements.get(yd).play(),{}));case 301:return zd=(0,i.default)(d,1),Ad=zd[0],a.abrupt("return",(this.mediaElements.has(Ad)&&this.mediaElements.get(Ad).pause(),{}));case 303:return Bd=(0,i.default)(d,1),Cd=Bd[0],a.abrupt("return",(this.mediaElements.has(Cd)&&(this.mediaElements.get(Cd).remove(),this.mediaElements.delete(Cd)),{}));case 305:return Dd=(0,i.default)(d,2),Ed=Dd[0],Fd=Dd[1],Gd=this.tracks.get(Ed),a.abrupt("return",Gd?(Gd.enabled=Fd,this.makeTrackTO(Gd)):{});case 307:return Hd=(0,i.default)(d,1),Id=Hd[0],Jd=this.tracks.get(Id),a.abrupt("return",(Jd&&(Jd.stop(),this.tracks.delete(Id)),{}));case 309:return Kd=(0,i.default)(d,1),Ld=Kd[0],Md=this.tracks.get(Ld),a.abrupt("return",Md?Md.getSettings():{});case 311:if(Nd=(0,i.default)(d,2),Od=Nd[0],Pd=Nd[1],!this.senders.has(Od)){a.next=315;break}return Qd=this.senders.get(Od).createEncodedStreams(),a.abrupt("return",(this.streams.set(Pd.id,Qd),this.streams.set(Pd.readable.id,Qd.readable),this.streams.set(Pd.writable.id,Qd.writable),Pd));case 315:return a.abrupt("return",{});case 316:if(Rd=(0,i.default)(d,2),Sd=Rd[0],Td=Rd[1],!this.receivers.has(Sd)){a.next=320;break}return Ud=this.receivers.get(Sd).createEncodedStreams(),a.abrupt("return",(this.streams.set(Td.id,Ud),this.streams.set(Td.readable.id,Ud.readable),this.streams.set(Td.writable.id,Ud.writable),Td));case 320:return a.abrupt("return",{});case 321:return Vd=(0,i.default)(d,1),Wd=Vd[0],a.abrupt("return",(Wd.pcIds.forEach(function(a){e.closePeerConnection(a)}),Wd.streamIds.forEach(function(a){var b=e.streams.get(a);b&&("function"==typeof b.getTracks&&b.getTracks().forEach(function(a){a.stop()}),e.streams.delete(a))}),Wd.trackIds.forEach(function(a){e.tracks.delete(a)}),Wd.workerIds.forEach(function(a){var b=e.workers.get(a);b&&b.terminate(),e.workers.delete(a)}),Wd.mediaElementIds.forEach(function(a){var b=e.mediaElements.get(a);b&&(b.remove(),e.mediaElements.delete(a))}),Wd.transceiverIds.forEach(function(a){e.transceivers.delete(a)}),Wd.senderIds.forEach(function(a){e.senders.delete(a)}),Wd.receiverIds.forEach(function(a){e.receivers.delete(a)}),{}));case 323:return a.abrupt("return",null);case 324:case"end":return a.stop()}},a,this)}));return a}()},{key:"sendMessage",value:function(a){this.logger.debug("Sending message: "+JSON.stringify(a));var b=a.message,c=D.deflateRaw(JSON.stringify(b));a.message=c;var d=(new TextEncoder).encode(JSON.stringify(a)),e=d.byteLength,f=new Uint8Array([e,e>>8,e>>16,e>>24]);this.channel.sendMessage(f),this.channel.sendMessage(d)}},{key:"sendEvent",value:function(a,b,c){var d={requestId:b,type:"event",message:{api:a,event:c}};this.sendMessage(d)}},{key:"sendResponse",value:function(a,b,c){var d={requestId:b,type:"response",message:{api:a,response:c}};this.sendMessage(d)}},{key:"sendError",value:function(a,b,c){var d={requestId:b,type:"error",message:{api:a,error:c}};this.sendMessage(d)}},{key:"handleWebRTCApi",value:function(){function a(a){return b.apply(this,arguments)}var b=(0,m.default)(k.default.mark(function a(b){var c;return k.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,this.callWebRTCApi(b.message.api,b.requestId,b.message.args);case 3:c=a.sent,c&&this.sendResponse(b.message.api,b.requestId,c),a.next=10;break;case 7:a.prev=7,a.t0=a.catch(0),this.logger.error("Error handling WebRTC API: "+JSON.stringify(b)+", message: "+(a.t0.message?a.t0.message:"(no message)")+", error: "+JSON.stringify(a.t0)),this.logger.trace(a.t0),this.sendError(b.message.api,b.requestId,{name:a.t0.name,message:a.t0.message});case 10:case"end":return a.stop()}},a,this,[[0,7]])}));return a}()},{key:"processPendingEvents",value:function(a,b,c,d,e){if(a.pendingEvents.has(b.type)){a.pendingEvents.get(b.type).push(c);var f=a.eventPromises.get(b.type);f&&f.forEach(function(a){a.resolve(c)})}else this.sendEvent(d,e,c),a.pendingEvents.set(b.type,[])}},{key:"handleMessage",value:function(a){var b=a.message,c=D.inflateRaw(b),d=this.decoder.decode(c);a.message=JSON.parse(d),a.message.api&&a.requestId&&a.message.args?this.handleWebRTCApi(a):(this.logger.error("Invalid message format: "+JSON.stringify(a)),this.logger.trace(a))}},{key:"onClose",value:function(a){this.logger.info("WebRTC redir custom channel closed: "+JSON.stringify(a)+'"'),this.release()}},{key:"release",value:function(){var a=this;this.streams.forEach(function(a){a.getTracks().forEach(function(a){a.stop()})}),this.mediaElements.forEach(function(a){a.remove()}),this.pcs.forEach(function(b,c){a.closePeerConnection(c)}),this.certs.clear()}}]),a}()})}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"babel-runtime/helpers/asyncToGenerator":14,"babel-runtime/helpers/classCallCheck":15,"babel-runtime/helpers/createClass":16,"babel-runtime/helpers/slicedToArray":20,"babel-runtime/helpers/toArray":21,"babel-runtime/helpers/typeof":22,"babel-runtime/regenerator":25}],2:[function(a,b,c){(function(a){(function(){var d={scope:{},getGlobal:function(b){return"undefined"!=typeof window&&window===b?b:void 0!==a?a:b}};d.global=d.getGlobal(this),d.initSymbol=function(){d.global.Symbol||(d.global.Symbol=d.Symbol),d.initSymbol=function(){}},d.symbolCounter_=0,d.Symbol=function(a){return"jscomp_symbol_"+a+d.symbolCounter_++},d.initSymbolIterator=function(){d.initSymbol(),d.global.Symbol.iterator||(d.global.Symbol.iterator=d.global.Symbol("iterator")),d.initSymbolIterator=function(){}},d.makeIterator=function(a){if(d.initSymbolIterator(),a[d.global.Symbol.iterator])return a[d.global.Symbol.iterator]();var b=0;return{next:function(){return b==a.length?{done:!0}:{done:!1,value:a[b++]}}}},d.arrayFromIterator=function(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c},d.arrayFromIterable=function(a){return a instanceof Array?a:d.arrayFromIterator(d.makeIterator(a))},d.inherits=function(a,b){function c(){}c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a;for(var e in b)if(d.global.Object.defineProperties){var f=d.global.Object.getOwnPropertyDescriptor(b,e);f&&d.global.Object.defineProperty(a,e,f)}else a[e]=b[e]},d.array=d.array||{},d.array.done_=function(){return{done:!0,value:void 0}},d.array.arrayIterator_=function(a,b){a instanceof String&&(a=String(a));var c=0;d.initSymbol(),d.initSymbolIterator();var e={},f=(e.next=function(){if(cb;)--c in this?this[--a]=this[c]:delete this[a];return this},d.array.copyWithin$install=function(){Array.prototype.copyWithin||(Array.prototype.copyWithin=d.array.copyWithin)},d.array.fill=function(a,b,c){for(null!=c&&a.length||(c=this.length||0),c=Number(c),b=Number((void 0===b?0:b)||0);b>>0))return 32;var b=0;return 0==(4294901760&a)&&(a<<=16,b+=16),0==(4278190080&a)&&(a<<=8,b+=8),0==(4026531840&a)&&(a<<=4,b+=4),0==(3221225472&a)&&(a<<=2,b+=2),0==(2147483648&a)&&b++,b},d.math.imul=function(a,b){a=Number(a),b=Number(b);var c=65535&a,d=65535&b;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0},d.math.sign=function(a){return a=Number(a),0===a||isNaN(a)?a:0(a=Number(a))&&-.25(a=Number(a))&&-.25a?-b:b},d.math.acosh=function(a){return a=Number(a),Math.log(a+Math.sqrt(a*a-1))},d.math.asinh=function(a){if(0===(a=Number(a)))return a;var b=Math.log(Math.abs(a)+Math.sqrt(a*a+1));return 0>a?-b:b},d.math.atanh=function(a){return a=Number(a),(d.math.log1p(a)-d.math.log1p(-a))/2},d.math.hypot=function(a,b,c){for(var e=[],f=2;fg){for(a/=g,b/=g,h=a*a+b*b,e=d.makeIterator(e),f=e.next();!f.done;f=e.next())f=f.value,f=Number(f)/g,h+=f*f;return Math.sqrt(h)*g}for(g=a*a+b*b,e=d.makeIterator(e),f=e.next();!f.done;f=e.next())f=f.value,f=Number(f),g+=f*f;return Math.sqrt(g)},d.math.trunc=function(a){if(a=Number(a),isNaN(a)||1/0===a||-1/0===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b},d.math.cbrt=function(a){if(0===a)return a;a=Number(a);var b=Math.pow(Math.abs(a),1/3);return 0>a?-b:b},d.number=d.number||{},d.number.isFinite=function(a){return"number"==typeof a&&(!isNaN(a)&&1/0!==a&&-1/0!==a)},d.number.isInteger=function(a){return!!d.number.isFinite(a)&&a===Math.floor(a)},d.number.isNaN=function(a){return"number"==typeof a&&isNaN(a)},d.number.isSafeInteger=function(a){return d.number.isInteger(a)&&Math.abs(a)<=d.number.MAX_SAFE_INTEGER},d.number.EPSILON=Math.pow(2,-52),d.number.MAX_SAFE_INTEGER=9007199254740991,d.number.MIN_SAFE_INTEGER=-9007199254740991,d.object=d.object||{},d.object.assign=function(a,b){for(var c=[],e=1;e(e=+e)||1114111=e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(e>>>10&1023|55296),c+=String.fromCharCode(1023&e|56320))}return c},d.string.repeat=function(a){var b=this.toString();if(0>a||1342177279>>=1)&&(b+=b);return c},d.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=d.string.repeat)},d.string.codePointAt=function(a){var b=this.toString(),c=b.length;if(0<=(a=Number(a)||0)&&ad||56319a||57343=f},d.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=d.string.startsWith)},d.string.endsWith=function(a,b){d.string.noRegExp_(a,"endsWith");var c=this.toString();a+="",void 0===b&&(b=c.length);for(var e=Math.max(0,Math.min(0|b,c.length)),f=a.length;0=f},d.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=d.string.endsWith)},function(a,d){"object"==typeof c&&"object"==typeof b?b.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof c?c.CitrixWebRTC=d():a.CitrixWebRTC=d()}(self,function(){return function(){function a(d){var e=c[d];return void 0!==e?e.exports:(e=c[d]={exports:{}},b[d].call(e.exports,e,e.exports,a),e.exports)}var b={945:function(a,b,c){var d=this&&this.__extends||function(){var a=function(b,c){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])})(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c),b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();Object.defineProperty(b,"__esModule",{value:!0}),b.AudioElement=void 0;var e,f=c(658),g=c(550),h=c(851),i=c(946);!function(a){a.Init="Init",a.PlayStarted="PlayStarted",a.PauseCalled="PauseCalled"}(e||(e={})),a=function(a){function b(){var b=a.call(this,null,g.class_id_t.AudioElement,0,f.ProxyMode.Local)||this;return b.sinkId_="",b.srcObject_=null,b.loop_=!1,b.notiState=e.Init,b}return d(b,a),b.prototype.setSinkId=function(a){var b=this;return h.logger.log(this.user_friendly_id()+".setSinkId: set sinkId to "+a),new Promise(function(c,d){b.waitUntilConnected("AudioElement.sinkId").then(function(){var d=b.remoteInvoke(!0,g.method_id_AudioElement_t.sinkId,a);return i.getRedirector().getFeatureValue(g.FEATURE_ms_teams_pstn)||(b.sinkId_=a,c()),d}).then(function(){h.logger.log(b.user_friendly_id()+".setSinkId: success! resolving..."),b.sinkId_=a,c()}).catch(function(a){a=b.logRemoteInvokeError(a,".sinkId setter: failed to connect!"),d(a)})})},Object.defineProperty(b.prototype,"sinkId",{get:function(){return this.sinkId_},set:function(a){this.setSinkId(a)},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"srcObject",{get:function(){return this.srcObject_},set:function(a){var b=this;h.logger.log(this.user_friendly_id()+".srcObject: set srcObject to "+JSON.stringify(a)),a!==this.srcObject_&&(this.srcObject_=a,this.waitUntilConnected("AudioElement.srcObject").then(function(){return a.syncBarrier()}).then(function(a){return h.logger.log(b.user_friendly_id()+".srcObject: set srcObject to s "+JSON.stringify(a)),b.remoteInvoke(!0,g.method_id_AudioElement_t.srcObject,null!==a&&void 0!==a?a.id:"null")}).then(function(){h.logger.log(b.user_friendly_id()+".srcObject setter: remote success!")}).catch(function(a){b.logRemoteInvokeError(a,".srcObject setter: failed to connect!")}))},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"src",{get:function(){return this.src_},set:function(a){var b=this;h.logger.log(this.user_friendly_id()+".src: set src to "+a),this.src_=a,this.waitUntilConnected("AudioElement.src").then(function(){b.remoteInvoke(!0,g.method_id_AudioElement_t.src,a)}).catch(function(a){b.logRemoteInvokeError(a,".src setter: failed to connect!")})},enumerable:!1,configurable:!0}),b.prototype.play=function(){var a=this;return h.logger.log(this.user_friendly_id()+".play() called."),this.toggleAudio(!0),new Promise(function(b,c){a.waitUntilConnected("AudioElement.play").then(function(){return a.remoteInvoke(!1,g.method_id_AudioElement_t.play)}).then(function(){b()}).catch(function(b){a.logRemoteInvokeError(b,".play: failed to connect!"),c(b)})})},b.prototype.playEx=function(a,b,c){var d=this;h.logger.log(this.user_friendly_id()+".playEx() src:"+a+" sinkId:"+b+" loop:"+c),this.notiState=e.PlayStarted, this.waitUntilConnected("AudioElement.playEx").then(function(){var a=[];return b&&a.push(d.setSinkId(b)),void 0!==c&&null!==c&&(d.loop_=c,a.push(d.remoteInvoke(!0,g.method_id_AudioElement_t.loop,c))),Promise.all(a)}).then(function(){return d.src_=a,d.remoteInvoke(!0,g.method_id_AudioElement_t.src,a)}).then(function(){return d.play()}).then(function(){if(d.notiState==e.PauseCalled)return h.logger.log(d.user_friendly_id()+".playEx() run deferred pause"),d.doPauseAndDispose()}).then(function(){d.notiState=e.Init,h.logger.log(d.user_friendly_id()+".playEx() done")}).catch(function(a){d.notiState=e.Init,d.logRemoteInvokeError(a,".playEx() failed!")})},b.prototype.pause=function(){var a=this;return h.logger.log(this.user_friendly_id()+".pause() called."),this.toggleAudio(!1),new Promise(function(b,c){a.waitUntilConnected("AudioElement.pause").then(function(){return a.remoteInvoke(!1,g.method_id_AudioElement_t.pause)}).then(function(){b()}).catch(function(b){a.logRemoteInvokeError(b,".pause: failed!"),c()})})},b.prototype.doPauseAndDispose=function(){var a=this;return h.logger.log(this.user_friendly_id()+".doPauseAndDispose() called."),this.toggleAudio(!1),new Promise(function(b,c){a.waitUntilConnected("AudioElement.doPauseAndDispose").then(function(){return a.remoteInvoke(!1,g.method_id_AudioElement_t.pause,[])}).then(function(){h.logger.log(a.user_friendly_id()+".doPauseAndDispose() resolving..."),b(),a.dispose()}).catch(function(b){a.logRemoteInvokeError(b,".doPauseAndDispose: failed to connect!")})})},b.prototype.pauseAndDispose=function(){this.notiState==e.PlayStarted?(h.logger.log(this.user_friendly_id()+".pauseAndDispose() deferred"),this.notiState=e.PauseCalled):this.doPauseAndDispose()},b.prototype.toggleAudio=function(a){this.srcObject_&&(h.logger.log(this.user_friendly_id()+".toggleAudio() toggle audio tracks:"+a),this.srcObject_.toggleAudio(a))},Object.defineProperty(b.prototype,"loop",{get:function(){return this.loop_},set:function(a){var b=this;h.logger.log(this.user_friendly_id()+".loop: set loop to "+a),this.loop_=a,this.waitUntilConnected("AudioElement.loop").then(function(){b.remoteInvoke(!0,g.method_id_AudioElement_t.loop,a)}).catch(function(a){b.logRemoteInvokeError(a,".loop setter: failed to connect!")})},enumerable:!1,configurable:!0}),b.prototype.dispose=function(){h.logger.log(this.user_friendly_id()+".dispose()"),this.src_=this.sinkId_="",this.srcObject_=null,this.loop_=!1,this.release()},b}(f.ProxyObject),b.AudioElement=a},239:function(a,b,c){b.E=void 0;var d=c(945),e=c(851),f=function(){function a(){this.sinkId=void 0,this.src="",this.loop=void 0,this.element=null}return a.prototype.getSrc=function(){return this.src},a.prototype.setSinkId=function(a){this.sinkId=a},a.prototype.getLoop=function(){return!0===this.loop},a.prototype.setLoop=function(a){this.loop=a},a.prototype.play=function(a){this.element=new d.AudioElement,this.src=a,this.element.playEx(this.src,this.sinkId,this.loop)},a.prototype.pause=function(){this.element&&(this.element.pauseAndDispose(),this.element=null)},a.prototype.release=function(){this.element&&(this.element.dispose(),this.element=null)},a}();a=function(){function a(){this.audioIdMap=null,this.audioIdMap=new Map}return a.prototype.getNotificationInfo=function(a){if(this.audioIdMap.has(a))return this.audioIdMap.get(a);var b=new f;return this.audioIdMap.set(a,b),b},a.prototype.playNotifyAudio=function(a,b){b&&(e.logger.log("AudioNotification.playNotifyAudio, Remote to Thin Client audioId:"+a+" src:"+b),this.getNotificationInfo(a).play(b))},a.prototype.pauseNotifyAudio=function(a,b){if(this.audioIdMap.has(a)){var c=this.audioIdMap.get(a);b&&b!=c.getSrc()&&e.logger.log("AudioNotification.pauseNotifyAudio warning: for audioId:"+a+", different param src:"+b+" from org src:"+c.getSrc()),c.pause()}else e.logger.log("AudioNotification.pauseNotifyAudio no audioId:"+a+" src:"+b)},a.prototype.setSinkId=function(a,b){if(null!=b&&b.startsWith("speaker:")){e.logger.log("AudioNotification.setSinkId before parsing audioId:"+a+" sinkId:"+b);var c=b.slice(8);e.logger.log("AudioNotification.setSinkId after parsing audioId:"+a+" speakersinkId:"+c),b=c}this.getNotificationInfo(a).setSinkId(b)},a.prototype.getLoop=function(a){return this.getNotificationInfo(a).getLoop()},a.prototype.setLoop=function(a,b){this.getNotificationInfo(a).setLoop(b)},a.prototype.release=function(){this.audioIdMap.forEach(function(a,b,c){a.release()}),this.audioIdMap.clear()},a}(),b.E=a},613:function(a,b,c){var d=this&&this.__extends||function(){var a=function(b,c){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])})(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c),b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();Object.defineProperty(b,"__esModule",{value:!0}),b.E911Service=void 0;var e=c(550),f=c(658),g=c(851);a=function(a){function b(){var b=a.call(this,null,e.class_id_t.E911Service,0,f.ProxyMode.Local)||this;return b.preE911Info_=null,b}return d(b,a),b.prototype.isSameInfo=function(a){if(null==this.preE911Info_&&null!=a||null!=this.preE911Info_&&null==a||this.preE911Info_.e911.length!=a.e911.length||this.preE911Info_.bssid!=a.bssid||this.preE911Info_.ipv4!=a.ipv4||this.preE911Info_.subnetLengthIpv4!=a.subnetLengthIpv4||this.preE911Info_.ipv6!=a.ipv6||this.preE911Info_.subnetLengthIpv6!=a.subnetLengthIpv6||this.preE911Info_.mac!=a.mac||1e-4<=Math.abs(this.preE911Info_.latitude-a.latitude)||1e-4<=Math.abs(this.preE911Info_.longitude-a.longitude))return!1;for(var b=0;bb.x&&a.yb.y},a.prototype.intersectingRect=function(a,b){var c=Math.max(a.left,b.left),d=Math.max(a.top,b.top);return new DOMRect(c,d,Math.min(a.right,b.right)-c,Math.min(a.bottom,b.bottom)-d)},a.prototype.pedigreeCount=function(a,b){for(var c=0,d=a.parentElement;null!=d&&d!=b;)c++,d=d.parentElement;return{isAncestor:null!=d,pedigree:c}},a.prototype.selectTopmost=function(a,b){var c=this.getBoundingClientRect(a),d=this.getBoundingClientRect(b),c=this.intersectingRect(c,d),d=a.ownerDocument.elementFromPoint(c.left+c.width/2,c.top+c.height/2);if(d==a)return a;if(d==b)return b;if(c=this.pedigreeCount(a,d),d=this.pedigreeCount(b,d),c.isAncestor&&d.isAncestor){if(c.pedigree=a?d():setTimeout(function(){f.logger.log("waitUntilRedirected() timeout. count="+a),b.status!=l.Redirected?b.waitUntilRedirected(--a).then(function(){c()}).catch(function(){d()}):c()},2e3)})},a.prototype.handleRemoteSessionInfo=function(){var a=this;f.logger.log("handleRemoteSessionInfo called.");var b=this;b.remoteSessionInfoCb?b.remoteSessionInfoCb().then(function(c){f.logger.log("remoteSessionInfo success! info:"+JSON.stringify(c)),f.logger.log("Redirection status: Redirected"),b.status=l.Redirected,b.pingConnectionEnd(),(c=window.onVdiClientConnected)&&c(),a.telemetry.SendTelemetryInit(),b.onRedirectionComplete()}).catch(function(){f.logger.log("remoteSessionInfo failure!"),b.suspendRedirection(!0),b.onRedirectionComplete()}):(f.logger.log("remoteSessionInfoCb is invalid!"),b.suspendRedirection(!0),b.onRedirectionComplete())},a.prototype.startRedirection=function(a,b){var c=this,d=window.onVdiClientDisconnected;return new Promise(function(g,h){c.status!=l.Redirected?(f.logger.log("Attempting to start redirection: "+b),!1===a?c.deferredActions.push(new e.deferred_action(g,h,b)):c.connectToService().then(function(a){f.logger.log("Redirection status: Binding..."),c.status=l.Binding,c.websocket=a,c.websocket.onmessage=function(a){c.onWSMessage(a)},c.websocket.onclose=function(a){c.onWSClose(a)},g(),c.handleRemoteSessionInfo()}).catch(function(a){f.logger.log("Unable to connect to websocket service! "+a),h(),c.suspendRedirection(!0),c.onRedirectionComplete(),d&&d(!0)})):(f.logger.log("Redirection already started."),g())})},a.prototype.terminateOptimization=function(){this.websocket.close(1e3,"normal disconnecting!")},a.prototype.suspendRedirection=function(a){var b=this;f.logger.log("Suspending redirection."),this.handlers_.forEach(function(a,b){a.reset()});var c=window.onVdiClientDisconnected;try{c&&c(!1)}catch(a){f.logger.log("suspendRedirection(): exception during vdiClientDisconnect: "+a.message)}f.logger.log("Redirection status: NotRedirected");var d=this.status;this.status=l.NotRedirected;var e,g=!1,c=window.getCitrixMSTeamsRedir,h=window.getCitrixWebrtcRedir;c?e=c:h&&(e=h),e&&e().then(function(c){f.logger.log("sucesss on disconnect"+c),"1"==c&&(g=!0,f.logger.log("Reg key exists while disconnecting")),a&&d===l.Redirected&&1==g&&(f.logger.log("Calling ping not normal disconnect"),b.pingConnectionBegin(!1))}).catch(function(){f.logger.log("Failure to Read MS Teams redir Reg Key, not retrying...")}),this.dispatchStateChangeNotifications()},a.prototype.onWSOpen=function(){},a.prototype.onWSClose=function(a){f.logger.log("disconnected from websocket service. "+JSON.stringify(a));try{a&&1e3==a.code?this.suspendRedirection(!1):this.suspendRedirection(!0)}catch(a){f.logger.log("suspendRedirection(): exception closing WebSocket: "+a.message)}},a.prototype.onWSError=function(){try{this.suspendRedirection(!0)}catch(a){f.logger.log("suspendRedirection(): exception on WebSocket error: "+a.message)}},a.prototype.WSSendObjectWrapper=function(a,b,c,d){var e=!0;b!=g.class_id_t.EngineControl||c!=g.method_id_EngineControl_t.ctor&&c!=g.method_id_EngineControl_t.version&&c!=g.method_id_EngineControl_t.feature_flags||(e=!1);var f=!0;if(e&&(f=!1,void 0!=this.features))for(var e=0,h=this.features;e>> "+g.WebrpcClassLibInfoUtil.composeClassInfoData(a)+" "+e);try{b.websocket.readyState==WebSocket.OPEN?b.websocket.send(e):(f.logger.log("WSSendObject(): warinig: web socket is not open, dropping the message!"),c({}))}catch(a){f.logger.log("WSSendObject(): exception: "+a.message),d(a.message)}}else if("overlay"==a.v){e=JSON.stringify(a),f.logger.log("HDXMS: SendOverlayData: >>> "+e+"'");try{b.websocket.readyState==WebSocket.OPEN?b.websocket.send(e):(f.logger.log("WSSendObject(): warinig: web socket is not open, dropping the message!"),c({}))}catch(a){f.logger.log("WSSendObject(): exception: "+a.message),d(a.message)}}else if("telemetry"==a.v){e=JSON.stringify(a),f.logger.log("HDXMS: SendTelemetryData: >>> "+e+"'");try{b.websocket.readyState==WebSocket.OPEN?b.websocket.send(e):(f.logger.log("WSSendObject(): warinig: web socket is not open, dropping the message!"),c({}))}catch(a){f.logger.log("WSSendObject(): exception: "+a.message),d(a.message)}}else if("appsharing"==a.v){e=JSON.stringify(a),f.logger.log("HDXMS: SendScreenSharingData: >>> "+e+"'");try{b.websocket.readyState==WebSocket.OPEN?b.websocket.send(e):(f.logger.log("WSSendObject(): warinig: web socket is not open, dropping the message!"),c({}))}catch(a){f.logger.log("WSSendObject(): exception: "+a.message),d(a.message)}}else f.logger.log("HDXMS: WSSendObject: Unknown protocol: '"+JSON.stringify(a)+"'")})},a.prototype.webrpcStatusCodeToName=function(a){switch(a){case d.rpc_status_success:a="rpc_status_success";break;case d.rpc_status_unspecified_error:a="rpc_status_unspecified_error";break;case d.rpc_status_unexpected:a="rpc_status_unexpected";break;case d.rpc_status_index_out_of_bounds:a="rpc_status_index_out_of_bounds";break;case d.rpc_status_missing_parameter:a="rpc_status_missing_parameter";break;case d.rpc_status_missing_return_value:a="rpc_status_missing_return_value";break;case d.rpc_status_invalid_object:a="rpc_status_invalid_object";break;case d.rpc_status_user_exception:a="rpc_status_user_exception";break;case d.rpc_status_system_error:a="rpc_status_system_error";break;default:a="unknown"}return a},a.prototype.parceWebrpcError=function(a,b){void 0===a&&(a=b&&0>16}),0<=a?(0==(65535&k)?this.cbs[a].resolve(b):(i=this.parceWebrpcError(i,b.params),this.cbs[a].reject(i)),1==this.cbs[a].oneShot&&(this.cbs[a].completion_cb?this.cbs[a].completion_cb(this.cbs[a].cbid,this.cbs[a].mid):f.logger.log("HDXMS didnt find completion_cb for oneShot callback, something went wrong!!!! cbid="+this.cbs[a].cbid+" (iid, mid)=("+this.cbs[a].iid,","+this.cbs[a].mid+")"))):(f.logger.log("HDXMS didnt find this one. (cbs)"),f.logger.log(JSON.stringify(this.cbs)))}else f.logger.log("HDXMS Received bogus message: "+a+"'")}else if("telemetry"==b.v)0==b.status&&2==(2147483647&(i=b.hdr.command))&&(a=b.hdr.id,this.telemetry.onInitialized(a),f.logger.log("Telemetry init response received"));else if("features"==b.v){if(a=b.features,"feature-support"==b.command)for(f.logger.log("features capabilities received, features:"+a),this.vdafeatures_=a,i=0;ih[0]&&c[1]a.BOUND_HIGH?a.DEF_MIN:b,this.max_=ca.BOUND_HIGH?a.DEF_MAX:c,this.interval_=da.BOUND_HIGH?a.DEF_INTERVAL:d,this.numbers_=new Map,this.numbers_.set(this.min_,this.max_)}return Object.defineProperty(a.prototype,"max",{get:function(){return this.max_},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"min",{get:function(){return this.min_},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"interval",{get:function(){return this.interval_},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"numbers",{get:function(){return this.numbers_},enumerable:!1,configurable:!0}),a.prototype.allocate=function(){var a=-1;if(0=a?(f.logger.log("ProxyObject.checkState() timeout waiting for connection response! failed. (iid: "+d.iid+" oid: "+d.oid+"name: "+c+")"),d.onConnected()):setTimeout(function(a,c){d.proxystate==n.Configured?d.onConnected():d.proxystate==n.Error?d.onConnected():d.proxystate==n.Destroyed?d.onConnected():d.checkState(--a,b,c)},b,a,c)},a.prototype.waitUntilConnected=function(a){var b=this;return new Promise(function(c,d){b?(f.logger.trace("ProxyObject.waitUntilConnected(): readyState="+b.proxystate+". (iid: "+b.iid+" oid: "+b.oid+")"),b.proxystate==n.Destroyed?(b.onConnected(),f.logger.trace("rejecting already destroyed Object:"+b.user_friendly_id()),d("Object already destroyed :"+b.user_friendly_id())):b.proxystate==n.Configured?(b.onConnected(),c()):b.proxystate==n.Error?(f.logger.trace("ProxyObject.waitUntilConnected(): readyState="+b.proxystate+". (iid: "+b.iid+" oid: "+b.oid+")"),b.onConnected(),d()):(f.logger.log('ProxyObject.waitUntilConnected(): deferring action "'+a+'". (iid: '+b.iid+" oid: "+b.oid+")"),b.deferredActions.push(new j(c,d,a)),b.checkState(600,25,a))):d("Invalid Object")})},a.prototype.remoteInvoke=function(a,b){for(var c=[],e=2;ee&&f.logger.log(this.user_friendly_id()+".registerCallbacks(). !!!! ran out of cbid !!!!"),b||(this.cbs.set(e,c),a.completion_cb=function(a,b){d.unregisterCallbacks(a)},this.hdxms.registerHandler(this.iid,this.oid,c,a)),a},a.prototype.unregisterCallbacks=function(a){this.cbs.has(a)?(this.hdxms.unregisterHandler(this.iid,this.oid,a),this.deallocate_cbid(a),this.cbs.delete(a)):f.logger.log(this.user_friendly_id()+".unregisterCallbacks(). mid="+this.cbs.get(a)+" cbid="+a+" Cant find callback handler registration!!!!")},a.prototype.clearCallbacks=function(){f.logger.log(this.user_friendly_id()+".clearCallbacks().");for(var a=0,b=Array.from(this.cbs.keys());ah[0]&&c[1]>a/4).toString(16)})},b.prototype.dumpInfo=function(){k.logger.log(this.user_friendly_id()+".dumpInfo() [id="+this.id+"] active="+this.active_+" num tracks="+this.tracks_.length);for(var a=0,b=this.tracks_;ah[0]&&c[1]=a){R=!1,k.log("VDI Event: Reg Key not Updated after timer reported, Fallback");try{M({event:"vdiClientDisconnected",reason:"failure",msg:"Citrix Webrtc Redir Reg Key not Present"})}catch(a){k.log("onVMEvent(): exception: "+a.message)}}else{var b=window.getCitrixWebrtcRedir;void 0!==b?b().then(function(b){k.log("CitrixMSTeamsRedir reg value:"+b),"0"===b||"1"===b?(B(b),R=!1):(k.log("MS Teams Redir Reg key not updated - Start timer"),setTimeout(function(){k.log("Timer waiting for registry to be updated count :"+a),D(--a)},1e3))}).catch(function(){k.log("Failure to Read MS Teams redir Reg Key - Start timer"),setTimeout(function(){k.log("Timer waiting for registry to be updated count :"+a),D(--a)},1e3)}):(k.log("window.getCitrixWebrtcRedir() method is not available yet"),setTimeout(function(){k.log("Timer waiting for registry to be updated count :"+a),D(--a)},1e3))}}function E(){k.log("VDI : cleanup"),o.getRedirector().clearReqs(),h.NavigatorUserMedia.resetCapabilities(),K=J=H=null,L&&L.release(),Q&&Q.release(),Q=null,m.ScreenSharing.destroyInstance(),N&&(N.release(),N=null),O&&(O.release(),O=null),n().reset(),k.log("VDI : cleanup done")}function F(){return m.ScreenSharing.screenSharingInstance(function(){if(M)try{M({event:"vdiScreenTopologyChanged"})}catch(a){k.log("onVMEvent('vdiScreenTopologyChanged'): exception: "+a.message)}})}function G(a){if(!S)throw k.log("VDI Shim "+a+": throwing exception: not initialized!!"),new DOMException("UCSDK is not initialized!!!")}var H=null,I=h.NavigatorUserMedia.getCapabilities,J=null,K=null,L=null,M=null,N=null,O=null,P=!1,Q=void 0,R=!1,S=!1,T=void 0;return{Features:q,CitrixPeerConnection:g.PeerConnection,getUserMedia:function(a,b,c){G("getUserMedia"),w(),k.log("VDI Shim getUserMedia"),null!==H&&H.isValid()||(H=new h.NavigatorUserMedia);var d=h.RemoteMediaStreamConstraints.isConstraintsAudioDeviceIdEmpty(a),e=h.RemoteMediaStreamConstraints.isConstraintsVideoSourceIdEmpty(a);return d||e?new Promise(function(d,e){J.enumerateDevices().then(function(d){return H.webkitGetUserMedia(a,b,c)}).then(function(a){k.log("webkitGetUserMedia for default was resolved"),d(a)}).catch(function(a){k.log("getUserMedia() for default failed with error:"+JSON.stringify(a)),e()})}):H.webkitGetUserMedia(a,b,c)},getDisplayMedia:function(a){return G("getDisplayMedia"),w(),k.log("VDI Shim getDisplayMedia"),null!==J&&J.isValid()||(J=new h.RemoteDevices),J.getDisplayMedia(a)},enumerateDevices:function(){return G("enumerateDevices"),w(),k.log("VDI Shim enumerateDevices"),null!==J&&J.isValid()||(J=new h.RemoteDevices),J.enumerateDevices()},onWindowClose:function(a,c,d){G("onWindowClose"),k.log("VDI Shim onWindowClose: (handle: "+a+")"),o.getRedirector().getVDAFeatureValue(r)&&b(function(b){b.disposeFrame(a)})},setClientAreaOffset:function(a,b,d){G("setClientAreaOffset"),k.log("VDI setClientAreaOffset with xOffset = "+a+", yOffset = "+b+", windowHandle = "+d),w(),c(d,function(c){c.setClientAreaOffset(a,b)})},mapVideoElement:function(a,b){G("mapVideoElement"),k.log("VDI New Video Element Created, Creating Mapping to Thin Client DOM"),w(),c(b,function(b){b.newVideoElement(a)})},mapAudioElement:function(a){if(G("mapAudioElement"),k.log("VDI New Audio Element Created, Creating Mapping to VDA"),void 0!==a.remoteAudioElement)k.log("Audio element is already configured!");else{w(),delete a.remoteAudioElement,Object.defineProperty(a,"remoteAudioElement",{writable:!0,configurable:!0,value:null}),a.remoteAudioElement=new i.AudioElement,delete a.sinkId,Object.defineProperty(a,"sinkId",{configurable:!0,get:function(){return a.remoteAudioElement?a.remoteAudioElement.sinkId:void 0},set:function(b){k.log("VDI Shim set audio element SinkId value = "+b),a.setSinkId(b).then(function(){k.log("VDI Shim set audio element SinkId success")}).catch(function(){k.log("VDI Shim set audio element SinkId failure")})}});var b=a.remoteAudioElement.play;a.play=function(){return k.log("VDI Shim remote audio play"),b.apply(a.remoteAudioElement,arguments)};var c=a.remoteAudioElement.pause;a.pause=function(){return k.log("VDI Shim remote audio pause"),c.apply(a.remoteAudioElement,arguments)},a.setSinkId=function(b){k.log("VDI Shim set audio element SinkId value = "+b);var c,d=a.remoteAudioElement.setSinkId(b);return h.enumeratedDevices.forEach(function(a){b===a.deviceId&&(c=a.label)}),u(c),d},delete a.srcObject,Object.defineProperty(a,"srcObject",{configurable:!0,get:function(){return a.remoteAudioElement?a.remoteAudioElement.srcObject:void 0},set:function(b){k.log("VDI Shim set audio element srcObject "+JSON.stringify(b)),a.remoteAudioElement.srcObject=b}})}},disposeVideoElement:function(a,b){G("disposeVideoElement"),k.log("VDI Shim disposeVideoElement: "),d(b,function(b){b.disposeVideoElement(a)})},disposeAudioElement:function(a,b,c){G("disposeAudioElement"),k.log("VDI Shim disposeAudioElement: "),a&&(b=a.remoteAudioElement)&&(b.dispose(),a.remoteAudioElement=void 0)},setVMEventCallback:function(a){var b=this;M=a,o.getRedirector().isConnected()&&Q.getSessionInfo().then(function(a){return e(b,void 0,void 0,function(){return f(this,function(b){return k.log("VDI Shim onVdiClientConnected, client endpoint info:"+JSON.stringify(a)),v("vdiClientConnected",{version:a,endpointId:a.endpointId}),[2]})})}),k.log("VDI Event Callback Set")},playNotifyAudio:function(a,b){G("playNotifyAudio"),k.log("VDI Shim Audio playNotifyAudio audioId:"+a+" src:"+b),L&&L.playNotifyAudio(a,b)},stopNotifyAudio:function(a,b){G("stopNotifyAudio"),k.log("VDI Shim Audio pauseNotifyAudio audioId:"+a+" src:"+b),L&&L.pauseNotifyAudio(a,b)},setSinkId:function(a,b){G("setSinkId"),k.log("VDI Shim Audio setSinkId audioId:"+a+" sinkId:"+b),L&&L.setSinkId(a,b)},getLoop:function(a){G("getLoop");var b;return L&&(b=L.getLoop(a)),k.log("VDI Shim Audio getLoop audioId:"+a+" loop: "+b),b},setLoop:function(a,b){G("setLoop"),k.log("VDI Shim Audio setLoop audioId:"+a+" bool:"+b),L&&L.setLoop(a,b)},addClipRect:function(a,b){G("addClipRect"),k.log("VDI Adding Occlusion "+JSON.stringify(a)),c(b,function(b){b.addOcclusion(a)})},removeClipRect:function(a,b){G("removeClipRect"),k.log("VDI Removing Occlusion "+JSON.stringify(a)),c(b,function(b){b.removeOcclusion(a)})},initLog:function(a,b){k.setMSLogger(a,b),k.log("VDI init logger")},isFeatureOn:function(a){return G("isFeatureOn"),!!Q&&Q.isFeatureSupported(a)},onConnectionChange:function(a){G("onConnectionChange"),k.log("VDI : onConnectionChange to "+a),!1===a?k.log("Disconnecting from the VDA"):(k.log("Connecting to the VDA"),a=window.getCitrixWebrtcRedir,void 0!==a?a().then(function(a){k.log("Sucesss on connect, CitrixRedir reg value:"+a),"0"===a||"1"===a?B(a):(k.log("MS Teams Redir Reg key not updated yet"),C())}).catch(function(){k.log("Failure to Read MS Teams redir Reg Key"),C()}):(k.log("window.getCitrixWebrtcRedir() method is not available yet"),C()))},getScreensAsync:function(){G("getScreensAsync"),k.log("VDI Shim getScreensAsync"),w();var a=F();return a.getScreensAsync.apply(a,arguments)},getWindowsAsync:function(){G("getWindowsAsync"),k.log("VDI Shim getWindowsAsync"),w();var a=F();return a.getWindowsAsync.apply(a,arguments)},setScreenSharePanelId:function(a){G("setScreenSharePanelId"),k.log("VDI: setScreenSharePanelId set to "+JSON.stringify(a)),w(),null!==J&&J.isValid()||(J=new h.RemoteDevices),J.panelid=a},setCodecCapabilities:function(a){return G("setCodecCapabilities"),w(),k.log("VDI Shim setCodecCapabilities"),null!==H&&H.isValid()||(H=new h.NavigatorUserMedia),H.setCodecCapabilities(a)},getE911Data:function(){return G("getE911Data"),N?N.getE911Info():null},createMediaStream:function(b){return G("createMediaStream"),k.log("VDI Shim createMediaStream"),a(b,!1)},createMediaStreamAsync:function(b){return G("createMediaStreamAsync"),k.log("VDI Shim createMediaStreamAsync"),a(b,!0)},disposeMediaStream:function(a){G("disposeMediaStream"),k.log("VDI Shim disposeMediaStream: ");for(var b=0;b=0,f=e&&d.regeneratorRuntime;if(d.regeneratorRuntime=void 0,b.exports=a("./runtime"),e)d.regeneratorRuntime=f;else try{delete d.regeneratorRuntime}catch(a){d.regeneratorRuntime=void 0}},{"./runtime":24}],24:[function(a,b,c){!function(a){"use strict";function c(a,b,c,d){var f=b&&b.prototype instanceof e?b:e,g=Object.create(f.prototype),h=new n(d||[]);return g._invoke=j(a,c,h),g}function d(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function e(){}function f(){}function g(){}function h(a){["next","throw","return"].forEach(function(b){a[b]=function(a){return this._invoke(b,a)}})}function i(a){function b(c,e,f,g){var h=d(a[c],a,e);if("throw"!==h.type){var i=h.arg,j=i.value;return j&&"object"==typeof j&&s.call(j,"__await")?Promise.resolve(j.__await).then(function(a){b("next",a,f,g)},function(a){b("throw",a,f,g)}):Promise.resolve(j).then(function(a){i.value=a,f(i)},g)}g(h.arg)}function c(a,c){function d(){return new Promise(function(d,e){b(a,c,d,e)})}return e=e?e.then(d,d):d()}var e;this._invoke=c}function j(a,b,c){var e=z;return function(f,g){if(e===B)throw new Error("Generator is already running");if(e===C){if("throw"===f)throw g;return p()}for(c.method=f,c.arg=g;;){var h=c.delegate;if(h){var i=k(h,c);if(i){if(i===D)continue;return i}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if(e===z)throw e=C,c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);e=B;var j=d(a,b,c);if("normal"===j.type){if(e=c.done?C:A,j.arg===D)continue;return{value:j.arg,done:c.done}}"throw"===j.type&&(e=C,c.method="throw",c.arg=j.arg)}}}function k(a,b){var c=a.iterator[b.method];if(c===q){if(b.delegate=null,"throw"===b.method){if(a.iterator.return&&(b.method="return",b.arg=q,k(a,b),"throw"===b.method))return D;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return D}var e=d(c,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,D;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=q),b.delegate=null,D):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,D)}function l(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function m(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function n(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(l,this),this.reset(!0)}function o(a){if(a){var b=a[u];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c=0;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=s.call(e,"catchLoc"),h=s.call(e,"finallyLoc");if(g&&h){if(this.prev=0;--c){var d=this.tryEntries[c];if(d.tryLoc<=this.prev&&s.call(d,"finallyLoc")&&this.prev=0;--b){var c=this.tryEntries[b];if(c.finallyLoc===a)return this.complete(c.completion,c.afterLoc),m(c),D}},catch:function(a){for(var b=this.tryEntries.length-1;b>=0;--b){var c=this.tryEntries[b];if(c.tryLoc===a){var d=c.completion;if("throw"===d.type){var e=d.arg;m(c)}return e}}throw new Error("illegal catch attempt")},delegateYield:function(a,b,c){return this.delegate={iterator:o(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=q),D}}}(function(){return this}()||Function("return this")())},{}],25:[function(a,b,c){b.exports=a("regenerator-runtime")},{"regenerator-runtime":23}],26:[function(a,b,c){a("../../modules/es6.string.iterator"),a("../../modules/es6.array.from"),b.exports=a("../../modules/_core").Array.from},{"../../modules/_core":44,"../../modules/es6.array.from":114,"../../modules/es6.string.iterator":123}],27:[function(a,b,c){a("../modules/web.dom.iterable"),a("../modules/es6.string.iterator"),b.exports=a("../modules/core.get-iterator")},{"../modules/core.get-iterator":112,"../modules/es6.string.iterator":123,"../modules/web.dom.iterable":129}],28:[function(a,b,c){a("../modules/web.dom.iterable"),a("../modules/es6.string.iterator"),b.exports=a("../modules/core.is-iterable")},{"../modules/core.is-iterable":113,"../modules/es6.string.iterator":123,"../modules/web.dom.iterable":129}],29:[function(a,b,c){a("../../modules/es6.object.create");var d=a("../../modules/_core").Object;b.exports=function(a,b){return d.create(a,b)}},{"../../modules/_core":44,"../../modules/es6.object.create":116}],30:[function(a,b,c){a("../../modules/es6.object.define-property");var d=a("../../modules/_core").Object;b.exports=function(a,b,c){return d.defineProperty(a,b,c)}},{"../../modules/_core":44,"../../modules/es6.object.define-property":117}],31:[function(a,b,c){a("../../modules/es6.object.get-own-property-descriptor");var d=a("../../modules/_core").Object;b.exports=function(a,b){return d.getOwnPropertyDescriptor(a,b)}},{"../../modules/_core":44,"../../modules/es6.object.get-own-property-descriptor":118}],32:[function(a,b,c){a("../../modules/es6.object.get-prototype-of"),b.exports=a("../../modules/_core").Object.getPrototypeOf},{"../../modules/_core":44,"../../modules/es6.object.get-prototype-of":119}],33:[function(a,b,c){a("../../modules/es6.object.set-prototype-of"),b.exports=a("../../modules/_core").Object.setPrototypeOf},{"../../modules/_core":44,"../../modules/es6.object.set-prototype-of":120}],34:[function(a,b,c){a("../modules/es6.object.to-string"),a("../modules/es6.string.iterator"),a("../modules/web.dom.iterable"),a("../modules/es6.promise"),a("../modules/es7.promise.finally"),a("../modules/es7.promise.try"),b.exports=a("../modules/_core").Promise},{"../modules/_core":44,"../modules/es6.object.to-string":121,"../modules/es6.promise":122,"../modules/es6.string.iterator":123,"../modules/es7.promise.finally":125,"../modules/es7.promise.try":126,"../modules/web.dom.iterable":129}],35:[function(a,b,c){a("../../modules/es6.symbol"),a("../../modules/es6.object.to-string"),a("../../modules/es7.symbol.async-iterator"),a("../../modules/es7.symbol.observable"),b.exports=a("../../modules/_core").Symbol},{"../../modules/_core":44,"../../modules/es6.object.to-string":121,"../../modules/es6.symbol":124,"../../modules/es7.symbol.async-iterator":127,"../../modules/es7.symbol.observable":128}],36:[function(a,b,c){a("../../modules/es6.string.iterator"),a("../../modules/web.dom.iterable"),b.exports=a("../../modules/_wks-ext").f("iterator")},{"../../modules/_wks-ext":109,"../../modules/es6.string.iterator":123,"../../modules/web.dom.iterable":129}],37:[function(a,b,c){b.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},{}],38:[function(a,b,c){b.exports=function(){}},{}],39:[function(a,b,c){b.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},{}],40:[function(a,b,c){var d=a("./_is-object");b.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},{"./_is-object":64}],41:[function(a,b,c){var d=a("./_to-iobject"),e=a("./_to-length"),f=a("./_to-absolute-index");b.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},{"./_to-absolute-index":100,"./_to-iobject":102,"./_to-length":103}],42:[function(a,b,c){var d=a("./_cof"),e=a("./_wks")("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};b.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},{"./_cof":43,"./_wks":110}],43:[function(a,b,c){var d={}.toString;b.exports=function(a){return d.call(a).slice(8,-1)}},{}],44:[function(a,b,c){var d=b.exports={version:"2.6.12"};"number"==typeof __e&&(__e=d)},{}],45:[function(a,b,c){"use strict";var d=a("./_object-dp"),e=a("./_property-desc");b.exports=function(a,b,c){b in a?d.f(a,b,e(0,c)):a[b]=c}},{"./_object-dp":76,"./_property-desc":89}],46:[function(a,b,c){var d=a("./_a-function");b.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},{"./_a-function":37}],47:[function(a,b,c){b.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},{}],48:[function(a,b,c){b.exports=!a("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":53}],49:[function(a,b,c){var d=a("./_is-object"),e=a("./_global").document,f=d(e)&&d(e.createElement);b.exports=function(a){return f?e.createElement(a):{}}},{"./_global":55,"./_is-object":64}],50:[function(a,b,c){b.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],51:[function(a,b,c){var d=a("./_object-keys"),e=a("./_object-gops"),f=a("./_object-pie");b.exports=function(a){var b=d(a),c=e.f;if(c)for(var g,h=c(a),i=f.f,j=0;h.length>j;)i.call(a,g=h[j++])&&b.push(g);return b}},{"./_object-gops":81,"./_object-keys":84,"./_object-pie":85}],52:[function(a,b,c){var d=a("./_global"),e=a("./_core"),f=a("./_ctx"),g=a("./_hide"),h=a("./_has"),i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s.prototype,u=n?d:o?d[b]:(d[b]||{}).prototype;n&&(c=b);for(j in c)(k=!m&&u&&void 0!==u[j])&&h(s,j)||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b.prototype=a.prototype,b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,b.exports=i},{"./_core":44,"./_ctx":46,"./_global":55,"./_has":56,"./_hide":57}],53:[function(a,b,c){b.exports=function(a){try{return!!a()}catch(a){return!0}}},{}],54:[function(a,b,c){var d=a("./_ctx"),e=a("./_iter-call"),f=a("./_is-array-iter"),g=a("./_an-object"),h=a("./_to-length"),i=a("./core.get-iterator-method"),j={},k={},c=b.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};c.BREAK=j,c.RETURN=k},{"./_an-object":40,"./_ctx":46,"./_is-array-iter":62,"./_iter-call":65,"./_to-length":103,"./core.get-iterator-method":111}],55:[function(a,b,c){var d=b.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=d)},{}],56:[function(a,b,c){var d={}.hasOwnProperty;b.exports=function(a,b){return d.call(a,b)}},{}],57:[function(a,b,c){var d=a("./_object-dp"),e=a("./_property-desc");b.exports=a("./_descriptors")?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},{"./_descriptors":48,"./_object-dp":76,"./_property-desc":89}],58:[function(a,b,c){var d=a("./_global").document;b.exports=d&&d.documentElement},{"./_global":55}],59:[function(a,b,c){b.exports=!a("./_descriptors")&&!a("./_fails")(function(){return 7!=Object.defineProperty(a("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":48,"./_dom-create":49,"./_fails":53}],60:[function(a,b,c){b.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},{}],61:[function(a,b,c){var d=a("./_cof");b.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},{"./_cof":43}],62:[function(a,b,c){var d=a("./_iterators"),e=a("./_wks")("iterator"),f=Array.prototype;b.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},{"./_iterators":70,"./_wks":110}],63:[function(a,b,c){var d=a("./_cof");b.exports=Array.isArray||function(a){return"Array"==d(a)}},{"./_cof":43}],64:[function(a,b,c){b.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},{}],65:[function(a,b,c){var d=a("./_an-object");b.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},{"./_an-object":40}],66:[function(a,b,c){"use strict";var d=a("./_object-create"),e=a("./_property-desc"),f=a("./_set-to-string-tag"),g={};a("./_hide")(g,a("./_wks")("iterator"),function(){return this}),b.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},{"./_hide":57,"./_object-create":75,"./_property-desc":89,"./_set-to-string-tag":94,"./_wks":110}],67:[function(a,b,c){"use strict";var d=a("./_library"),e=a("./_export"),f=a("./_redefine"),g=a("./_hide"),h=a("./_iterators"),i=a("./_iter-create"),j=a("./_set-to-string-tag"),k=a("./_object-gpo"),l=a("./_wks")("iterator"),m=!([].keys&&"next"in[].keys()),n=function(){return this};b.exports=function(a,b,c,o,p,q,r){i(c,b,o);var s,t,u,v=function(a){if(!m&&a in z)return z[a];switch(a){case"keys":case"values":return function(){return new c(this,a)}}return function(){return new c(this,a)}},w=b+" Iterator",x="values"==p,y=!1,z=a.prototype,A=z[l]||z["@@iterator"]||p&&z[p],B=A||v(p),C=p?x?v("entries"):B:void 0,D="Array"==b?z.entries||A:A;if(D&&(u=k(D.call(new a)))!==Object.prototype&&u.next&&(j(u,w,!0),d||"function"==typeof u[l]||g(u,l,n)),x&&A&&"values"!==A.name&&(y=!0,B=function(){return A.call(this)}),d&&!r||!m&&!y&&z[l]||g(z,l,B),h[b]=B,h[w]=n,p)if(s={values:x?B:v("values"),keys:q?B:v("keys"),entries:C},r)for(t in s)t in z||f(z,t,s[t]);else e(e.P+e.F*(m||y),b,s);return s}},{"./_export":52,"./_hide":57,"./_iter-create":66,"./_iterators":70,"./_library":71,"./_object-gpo":82,"./_redefine":91,"./_set-to-string-tag":94,"./_wks":110}],68:[function(a,b,c){var d=a("./_wks")("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}b.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},{"./_wks":110}],69:[function(a,b,c){b.exports=function(a,b){return{value:b,done:!!a}}},{}],70:[function(a,b,c){b.exports={}},{}],71:[function(a,b,c){b.exports=!0},{}],72:[function(a,b,c){var d=a("./_uid")("meta"),e=a("./_is-object"),f=a("./_has"),g=a("./_object-dp").f,h=0,i=Object.isExtensible||function(){return!0},j=!a("./_fails")(function(){return i(Object.preventExtensions({}))}),k=function(a){g(a,d,{value:{i:"O"+ ++h,w:{}}})},l=function(a,b){if(!e(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!f(a,d)){if(!i(a))return"F";if(!b)return"E";k(a)}return a[d].i},m=function(a,b){if(!f(a,d)){if(!i(a))return!0;if(!b)return!1;k(a)}return a[d].w},n=function(a){return j&&o.NEED&&i(a)&&!f(a,d)&&k(a),a},o=b.exports={KEY:d,NEED:!1,fastKey:l,getWeak:m,onFreeze:n}},{"./_fails":53,"./_has":56,"./_is-object":64,"./_object-dp":76,"./_uid":106}],73:[function(a,b,c){var d=a("./_global"),e=a("./_task").set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==a("./_cof")(g);b.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(!f||d.navigator&&d.navigator.standalone)if(h&&h.resolve){var k=h.resolve(void 0);c=function(){k.then(j)}}else c=function(){e.call(d,j)};else{var l=!0,m=document.createTextNode("");new f(j).observe(m,{characterData:!0}),c=function(){m.data=l=!l}}return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},{"./_cof":43,"./_global":55,"./_task":99}],74:[function(a,b,c){"use strict";function d(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw TypeError("Bad Promise constructor");b=a,c=d}),this.resolve=e(b),this.reject=e(c)}var e=a("./_a-function");b.exports.f=function(a){return new d(a)}},{"./_a-function":37}],75:[function(a,b,c){var d=a("./_an-object"),e=a("./_object-dps"),f=a("./_enum-bug-keys"),g=a("./_shared-key")("IE_PROTO"),h=function(){},i=function(){var b,c=a("./_dom-create")("iframe"),d=f.length;for(c.style.display="none",a("./_html").appendChild(c),c.src="javascript:",b=c.contentWindow.document,b.open(),b.write("